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文件
点击一键签名就可以了
image.png
tips:用Android studio生成的.jks签名无法使用,原因不明