Android使用dex2jar,jd-gui和jadx反编译apk

使用dex2jar,jd-gui

步骤:
1.将要反编译的apk文件,修改后缀名,改为.zip,解压apk,目录如下:


image.png

2.将classes.dex复制到dex2jar解压的目录下:


image.png

在此目录打开命令行,执行.\d2j-dex2jar.bat classes.dex后可以得到classes-dex2jar.jar。
image.png

执行过程遇到了以下错误:

  • 我这里是win10执行.bat等可执行文件前面要加.\,不然报错:


    image.png
  • dex2jar版本问题
    image.png

    看文件修改时间是14年,应该比较老了,后面andriod对打包做了优化,用这个工具反编译就会报如下错误:
    image.png

    参考链接:dex2jar 报错 com.googlecode.d2j.DexException: not support version-CSDN博客
    按照其中提到解决方法修改后还是会报其他错误:not support endian_tag

这里可以下载一下比较新的版本:


image.png

看文件修改时间是19年,应该兼容性可以。
3.打开jd-gui,将生成的classes-dex2jar.jar,拖进去即可

这里dex2jar只能反编译代码,不能反编译资源文件,jadx可以,并且使用起来非常方便,直接把apk拖进去即可。
下面介绍下jadx:github.com/skylot/jadx

  • 下载.zip后,解压进入到根目录,执行gradle执行dist任务,编译产生
    image.png

    image.png

    编译成功后,会产生build文件夹
    image.png

    可以直接点击jadx-gui-dev.exe,打开后即可使用
    也可以进入到jadx/bin目录,使用命令
    image.png

    这里编译过程可能遇到can not resolve 的问题:
    image.png

    可以检查网络或者多试几次,也可以直接下载gui工具。
    image.png

    前提是要安装好java开发环境。
    image.png

    这些工具统一上传到:开发工具: 收集平时开发使用的工具 (gitee.com)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容