反编译工具 Apktool 的用法
一、下载安装
1、所需工具
- Apktool(.apk→.smali)
- dex2jar(.dex→.jar)
- jd-gui(查看.jar文件的图形化工具 )
2、待操作对象:
- Apktool:Android应用安装包(xxx.apk)
- dex2jar和jd-gui:xxx.apk 更改后缀为 zip 解压得到的 classes.dex 文件
二、具体使用
- cmd 命令提示符页面首先切换到工具命令(apktool、d2j-dex2jar.bat)所在目录,如D:\Test\apktool>和D:\Test\dex2jar-2.1>
- 确认待操作对象和工具命令文件在同一个文件夹
- 使用命令得到目标文件
- Apktool:apktool d -f(强制覆盖) -s(保留.dex类型文件) xxx.apk -o 指定目标文件位置
- dex2jar和jd-gui:d2j-dex2jar.bat classes.dex得到classses-dex2jar.jar,使用jd-gui打开得到源代码
三、实例
反编译 Android APP
反编译 Android 程序的方法通常是:
- 使用apktool反编译APK文件,生成 smali 格式的反汇编代码
- 通过阅读 smali 文件的代码来理解程序的运行机制,找到突破口,并对代码进行修改。
- 使用apktool重新编译生成APK文件并对其进行签名。
- 运行测试
如此循环,直到程序被破解