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

相关推荐