计科随机文库
首页 留言 小视频 登录
安卓反编译(三):dex2jar 和 JD-GUI 工具

背景说明:

1、dex2jar 工具主要是将 dex 文件转换为包含 class 文件的 jar 文件。

2、JD-GUI 工具是针对从dex 转为jar后的文件,进行可视化读取与展示。

3、apk安装包是一个zip压缩包,如果仅仅是想获取源码文件,并不关心具体资源文件,可跳过第一步 apktool 工具的操作,直接到第二步进行 dex 到 jar 文件的转换。

一、dex2jar 工具官网下载:

dex2jar 工具 GitHub链接:https://github.com/pxb1988/dex2jar直接获取 Release 的最新版本(我操作时最新版本是 V2.1 版本)跳转到 Releases 页面 Assets 目录,直接下载可执行文件的压缩文件。解压后,命令行进入到该 dex-tools-2-2.1 路径下进行 dex 操作。

dex2jar 工具的 GitHub 源码链接

通过shell 脚本,来执行 dex 到 jar 的转换

二、目标 dex 文件操作:

apk 安装包本质是经过特殊处理的压缩包,可以直接将 target.apk 修改后缀名为 target.zip,然后通过解压工具解压,解压后的文件夹包含各种资源文件和文件夹,以及 dex 文件,如果apk是多个 dex 文件组成,解压后会有多个dex 存在,可逐个操作。

需要注意的是,直接通过 zip 解压出来的文件,资源文件(比如 manifest 等文件)都是一些二进制码,无法直接查看,如果想要查看,请看该专题的第二篇文章来操作。

执行脚本:sh d2j-dex2jar.sh classes.dex

执行脚本,操作 dex 文件转换为 jar 文件

生成 jar 文件

三、通过JD-GUI 工具查看 jar 文件

JD-GUI官网链接:http://java-decompiler.github.io/下载对应对应系统的工具。下载完成后解压,直接打开JD-GUI 文件工具直接将 之前通过dex2jar生成的 jar文件拖入 JD-GUI 即可查看源码通过工具可以查看到源码是否有混淆。

官网页面,下载对应系统的工具包

解压后直接打开该工具

直接将生成的目标jar文件拖到该工具页面,即可查看

安卓反编译专题文章:

安卓反编译(一):反编译概述安卓反编译(二):Apktool 工具安卓反编译(三):dex2jar 和 JD-GUI 工具

https://zhuanlan.zhihu.com/p/433259910

评论留言
验证码
一共0条留言