Android反编译(以网易新闻为例)

声明:本文只是作为初学android开发的人学习之用,由于使用本文方法,查看商业应用软件源码,并由此造成的软件侵权行为,本文概不负责。

一、准备以下软件(可以在此处下载:http://pan.baidu.com/share/home?uk=67599192#category/type=0):

AXMLPrinter2.jar

dex2jar

jd-gui.exe

如下:

Android反编译(以网易新闻为例)_第1张图片

二、操作方法

  从网上可以下载一个老版本的网易新闻android手机客户端(注:新版本也能操作,但是可能为了保护版权,里面采用a、b、c这样的字母命名包名,从命名上不利于理解包中的源码作用,不利于初学者学习,所以使用老版本)

1、用AXMLPrinter2.jar查看android的apk应用中xml文件

可以通过压缩文件打开网易新闻的apk包newsreader_news.apk

 Android反编译(以网易新闻为例)_第2张图片

解压出所有的文件(这里放在  E:\test\newsreader_news  目录下),从中找个xml文件,如果直接打开,则看到的是乱码。可以通过以下方法查看(假设我们查看清单文件AndroidManifest.xml,复制此文件,并放在E:\test 目录下):

打开cmd终端(快捷键 win+R),进入E:\test目录,执行命令

java-jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest.txt

如下:


此时,我们在此目录下会看到生成的txt文件,这时,就可以直接打开查看了

,如下所示:

Android反编译(以网易新闻为例)_第3张图片

2、通过dex2jar进行反编译,查看android应用的源文件

把E:\test\newsreader_news中的classes.dex拷贝到dex2jar.bat(在dex2jar-0.0.9.15.zip里)所在目录(本文是E:\test\dex2jar-0.0.9.15)。


Android反编译(以网易新闻为例)_第4张图片

运行

dex2jar.bat  classes.dex

Android反编译(以网易新闻为例)_第5张图片

将会在其文件夹下生成classes_dex2jar.jar。

3、使用jd-gui.exe打开classes_dex2jar.jar

直接双击运行jd-gui.exe,把classes_dex2jar.jar拖进去即可以打开classes_dex2jar.jar,如下可以查看源码了

Android反编译(以网易新闻为例)_第6张图片

 


你可能感兴趣的:(Android反编译(以网易新闻为例))