GitHub上28.7k star的工具也太好用了

1个月前 (01-07 03:48)阅读1回复0
zaibaike
zaibaike
  • 管理员
  • 注册排名1
  • 经验值165935
  • 级别管理员
  • 主题33187
  • 回复0
楼主

哈喽,各人好,不晓得各人日常平凡java反编译东西是不是还在用Java Decompiler呢?那你就Out了!今天给各人保举一个如今十分火的反编译东西——jadx。它如今在github上已经有高达28.7k的star。

jadx撑持Windows、Linux和macOS等多个系统,可以帮我们翻开.apk,.dex,.jar,.zip等格局的文件。它利用起来十分简双方便,同时撑持号令行和中文图形界面。

安拆:

间接上github下载即可:https://github.com/skylot/jadx

如今最新版本是1.3.1,运行情况需要jdk1.8,安拆好jdk之后翻开下载的zip文件,运行bin目次下的jadx-gui.bat即可。

若是能一般翻开将会是那个界面:

利用:

假设我们需要反编译一个jar包就只需要将jar包拖拽进jadx即可。效果如下:

若是我们想看某个apk文件的源码,也是间接拖拽进来就能够了,效果如下:

除了操做简单,jadx比拟其他的反编译东西还具有下面那些强大的特征:

能够间接反编译出.java文件能够间接导出gradle项目自带强大的搜刮功用,撑持多种婚配形式撑持反混淆

此中第3点是我认为它比拟jd-gui东西来说更好用的功用:它撑持四种维度停止查询,Class、Method、Field、Code。范畴更大的就是code。

能够利用ctrl+shift+F翻开搜刮框:

并且jadx还有一个很强大的功用就是能够间接搜刮到关键代码在什么处所有停止挪用。

选中我们要查询的办法,选中点击右键,选择 Find Usage:

利用场景:验证混淆后的文件能否平安

我们能够把混淆后的文件放到jadx东西中反编译一下,看反编译出来的成果能否满足预期。

2. 查看打包后文件中的代码

在没有源码,只要打包后的文件时,就能够通过jadx东西将文件反编译查看此中的源代码

3.获取打包文件中的资本文件

通过jadx还能够获取到打包文件中包罗的一些资本文件

同类型反编译东西比照:

反编译东西apktooldex2.jarjd-guijadx-gui撑持文件格局.apk.dex.jar.apk

.dex.jar长处能够提取apk中的规划文件和图片等资本

撑持打包代码生成apk文件通过将apk文件中的dex文件转换成jar文件后,共同jd-gui东西翻开转换后的.jar文件翻开,就能够得到响应的java源码能够反编译jar文件,得到java源码有可视化图形界面,能够间接显示文件中的资本名称缺点没有图形界面,反编译后会间接生成响应文件,不便利查看源代码需要共同能反编译jar文件的东西才气查看到此中的java代码图形界面功用比力简单,不克不及显示资本文件名称,只能显示资本ID有些文件源码会匹敌jadk,会招致反编译的代码不完好。

在编译略微比力重的文件时会呈现内存不敷卡死的问题

从上面的表格我们能够得出,没有一个开源项目是完美的,关于我们开发者来说,多一个东西的选择并非什么坏事;多进修一个开源的项目,我们就能多一份前进的空间,等待后面越多的人来利用jadx,也就能帮忙jadx变得更好更完美。

0
回帖

GitHub上28.7k star的工具也太好用了 期待您的回复!

取消