使用dex2jar,jd-gui
步骤:
1.将要反编译的apk文件,修改后缀名,改为.zip,解压apk,目录如下:
2.将classes.dex复制到dex2jar解压的目录下:
在此目录打开命令行,执行.\d2j-dex2jar.bat classes.dex后可以得到classes-dex2jar.jar。
执行过程遇到了以下错误:
-
我这里是win10执行.bat等可执行文件前面要加.\,不然报错:
- dex2jar版本问题
看文件修改时间是14年,应该比较老了,后面andriod对打包做了优化,用这个工具反编译就会报如下错误:
参考链接:dex2jar 报错 com.googlecode.d2j.DexException: not support version-CSDN博客
按照其中提到解决方法修改后还是会报其他错误:not support endian_tag
这里可以下载一下比较新的版本:
看文件修改时间是19年,应该兼容性可以。
3.打开jd-gui,将生成的classes-dex2jar.jar,拖进去即可
这里dex2jar只能反编译代码,不能反编译资源文件,jadx可以,并且使用起来非常方便,直接把apk拖进去即可。
下面介绍下jadx:github.com/skylot/jadx
- 下载.zip后,解压进入到根目录,执行gradle执行dist任务,编译产生
编译成功后,会产生build文件夹
可以直接点击jadx-gui-dev.exe,打开后即可使用
也可以进入到jadx/bin目录,使用命令
这里编译过程可能遇到can not resolve 的问题:
可以检查网络或者多试几次,也可以直接下载gui工具。
前提是要安装好java开发环境。
这些工具统一上传到:开发工具: 收集平时开发使用的工具 (gitee.com)