主要用到的软件:
1、安卓修改大师:有很多功能,但有会员限制。好用的是字符查找后,可以在smali和java切换
2、apktool:反编译、回编译工具。但是是命令行方式
3、jadx-gui-1.4.7-no-jre-win 反编译成java,非常好用
4、AndroidKiller_v1.3.1:反编译有些不正常,签名后,在SDK>=30,提示未对齐。不太会用
5、ApkToolAid:看上去功能很强大,很方便。但此次没有使用。不太会用
二、主要流程
1、反编译成java和smali,方便下面的定位
2、定位关键点和修改代码
3、回编译
4、包对齐,新的SDK有这个要求,否则无法安装
5、用自签名重新打包成apk
3.1反编译成smali
将下载的apktool.bat和apktool.jar放在一起,然后命令行进入到当前目录,输入下面命令:
apktool.bat d D:\3misc\kg.apk -o kgDir
-- 会通过apktool.bat去调用apktool.jar工具,把kg.apk 反编译成smali,并将结果保存在当前路径的kgDir目录
3.2反编译成java
jadx-gui-1.4.7-no-jre-win和安卓修改大师反编译成java,方便代码阅读
都是有UI的,操作方便
3.3回编译
和反编译的方法类似
apktool.bat b kgDir -o 1.apk
3.4字节对齐
cmd命令里:C:\Users\admin\AppData\Local\Android\Sdk\build-tools\33.0.1\zipalign.exe -p -f -v 4 1.apk 2.apk
--把之前回编译的 1.apk 对齐成 2.apk
3.5签名
cmd命令里:java -jar C:\Users\admin\AppData\Local\Android\Sdk\build-tools\33.0.1\lib\apksigner.jar sign --ks D:\3misc\my-release-key.keystore --ks-key-alias my-key-alias --out 3.apk 2.apk
--把 2.apk签名后,生成3.apk。
紫色部分,分别是密钥路径、密钥别称、签名后的文件名,待签名的文件
输入后会提示密码,输入密码,确认即可,密码不会显示。
3.6安装
各显神通
adb connect 192.168.0.102:5555
adb install 3.apk