Android编译、反编译工具总结
1.baksmali:解析odex或dex文件并生成smali文件。需要/system/framework中的文件放在同一目录。
command:java -jar baksmali.jar -x file.odex
下载地址:http://code.google.com/p/smali/downloads/list
2.smali:通过smali文件生成classes.dex文件。
command:java -Xmx512M -jar smali.jar out -o classes.dex
3.keytool:jdk中生成签名用的证书
command:keytool -genkey -v -alias CERT -keyalg RSA -keysize 2048 -validity 10000 -keystore CERT.keystore
4.jarsigner:jdk中对apk文件签名。
command:jarsigner -verbose -keystore CERT.keystore to_sign.apk CERT
5.dex2jar:将classes.dex反编译成jar文件
下载地址:http://code.google.com/p/dex2jar/downloads/list
6.JD-GUI:查看jar文件,并能把class文件反编译成java文件进行查看。
7.apktool:可以反编译apk的资源文件和把classes.dex解析成smali文件,还能逆向地生成apk文件。
下载地址:http://code.google.com/p/android-apktool/downloads/list
8.AXMLPrinter:把二进制的xml文件转换成可读文件。
下载地址:http://code.google.com/p/android4me/downloads/list
9.zipalign:工具由android sdk提供,在$ANDROID_HOME/tools/zipalign。该工具可用于优化已经签名的APK文件。
command:zipalign -v 4 unaligned.apk aligned.apk