android apk反编译

来源:互联网 发布:网站注册域名是什么 编辑:程序博客网 时间:2024/06/05 05:51


http://itindex.net/detail/45594-android-apk-%E7%BC%96%E8%AF%91

反编译所需工具

1.AXMLPrinter.jar

2.d2j-dex2jar.bat

3.查看Jar包的GUI工具

★功能实现

◇ 解压缩

apk文件其实就是一个MIME为zip的压缩包,可以用winrar软件打开看到里面的文件结构。解压缩后找到里面的classes.dex文件,classes.dex文件就是java文件编译再通过Dalvik须立即提供的dx打包工具打包而成的,接下来就用2个工具来逆向导出java源文件。

◇ 生成jar文件

将d2j-dex2jar.bat和classes.dex放到同一目录下,Windows cmd下用命令定位到classes.dex所在目录,运行d2j-dex2jar.bat(空格)classes.dex生成classes-dex2jar.jar。

◇ JD-GUI查看源码

GUI工具打开该jar包即可查看源码。


★xml文件反编译

从凡百脑以学习最多内容多半是布局文件的学习,一个优秀的程序的UI的设计是精巧的,非常值得学习。

◇ 针对性的查看xml文件

将AXMLPrinter.jar文件和所有要反编译的xml文件放到同一目录下cmd定位到该目录,执行以下代码:

java-jar AXMLPrinter2.jar xxx.xml>yyy.txt
用这样的代码执行AndroidManifest.xml文件的反编译时没有问题的,但是在执行布局文件的反编译的时候,可能会报如下错误:


问题在于:在AndroidMainfest.xml文件中minSdkVersion <= 7 时,利用AXMLPrinter2.jar 就能正常反编译出xml文件

大于7以后就不能正常反编译xml文件(AndroidManifest.xml除外)

0 0
原创粉丝点击