1.反编译apk原理流程
1.使用apktool解包
2.查找代码位置,替换smail代码
3.重新打包,签名运行,
Tips:
重新打包不签名会出现可以安装,但是打开apk闪退
有些apk做了签名校验,签名不一样就会打不开
有些apk是加壳的,解包发现没有smail代码
有些apk重要逻辑都放在服务器,光靠修改apk是达不到预期结果的
2.工具和下载链接
jadx
https://github.com/skylot/jadx
用于查看反编译的源代码,超好用
apktool
https://ibotpeaches.github.io/Apktool/
用于解包apk,获取simal文件,重新打包
360签名工具
用于签名重新打包后的apk,百度很容易搜到的
java2smail插件
如果使用Android studio或者idea,可以下载java2smail插件可以方便的的把Java代码转化成smail文件
3.工具使用
3.1 jadx
直接打开apk文件即可,可以看到解包好的apk文件
3.2apktool
解包
E:
cd E:\androidFBY
java -jar apktool_2.6.1.jar d apk/demo.apk -o apk/demo
解包apk文件夹下面的demo.apk到apk/demo文件夹
重新打包
E:
cd E:\androidFBY
java -jar apktool_2.6.1.jar b apk/demo -o apk/demo_repackage.apk
把demo文件夹重新打包成demo_repackage.apk
3.3 360签名
生成签名,需要输入信息
keytool -genkey -v -keystore android.keystore -alias androidtest -keyalg RSA -validity 365
选择好签名文件路径,选好生成的.keystore文件
点击一键签名就可以了
tips:用Android studio生成的.jks签名无法使用,原因不明