反编译(绝好!)
注意点:
1、需要软件
AXMLPrinter2.jar
baksmali.jar
smali.jar
2、用 AXMLPrinter2.jar查看apk中的布局xml文件
过程:
(1)将AXMLprinter2.jar放入某一文件夹中,建议放入SDK中的Tools中,(能不能放入到其它地方倒没试过!)
(2)然后在CMD中启动此文件,格式为:
D:\\android-sdk_r05-windows\\android-sdk-windows\\tools>
java -jar AXMLprinter2.jar main.xml >main.txt
解释:将当前路径下的main.xml输出至当前下main.txt中。(输出之前,main.xml是乱码,输出后是个文件文件,所有东东全在里面,太TMD强了!)
3、用baksmali.jar反编译classes.dex:
(1)将baksmali.jar放入某一文件夹中,建议放入SDK中的Tools中,(能不能放入到其它地方倒没试过!)
(2)然后在CMD中启动此文件,格式为:
D:\\android-sdk_r05-windows\\android-sdk-windows\\tools>java -jar baksmali-1.2.5.jar -o classout/ classes.dex
(3)此时会在当前目录下生成一个classout文件夹,好东东全在里面了。
4、用smali.jar编译classout成classes.dex:
上一步已经将classes.dex反编译成了.smali文件,好了,我们看看smali文件看够了,在偿试把它编译成classes.dex吧,
输入如下命令:java -jar smali.jar classout/ -o classes.dex.
可以将新生成的classes.dex塞入ApkInstaller.apk里覆盖原来的classes.dex文件,这样我们的apk还是一样能用的哦~
5、特别注意:
反编译可将APK中的各种资源直接利用,例如图标等,特别好用。