1.准备软件
下载地址:
链接: https://pan.baidu.com/s/1PLUKrjNHio9EYDl9eCckXw 提取码: rhvr
2.软件用途
解压下载的压缩包, 有以上三个文件 baksmali-2.0.3.jar工具, 可将解压缩后apk目录下的classes.dex文件转为smali文件, 后面对源码的修改, 就是针对smali文件的修改 smali-2.0.3.jar工具, 可将smali文件重新转为classes.dex文件, 用重新生成的dex文件替换之前解压apk目录下的dex文件, 这样apk源码的修改就成功了 sign_tool目录下的signapk.jar是个签名工具, 替换了dex文件的apk要重新签名, 才能正常安装到手机
3.解压apk获取classes.dex文件
apk文件可通过zip工具直接解压, 或通过修改apk为压缩文件类型在通过zip解压工具解压
解压后的apk目录下, 有classes.dex文件, apk源码全部编译到了该文件
4.修改smali类型源码文件
但classes.dex文件是无法直接查看或修改的 我们需要将classes.dex文件转为smali类型的文件, 才能修改查看源码 步骤: 进入apk的解压目录下, 可以看到classes.dex 使用cmd命令转化dex文件为smali文件: java -jar baksmali-2.0.3.jar -x classes.dex 执行完后会在当前目录生成out目录, 可以在该目录找到与源码对应的smali文件
可以使用文本编辑工具, 修改smali文件, 推荐使用Notepad++修改smali类型文件
5.重新打包
smali源码文件修改完后, 需要重新打包回dex文件, 新的dex替换老的dex, 即可实现对apk的修改 在有out目录的同级目录下cmd命令: java -jar smali-2.0.3.jar -o classes.dex out 执行完后, 会生成新的classes.dex, 老的dex会被覆盖 使用系统自带的压缩工具, 将新classes.dex替换到apk并保存实现源码替换 最后重要的一步, 重新签名apk文件 把替换好dex文件的apk复制到sign_tool目录下 执行cmd命令: java -jar signapk.jar platform.x509.pem platform.pk8 test.apk newtest.apk 说明: test.apk是需要重新签名的apk文件 newtest.apk是新签名后的apk文件
至此, 大功告成, 完结撒花~