Android apk反编译图解(得到程序的java源代码,图片、XML配置、语言资源等文件)

 

       学Android开发一段时间了。在此期间,发现直接解压apk得到的xml文件打开是乱码,由于想参考他人软件好的布局美化,所以想到反编译apk。进过多方baidu谷歌,查到apk反编译方法,以下是我的实践过程。

       本人在此声明:写出来不是为了破解他人软件,完全是学习的态度。不过,好像通过这种方式也可以去汉化一些外国优秀的软件。

 

需要工具:

      1.dex2jar :是将apk中的classes.dex转化成jar文件。

      2.JD-GUI:jar源代码查看工具。

      3.apktool:反编译android apk得到AndroidManifest.xml,Drawable下的图片,XML配置,语言资源等文件。

 

最新下载地址(地址均为官网,自己选择可下载最新版):

          1.dex2jar http://code.google.com/p/dex2jar/downloads/list

         2.JD-GUIhttp://jd.benow.ca/

          该软件为绿色无需安装,直接打开即可。打开下载地址下拉便可看到根据自己系统选择下载,

          如下图,分别为 windows ,linux 和苹果系统。

        3.android-apktool:http://code.google.com/p/android-apktool/downloads/list

       

                         apktool和apktool-install-windows两个包都要下(如果你是window系统,选择apktool-install-windows,其他系统自行选择),用法下面会讲。

 

 

           所需文件如下,截止本问发表时,都为最新版,并解压:

 

  步骤:(需安装java jdk且配置好环境变量不详述了这里)

一.反编译apk得到Java源代码

 

          1,首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,我们现在就用上述提到的2个工具来逆向导出java源文并访问。

       2,把得到的classes.dex复制dex2jar.bat所在目录。即我的上图的dex2jar-0.0.9.12-a.zip解压得到文件夹dex2jar-0.0.9.12。 在命令行模式下(开始 -> 运行,输入cmd,回车)定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex  ,生成classes.dex.dex2jar.jar 。如下图红线操作,为cmd命令操作,出现下图提示:classes.dex->classes_dex2jar.jar即成功。生成classes_dex2jar.jar文件即为java源代码,在dex2jar.bat所在目录 。  

         


         3,运行JD-GUI工具,绿色无须安装的。打开上面的jar文件,即可看到源代码,如下图。

          

          

        二:反编译android apk得到AndroidManifest.xml,Drawable下的图片,XML配置,语言资源等文件。

                    1,解压下载的两个文件包apktool和apktool-install-windows,apktool-install-windows解压缩后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool-1.0.0.tar.bz2解压后的一个.jar 文件copy进来,即三个文件放在一个文件夹中)。

                    

              2.打开命令窗口(开始->运行  输入cmd  回车)进入到apktool.bat的文件夹里。

                   输入:

                            apktool.bat d C:\***.apk  C:\***文件夹 

                           命令行解释: d:要反编译的apk路径 输出文件夹

                        注:要反编译apk放在Capktool盘更目录下。

                   

                 打开 C:\***文件夹 就可以得到我们学院的各种资源了。如下我反编译的android qq。

                        

                   打开androidManifest.xml如下:

                  

               不过如果你愿意上诉复杂操作的话可以把下载到的apktool中的三个文件(aapt.exe、apktool.bat、apktool.jar)解压缩到你的Windows安装目录下,以方便使用Dos命令.即可简化命令直接cmd下输入apktool d C:\***.apk  C:\***文件夹,原理不说了,熟悉环境变量原理的自然明白,如果想了解可以baidu,这里不在详述了。

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值