反编译配置流程一到用时就忘了...特此记录。
工具
ApkTool:Apk 逆向工具,它有编译、反编译、签名等功能。
dex2jar:将 dex 文件转换成 jar 文件。
JD-GUI:java 反编译工具。
配置
ApkTool 下载安装
1.从 官网 下载 apktool wrapper script
,右键另存为 apktool
(无后缀);
2.从 apktool 下载地址 下载 apktool_xxx.jar
;
3.将 apktool_xxx.jar
重命名为 apktool.jar
;
4.将 apktool.jar
和 apktool
移动至 /usr/local/bin
目录下(root needed);
5.终端 cd 到 /usr/local/bin
目录下,执行如下命令,为俩个文件增加可执行权限。
chmod +x apktool.jar
chmod +x apktool
6.终端输入 apktool
,查看是否能运行。
dex2jar 下载
JD-GUI 下载
如果打开 JD-GUI 提示 macOS 无法验证此 App 不包含恶意软件,参考 此链接。
反编译
1.cd 到 apk 存放目录下,执行 apktool d xxx.apk
,即可 查看资源;
执行后同级目录生成 apk 同名文件夹。
2.使用解压软件解压 apk,并将解压文件中的多个 classesxx.dex 一并拷贝到 dex2.jar 解压目录下。如图:

3.cd 到 dex2jar 解压目录,依次使用如下命令反编译。
sh d2j-dex2jar.sh classesxx.dex
生成多个 classesxx-dex2jar.jar
文件,对应上图则生成如下文件:

如果提示权限问题,终端输入
sudo chmod +x d2j_invoke.sh
取消权限即可。
如果提示 Detail Error Information in File ./classes-error.zip,参考 解决办法 和 原因分析。
4.打开 JD-GUI,将多个 classesxx-dex2jar.jar
文件拷贝到窗口即可 查看源码。
网友评论