简单的Android之apk包反编译方法

时间:2021-08-09 18:25:01

网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具

工具下载地址:

http://download.csdn.net/detail/zsjangel/7104663

下载上面的三个工具的压缩包

  1. Apktool_v1.5.1_CHS_By_b-sf.rar
  2. dex2jar.zip
  3. jd-gui-0.3.5.windows.zip

一、反编译 xml 等模版资源文件。

解压 apktool 包,然后将你要反编译的 apk 文件拖放到 ApkModify.bat  文件上就自动反编译了,这个包自动继承了一些反编译功能,但对 java 文件可能不行,

我用的 Lofter 网易轻博做了个实验,classes.dex 被反编译成了 smali 类型文件。

简单的Android之apk包反编译方法

二、反编译 java 文件

解压 dex2jar.zip 包

将 .apk 文件的后缀名改为 .zip 并解压,进入 dos 命令行模式,一路进入 dex2jar 包的目录执行dos命令:

dex2jar D:\apks\Apktool\lofter\classes.dex

后面的路径参数当然要修改成你的 apk 文件解压后的该文件路径哦

几秒钟编译完后会生成 classes_dex2jar.jar 包文件

简单的Android之apk包反编译方法

三、查看并导出 java 源码

解压 jd-gui 包,执行 jd-gui.exe 程序,打开第二部生成的  classes_dex2jar.jar 文件,此时就可以浏览反编译后的源码了(当然不是最初的源码,变量名神马之类的都是 a, b,c 代替了,阅读起来比较艰难)

简单的Android之apk包反编译方法

打开软件的  file 菜单,点击 save all sources 将导出所有源码为 .java 源文件

简单的Android之apk包反编译方法

再将该 java 源文件目录覆盖到第一部 生成的目录下就可以完整的导入到 android studio 或其他软件中生成新的项目,这样分析源码就方便些了

简单的Android之apk包反编译方法

另外 Android 初学者可加入我的360文件共享群:Android,

打开邀请链接:http://qun.yunpan.360.cn/38063538 ,输入邀请码:1267

里面全都是我和其他网友收集的 android 和 java 相关的资料、教程、软件等等