Android 反编译

来源:互联网 发布:网络中文教师招聘 编辑:程序博客网 时间:2024/06/05 06:27

今天突发想法学习APK反编译,毕竟反编译在不懂的人看来很流弊,记得大学时导师叫我们拿标杆APP资源文件。开始还真不知道怎么操作,其实不然大部分只需将.apk改为.zip就可简易看到里面资源文件。废话不多说,开始进行反编译教学,哈哈。

1、反编译工具(别看,先下载):

apktool (资源文件获取 :http://download.csdn.net/detail/yanxuxu123/9859645 

作用:查看APK中classes.dex转化成出的jar文件,即源码文件

dex2jar(源码文件获取)  :http://download.csdn.net/detail/yanxuxu123/9859648

作用:将apk反编译成Java源码(classes.dex转化成jar文件)

 jd-gui  (源码查看)        :http://download.csdn.net/detail/yanxuxu123/9859651

作用:查看APK中classes.dex转化成出的jar文件,即源码文件

下载最好放在一个文件里面好操作(新建一个反编译工具文件夹)

截图如下:


2、流程步骤

第一步:apk反编译得到程序的源代码、图片、XML配置、语言资源等文件

解压工具apktool,解压后得到3个文件:aapt.exe,apktool.bat,apptool.jar,将apk文件放入apktool文件夹目录下;

打开命令行界面(命令:cmd)---定位文件夹apktool(命令:cd  E:\反编译工具\apktool)---反编译资源文件(命令:E:\反编译工具\apktool\apktool.bat d -f  test.apk  test)

如果实验不行,没关系直接用解压工具打开即可或改为.zip直接查看;

屏幕截图:



第二步:Apk反编译得到Java源代码

解压工具dex2jar和工具jd-gui ,将要反编译的APK后缀名改为.rar或 .zip并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内,同样打开命令行界面(命令:cmd)---定位文件夹apktool(命令:cd  E:\反编译工具\dex2jar-0.0.9.15l)---反编译java源代码(命令:E:\反编译工具\dex2jar-0.0.9.15\dex2jar.bat   E:\反编译工具\dex2jar-0.0.9.15\classes.dex);

则目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了;

截图如下:

3、借用别人工具,不使用命令行;

3、 图形化反编译apk(本人未使用过)

上述步骤一、二讲述了命令行反编译apk,一种图形化反编译工具:Androidfby;下载上述反编译工具包,打开Androidfby目录,双击Android反编译工具.exe,就可以浏览打开要反编译的apk;


4、警惕开发一定要做混淆处理,不然很容易被人模仿变成他的东西;经过混淆处理后你所看到的类文件名称以及里面的方法名称都会以a,b,c....之类的样式命名,这样想要得知的对应界面代码可能会十分费劲,找到了看起来也相对费劲。



原创粉丝点击