APK 编译/反编译的工具包
工具
- dex2jar 据说是国人开发的,主要能够在Dalvik VM bytecode和JVM bytecode之间互转
- apktool 可以在apk和Dalvik VM汇编之间互转
- signapk: android SDK 自带,签名工具
- ded 将APK解包,转换成JVM bytecode,再反汇编
- kimera JVM bytecode反汇编器
- soot JVM bytecode优化器/反编译器
- jasmin 开源jvm汇编器
- jdgui JVM bytecode反编译器
- javac, zip, unzip: 我就不说什么了……
- dx: android SDK 自带,转换JVM bytecode为Dalvik VM bytecode
- smali/baksmali Dalvik VM 汇编器/反汇编器
修改APK
可选路线1
APK -> [apktool] -> 一堆.smali文件和资源 -> [修改] -> 修改结果 -> [apktool] -> 修改APK -> [signapk] -> 签名了的APK
可选路线2
APK -> [dex2jar] -> JAR -> [dex2jar] -> 一堆.jasmin -> [修改] -> 修改结果 -> [dex2jar] -> DEX -> [zip] -> 修改APK -> [dex2jar] -> 签名了的APK