Android 反编译工具介绍
🤖

Android 反编译工具介绍

Published
September 9, 2023
Author
WuZheng

背景

Android 游戏在验证问题时,有时需要修改配置文件或者替换 so,重打整包耗时较久。
这时可以在本地反编译 apk,替换目标文件(so/ini/manifest)后,再重新打包,快速验证问题。

工具

  1. Apktool,官网有详细安装教程
  1. apksigner,安装 Android Studio 就自带该工具,需要配置环境变量

反编译

apktool d -o debug app-demo-debug.apk
执行上述命令会生成 debug 文件夹:
  • 可以看到 AndroidManifest 文件和 res 下各资源文件等
  • smali 目录下对应的就是反编译的 Java 代码,可读性很高,可直接修改
  • lib 目录下是 so,按需替换
notion image
💡
如只更改配置文件及 so,建议添加 -s 参数,指定不反编译源码,更快速,同时,对于加壳了的 apk,反编译源码可能报错:
notion image

回编译(生成 apk)

执行命令生成 apk,这里生成 nosign.apk:
apktool b -o nosign.apk debug

重签名

指定 keystoreks-key-aliasks-passkey-pass 重新生成 apk,之后 adb install 安装即可:
apksigner sign --ks debug.keystore --ks-key-alias your-alias --ks-pass pass:your-ks-pass --key-pass pass:your-key-pass -out signed.apk nosign.apk
notion image
反编译 → 回编译 → 重签名 → 安装,整个过程大概 3~5 分钟。