android apk反编译
★反编译所需工具
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除外)
参考:http://hi.baidu.com/ghcghc/item/ecbaa1ce997cb225a0b50ac2
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步