apktoolkit apk反编译没有文件_2.4万Star的反编译利器:Jadx

【导语】:一款逆向工具,能反编译jar、class、apk、dex等文件,精致小巧,支持语法高亮、全文检索、方法跟踪,Star数23.8k。

简介

Jadx是一个逆向工程工具,不仅能反编译jar、class文件,也包括apk、dex、aar和zip中的Dalvik字节码,将AndroidManifest.xml及其他资源从resources.arsc中解码出来,还包含了反混淆功能。

jadx有两个版本,分别为命令行版本和UI版本,jadx-gui支持高亮关键字语法,支持跳转到类、方法、字段声明的地方,能找到方法调用的地方,支持全文搜索,能直接拖拽文件。本文介绍UI版本的用法,命令行版本功能一样,只是需要使用命令行操作而已,有兴趣的自行上github上查看命令用法的说明。

下载安装

下载地址是:

https://github.com/skylot/jadx/releases/latest

源码地址是:

https://github.com/skylot/jadx

我下载了jadxgui的zip包,解压就能使用。解压后在bin目录中双击jadx-gui.bat即可运行jadx,windows需先安装java8 64位或以上的jdk。jadx-gui.bat中预设置java最大内存为4g,若电脑不支持或不需要这么大内存,可以自行修改-Xmx参数。

set DEFAULT_JVM_OPTS="-Xms128M" "-Xmx4g" "-Dawt.useSystemAAFontSettings=lcd" "-Dswing.aatext=true" "-XX:+UseG1GC"

尝试反编译jsse.jar,界面如下,可以看出其对关键字的高亮功能:

07ecb3635ed985f4eae1d126f835350d.png

常用功能

CTRL+单击,即可跳转到类、方法、字段声明的地方。

20289d8367759fcb1939c0e6f9cf1554.png

右键->Find Usage,即可搜索到引用此方法的地方,选中即可跳转。

63ea248edbbf7f0d8e697b9089f4ea70.png

搜索,Navigation->Text Search。

e7869a47049f1b00d64db64d301bd27c.png

移除某个包,移除后不会反编译该包下的文件,也不在处于搜索范围中,同时也可以减少内存占用。移除方法:选中某个包->右键->Exclude。

c4d527a728c234402d921e72b8dc55e8.png

移除后的效果如下:

9be9e387e784bc425f43f1107588b481.png

反混淆

Jadx也可以用于apk的逆向工程,而apk文件通常都会经过代码混淆,反编译的结果可能会出现在各个包下都出现Test.java的文件,无法通过类名唯一识别一个类,还需要记住它所在包的包名,这样不利于我们的阅读。Jadx提供了反混淆的选项,可以帮我们将相同文件名起一个特殊的名字,这样它在项目中名字就是唯一的,方便识别和搜索。

77d515638e6af895702f9bfec3cd5856.png

导出Gradle工程

通过File->Save as gradle project可以导出一个Gradle编译的工程项目,这样我们就可以很方便地使用我们熟悉的代码编辑器引入工程并阅读查看代码了。

77d515638e6af895702f9bfec3cd5856.png

- EOF -

以上就是这个开源项目的介绍。如果觉得这个项目不错,欢迎转发推荐给更多人。

本文转自VX公号:开源前哨

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值