工具和配置
下载地址:https://ibotpeaches.github.io/Apktool/install/
1.将下载好的apktool文件与apktool_2.3.1.jar文件准备好,并将apktool_2.3.1.jar更名为apktool.jar;
2.将apktool.jar与apktool移动到/usr/local/bin目录下(可以通过在终端中输出命令open /usr/local/bin来打开这个目录);
3.为上述两个文件增加可执行权限,即在终端中输入并执行:
Mac: chmod +x apktool.jar chmod +x apktool
4.在终端输入./apktool看是否可以运行(需要到bin目录),如果不可以需要在系统偏好设置中打开安全与隐私中点击仍要运行apktool.jar;
注意:apktool文件需要右键"wrapper script"保存为apktool,不要后缀。
将下载的apktool.jar(重命名)和apktool保存到/usr/local/bin中,如果没有local和bin文件夹,请新建。
反编译
将app.apk放入bin目录中
Mac: ./apktool d app.apk
Windows: java -jar apktool.jar d app.apk
修改versionCode:
修改apktool.yml中VersionCode
修改包名
修改AndroidManifest中最外层:<manifest 标签下package 和<provider标签下authorities
打包为新apk(目前还无法安装)
Mac: ./apktool b app -o app_new.apk
Windows: java -jar apktool.jar b app -o app_new.apk
zipalign对齐apk:zipalign在sdk build-tools中
chmod +x zipalgn添加执行权限
发新apk放到与zipalign同一目录
运行:./zipalign 4 app_new.apk app_new_align.apk
重新签名(可使用任意一个签名):apksigner在sdk build-tools中
把签名文件放到与apk同一目录
chmod +x apksigner添加执行权限
./apksigner sign --ks key.jks --out release.apk app_new_align.apk
最终:新签出来的release.apk即可安装使用
Windows appktool使用:https://blog.csdn.net/shulianghan/article/details/121027522
apk简单脱壳
- 使用BlackDex工具进行脱壳得到app原本dex文件
下载地址:https://github.com/CodingGay/BlackDex/releases
使用方式:安装BlackDex.apk,针对app脱壳获取dex文件,然后导出文件到电脑,将dex文件命名为:classes.dex、classes2.dex、classes3.dex等
- 将dex文件转为smail文件,使用baksmali.jar,下载地址:https://bitbucket.org/JesusFreke/smali/downloads/
使用方式:java -jar baksmali.jar classes.dex 如果报错使用:java -jar baksmali.jar disassemble classes.dex,
产物为out文件夹,分别命名为:smali、smali_classes2、smali_classes3等,
- 将smail文件夹复制替换反编译产物的根目录,并修改<application中name标签(启动类);
- 重新打包安装即可;