一、工具篇
1、apktool
下载地址:https://pan.baidu.com/s/1S9pzAtzLMCAegjUkZRDlTw 提取码:2ega
2、baksmali / smali
下载地址:https://bitbucket.org/JesusFreke/smali/downloads/
3、dex2jar
下载地址:https://pan.baidu.com/s/1S9pzAtzLMCAegjUkZRDlTw 提取码:2ega
4、jd-gui
下载地址:https://pan.baidu.com/s/1S9pzAtzLMCAegjUkZRDlTw 提取码:2ega
二、基础应用篇
1、apktool
- 反编译apk:java -jar apktool.jar d xxx.apk
反编译后的文件结构
> lib 存放第三方库
> original 存放未经过反编译的文件
> res 存放资源文件,例如图片、颜色、字符等
> smail 存放java编译成的smail代码
> AndroidManifest.xml Android清单文件,提供Android系统必要信息
- 重新编译apk:java -jar apktool.jar b xxx.apk
> dist 存放重新编译所生成的apk
- 签名:1、生成keystore文件 2、签名apk
> 生成keystore文件:keytool -genkey -alias mykeystore.keystore -keyalg RSA -validity 3650 -keystore mykeystore.keystore
> 签名apk:jarsigner -verbose -keystore mykeystore.keystore -signedjar xxx_new.apk xxx.apk mykeystore.keystore
格式:jarsigner -verbose -keystore [keystore文件] -signedjar [生成apk的新名字] [apk的旧名字] [keystore的alias名]
2、baksmali / smali
- 反编译:java -jar baksmali-2.5.2.jar disassemble sieve.apk -o test
- 编译:java -jar smail-2.5.2.jar assemble test
生成 out.dex 文件
3、dex2jar
> 将 apk转换成 jar
> 将 jar转换成 dex
4、jd-gui