前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >31.3k stars的反编译高效工具JADX

31.3k stars的反编译高效工具JADX

作者头像
开源日记
发布2023-03-10 14:47:22
7880
发布2023-03-10 14:47:22
举报
文章被收录于专栏:JVMGCJVMGC

如果你写的java程序源代码意外丢了,只有服务器运行的编译后的代码怎么办? 这个时候就可以用JADX这款开源的反编译工具逆向出源代码。

JADX特点

  • 将Dalvik字节码从APK, dex, aar, aab和zip文件反编译为java类
  • 从resources.arsc解码AndroidManifest.xml和其他资源
  • 也可以处理混淆后的代码

GitHub数据

  • 31.3k stars
  • 787 watching
  • 4k forks

开源地址:https://github.com/skylot/jadx

jadx-gui

提供一个可视化的操作界面,主要功能

  • 高亮显示查看反编译代码
  • 跳转方法定义
  • 查看方法引用
  • 全文搜索
  • Smali调试器

安装

需要安装JDK 8 或更高的版本

  • Linux sudo pacman -S jadx
  • macOS brew install jadx
  • Flathub flatpak install flathub com.github.skylot.jadx

或者直接在https://github.com/skylot/jadx/releases下载安装包

我下载了jadx-1.4.3.zip,然后执行对应操作系统的脚本

反编译asm-9.3.jar

jade-gui打开asm-9.3.jar

可以查看每个类的源码并高亮显示。

右键选择搜索,可以进行方法名,字段名,注释,代码等信息的搜索,支持正则匹配。

双击变量名和方法名可以高亮所有出现的地方

鼠标定位到方法上右键,查找被调用的地方

![](/Users/mac/Library/Application Support/typora-user-images/image-20220818113017422.png)

如图找到两个调用的地方

反混淆

一般安卓的apk安装包为了防止被反编译破解。会对代码进行混淆,使得代码难以阅读理解。jadx可以对混淆后的代码进行还原,使代码变得可读。

jadx动态调试安卓apk

  • 在模拟器上安装apk
  • jadx打开apk包

导出为Gradle工程

源码反编译完成后还可以很方便的导出成Gradle工程,方便二次开发。

更多功能广大网友可以继续挖掘。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JADX特点
  • GitHub数据
  • jadx-gui
  • 安装
  • 反编译asm-9.3.jar
  • 反混淆
  • jadx动态调试安卓apk
  • 导出为Gradle工程
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档