Android反编译工具使用介绍
内容目录
工具介绍:
apktool
作用:主要查看res文件下xml文件、AndroidManifest.xml和图片。(注意:如果直接解压.apk文件,xml文件打开全部是乱码)
dex2jar
作用:将apk反编译成Java源码(classes.dex转化成jar文件)
jd-gui
作用:查看APK中classes.dex转化成出的jar文件,即源码文件
下载与安装
Apktool 工具
背景说明:通过 Apktool 工具,能完整的从 apk 安装包中提取出 resource、dex、manifest、xml 等文件;也可以修改资源文件之后 rebuild 一个apk。本文主要说明该工具如何安装以及使用。如果感觉该工具的下载和配置过程繁琐,私信我直接发你配置好的文件。
官网链接: https://ibotpeaches.github.io/Apktool/
下载apktool-xxx.jar 改名为 apktool.jar 新建BAT文件 apktool.bat 文件内容:
|
|
|
|
dex2jar
背景说明: 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 操作。
二、目标 dex 文件操作: apk 安装包本质是经过特殊处理的压缩包,可以直接将 target.apk 修改后缀名为 target.zip,然后通过解压工具解压,解压后的文件夹包含各种资源文件和文件夹,以及 dex 文件,如果apk是多个 dex 文件组成,解压后会有多个dex 存在,可逐个操作。
需要注意的是,直接通过 zip 解压出来的文件,资源文件(比如 manifest 等文件)都是一些二进制码,无法直接查看,如果想要查看,请看该专题的第二篇文章来操作。
执行脚本:sh d2j-dex2jar.sh classes.dex
三、通过JD-GUI 工具查看 jar 文件
JD-GUI官网链接:http://java-decompiler.github.io/ 下载对应对应系统的工具。 下载完成后解压,直接打开JD-GUI 文件工具 直接将 之前通过dex2jar生成的 jar文件拖入 JD-GUI 即可查看源码 通过工具可以查看到源码是否有混淆。
Author 软件开发大郭
LastMod 2022-06-16