学习android开发,有必要对android的反编译有所了解,当然学习android反编译并不是为了破解别人的软件,完全是一种学习的方法。
了解别人写程序的思想是一件很有趣的事情
工具下载地址:http://code.google.com/p/innlab/downloads/list
一、反编译classes.dex文件
工具:dex2jar + XJad(或jd-gui)
1.将apk文件解压缩,的到的文件夹中有一个classes.dex文件,此文件中包含所有源码信息,将此文件拷贝到dex2jar.bat所在的文件夹下
2..在cmd中进入dex2jar.bat所在的文件夹输入命令 dex2jar.bat classes.dex 命令结束后会看到文件夹下多出了一个.jar的压缩文件
3.将.jar文件拷贝到XJad文件夹下,直接运行XJad.exe程序,选择反编译Jar文件,对上一步生成的.jar文件反编译,即得到所有的源代码中的.java文件
附:.jar文件亦可以直接用jd-gui.exe工具打开,很方便
二、反编译XML文件
工具:AXMLPrinter2.jar
1.将xxx.xml文件拷贝到AXMLPrinter2.jar所在目录下
2.cmd中进入到AXMLPrinter2.jar所在目录
3.执行命令 java -jar AXMLPrinter2.jar xxx.xml > newname.xml得到反编译后的newname.xml文件
三、修改resources.arsc中的资源文件(主要用于软件汉化)
工具:ArscEditor.exe
1.操作很简单,图形化界面。
四、修改已有的apk并打包。(可用于去广告)
工具:apktool.jar + signapk.jar + platform.pk8 + platform.x509.pem
1.对apk进行解包:(包为aa.apk,解包后文件夹为aa)
java -jar apktool.jar d aa.apk aa
2.修改aa文件夹中资源
3.对文件夹aa进行打包成New-aa.apk
java -jar apktool.jar b aa New-aa.apk
4.签名apk
java -jar SignApk.jar platform.x509.pem platform.pk8 New-aa.apk New-aa_signed.apk
5.安装apk测试