RN做的Android应用反编译,安卓app apk反编译

本文详细介绍了如何使用apktool、dex2jar和jd-gui工具对安卓应用进行反编译,包括获取资源文件、将dex转换为jar以及查看源代码的步骤。同时,提到了遇到问题时可能需要更新工具版本的解决办法。
摘要由CSDN通过智能技术生成

一、准备工具

提示:这些工具在官网都不好下载,偶也是废了好大力气呢,建议直接下载我提供的网盘链接

(1) 使用工具介绍:

1.apktool 最新版 jar 包

作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看

2.dex2 jar 的zip包

作用:将apk反编译成java源码(classes.dex转化成jar文件)

3.jd-gui 工具

作用:查看APK中classes.dex转化成出的jar文件,即源码文件

(2) 使用工具下载与安装:

3e128821a65c48c0eef6b337e0463249.png

如果 dex无法转化为jar 建议去下载最新版本dex2jar

最新时间为 2 Apr 2018

dex-tools-2.1-SNAPSHOT.zip

a32ab6635f2344bcf03cfd2b3377644f.png

5896e08b5f7a97c0050dd114120fe792.png

二、Apk 反编译步骤

(1) 使用 apktool 反编译 apk 得到图片、XML配置、语言资源等文件

1.将上述下载好的 3 个工具统一放到一个文件夹中(目录最好不好有中文),并解压 zip 文件,例如:

6ae688194187a11d8525341f8102368d.png

2.打开 cmd/终端,进入上述工具目录

1630665d1a3d45948d3cab7d41d4bf35.png

3.运行apktool_2.3.4.jar这个jar文件来将 apk文件进行反编译,在java中,运行可执行jar包的命令是:

java -jar apktool_2.3.4.jar d -f apk文件绝对路径 -o 输出的目录

例如: 使用如下的命令运行apktool_2.0.1.jar反编译MMTS-release-1.0.2.apk

java -jar apktool_2.3.4.jar d -f D:\apkDecompile\ocrTest.apk -o source

这个命令是启动 apktool_2.3.4.jar 将位于 D:\apkDecompile\ocrTest.apk 文件执行反编译,然后将反编译生成的文件存放到 apk 文件同级的 source 目录下,截图:

34b7a6655d88544604778fdb7d62b005.png

4.然后就会生成源文件的目录,有开发经验的大概能看出点什么

18766ffacce0edfbd0ba6288e1a73f28.png

5.重要的有【res】目录和【AndroidManifest.xml】

f9b6cf211e7a54efe43bc2853813d5dd.png

以上就是使用 apktool 这个工具将一个 apk 反编译得到图片、XML配置、语言资源等文件的过程

(2) 使用 dex2jar 反编译 apk 得到 Jar 包

将要反编译的 APK 后缀名改为 .rar 或者 .zip,并解压,得到其中的classes.dex 文件(它就是java文件编译再通过dx工具打包而成的),如下图所示:

ec859609ae8af71cdc133ca55b7083e8.gif

将获取到的classes.dex放到之前解压出来的工具【dex2jar-2.0】文件夹内,如下图所示:

15768112363f9336d23e2b4f1b67fad2.png

在命令行下进入到 dex2jar.bat 所在目录,输入"d2j-dex2jar classes.dex",截图:

579c9648ca3ebe491436e9d012aa4e47.png

命令执行完成之后,在当前目录下就可以看到生成的Jar文件了,如下图所示:

6fd9ab3ed2c62d67e67300cf8262d7ed.png

反编译 classes.dex 得到 classes-dex2jar.jar 文件之后,就可以使用【jd-gui】工具将 class 文件反编译成 java 源代码了

(3) 使用 jd-gui.exe 工具将 class 文件反编译成 java 源代码

1.打开 jd-gui.exe 程序(不需要安装,之前 zip 包解压即可)

f6aa8aa2893e785dbbbbf7c85823d93a.png

2.打开 jar 文件,截图:

f0c743aa532f8ce92c16bc84ae0963c3.png

3.选择 class 文件就可以看到 java 源代码:

eb5da5e2d2ae5237f09f279bfc281b65.png

三、出错提示:

如果那不出错了,基本就是工具版本的问题,建议全部下载最新版或者全部使用我提供的版本

apktool.jar是APKTOOL这个反编译工具必须用到的必备jar包,同时也附上apktool.jar的使用方法,有兴趣的朋友们就来下载使用吧。 使用方法 一.APKTOOL使用环境配置 1.安装JAVA并设置环境变量。 下载安装都很简单,关键是安装完后还需要亲自设置环境变量以方便其他程序能够条用JAVA。 以WIN7为例,在桌面上右键点击计算机——>属性——>高级系统设置——>环境变量——>在下边的系统变量里新建一个变量,变量名为JAVA_HOME,值为JAVA的安装路径,比如我的是H:\ProgramFiles\Java\jdk1.6.0_26 二.APKTool的安装 1.其实这个谈不上安装,不过如果你愿意的话可以把下载到的APKTOOL中的三个文件(aapt.exe、apktool.bat、apktool.jar)解压缩到你的Windows安装目录下,以方便使用Dos命令. 2.可能有些人下载的APKTOOL里有个安装的bat文件,并且有另外两个方便使用的bat文件。 三.APKTool的使用 1.decode 该命令用于进行反编译apk文件,一般用法为 apktool d <file.apk> <dir> <file.apk>代表了要反编译apk文件的路径,最好写绝对路径,比如C:\MusicPlayer.apk <dir>代表了反编译后的文件的存储位置,比如C:\MusicPlayer 如果你给定的<dir>已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令 apktool d –f <file.apk> <dir> 这样就会强行覆盖已经存在的文件 2.build 该命令用于编译修改好的文件,一般用法为 apktool b <dir> 这里的<dir>就是刚才你反编译时输入的<dir>(如C:\MusicPlayer),输入这行命令后,如果一切正常,你会发现C:\MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。 3.install-framework 该命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值