反编译教程
工具和完整教程链接下载地址
//download.csdn.net/download/NaShiWoMenHuanXiao/12031935
- 工具介绍
- Apktool工具 可以反编译软件的布局文件、图片等资源
- dex2jar工具 dex文件格式转换为jar
- jad工具 class格式转化为java文件
- jadx工具 查看jar、dex、apk源码,资源可视化工具
- 反编译过程
- 使用 jadx工具 查看源码
- 使用Apktool工具 反编译看布局文件和图片资源
- 把apk后缀改为zip,解压
- 找到 dex文件 ,用 dex2jar工具 转换成jar
- 用jad工具 把jar转换为 java文件
- 修改完java文件打包成jar或者arr (有链接可点击进去)
- 工具使用教程
- Apktool工具
- apktool.bat和apktool.jar文件放到同一文件夹下打开命令窗口,也可以把当前文件添加到系统环境变量中,也可以在当前目录下 shift+鼠标右键,打开命令窗口;
- 定位到apktool所在的文件夹,apk也放在这个目录下;
- 命令 apktool.bat d -f 微信.apk objectFolderPath
- 其中,objectFolderPath为可选项,如果此项不存在,软件将会在apktool文件夹下新建一个apk文件名的文件夹,否则存储到目标文件夹;
- 会生成smali 格式的文件,其实就是java代码,不过不是jar形式的,如果要查看java代码,看其他工具使用。
- Dex2jar工具
- 改apk后缀为zip,解压,找到里面的dex文件
- 把dex文件拷贝到的dex2jar的目录下
- 在此目录下打开命令行
- 执行 d2j-dex2jar.bat classes.dex
- 在此目录会多一个classes-dex2jar.jar
- Jad工具
- 进入到jad.exe目录下,打开命令窗口到这个目录
- 输入命令jad -o -r -s java -d src smallAppJar/**/*.class
- src就是执行完脚本后生成java文件的目录(自动生成,不需要创建)
- smallAppJar 需要转换的jar文件夹(执行脚本前放到当前目录)
- Jad命令的参数含义如下
- -o:覆盖旧文件,而且不用提示确认。
- -r:重新加载生成包结构。
- -s (java):定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
- -d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
- classes/**/*.class:classes是需要反编译的文件夹的名字,整个表示classes目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。
- Jadx工具
解压,双击打开bin目录下面的jadx-gui.bat :双击这个工具,apk,class,dex可以直接拖进去看源码
- 333
- 生成jar
- 生成arr
- 常见问题
如果遇到工具不能用的请到网上自行查找最新的版本