Android反编译APK查看源码

attackeg 2014-09-04

一、反编译Apk得到Java源代码
首先要下载两个工具:dex2jar和JD-GUI

前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。

具体步骤:

首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;

解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录

运行

dex2jar.bat    classes.dex

生成

classes.dex.dex2jar.jar

Android反编译APK查看源码

运行JD-GUI(jd-gui.exe),打开上面生成的jar包,即可看到源代码了

二、反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
普通APK:
1.将APK放置到APKTool目录下,并改名为123.apk
2.打开APKTool,选择1进行反编译操作完成后会生成一个apk文件夹,大家可以进行改代码、换图标等操作!
3.修改完成后,选择数字3,进行回编译和签名工作,此时生成的apk就可以直接安装了!
当然你也可以选择2,只进行回编译操作(这时的APK没有签名不能安装)
4.然后选择4进行单独的签名工作!
系统APK:
需要将系统APK,framework-res.apk放置到APKTool目录里,并将系统apk改名为123.apk(如果是HTC Rom你还需要将com.htc.resources.apk也放到目录里)

注:

三、对于Android反编译工具包(最新)的使用:
将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f  test.apk  test  
如果类似于淘宝这样无法进行反编译的apk,可以使用apktool.bat d -s 123.apk命令,-s代表只反编译xml文件。 (或者aapt d badging xx.apk)

四.如果上述方法好没办法反编译的话,就直接解压apk得到AndroidManifest.xml

下载AXMLPrinter2.jar,见上传附件

将它们都放到android-sdk-windows/tools文件夹中
运行cmd,进入tools目录,运行java -jar AXMLPrinter2.jar  AndroidManifest.xml  >newxml.xml
于是我们就得到了反编译后的XML文件;

相关推荐