引子

承接我的上一篇文章Android ClassyShark vs ApkTool,感谢读者@weishu的提醒,jadx是我遗漏的一个非常好用的android反编译gui工具。下面就来介绍下jadx工具。

首先给出jadx的github地址

使用方式

其实github上已经给出了很详细的使用说明。但是作者这里形式性地解读下吧(- -|)。

1.安装

依次运行以下命令:

git clone https://github.com/skylot/jadx.git
cd jadx
./gradlew dist

主要是拉下来jadx的git主工程,然后跑对应的gradle task。之后会生成运行脚本,大概就是多出了这个目录

1.运行

cd build/jadx/
bin/jadx -d out lib/jadx-core-*.jar
#or
bin/jadx-gui lib/jadx-core-*.jar

以上命令是git给出的运行示例,主要就是反编译jadx源码的一个jar包。

由于之前文章对比classyShark 和apktool时用的是淘宝apk,那么这里继续用淘宝apk,便于三者的横向比较。

bin/jadx-gui taobao.apk

当然如果你不喜欢使用命令行外加找文件路径,你可以直接双击下图脚本文件即可

会弹出以下界面,对应选中你想反编译的.dex, .apk, .jar or .class即可(可以看到支持的格式还是很丰富的,赞)。

选中淘宝apk,并且反编译完成后,结果如下:

可以看到结果中即反编译了资源文件和源码,这个效果对比,apktool+dex2jar+jd-gui这三个工具集来说操作简便了太多。

结果横向对比(classyshark,apktool+dex2jar+jd-gui)

主要就是来对比下反编译后源码的可读性。同样选用com.taobao.allspark包下的AllsparkLoader来进行对比,用jadx反编译后的结果为:

我们可以看到可读性非常高,要是去掉混淆的影响,已经很接近源码了!!!(细心的读者可以发现该gui还包含了一部分编译器的功能,很实用)

另外几个很赞的功能介绍

1.支持全局class查询

2.支持全局text查询

3.支持导出gradle工程(你可以用as直接看反编译的工程了)

那么我们最终看看在as中打开导出工程后的结果:

很赞对不对

总结

看了以上之后,我们就来说下jadx对比classyshark和(apktool+dex2jar+jd-gui工具集)的优劣势吧。

优点:
1.操作方便快捷,一步到位
2.有较为完善的gui界面,带有较多实用功能
3.反编译代码可读性高

缺点:
1.没有classyshark类似的方法总数统计以及图形化分布界面
2.对比apktool直接反编译出来的资源文件有相应的缺失(这个有心的童鞋可以自己尝试下,这里就不给截图了)

总体来说jadx还是你反编译工具的最佳选择,当然有些时候可能还是需要你去配合使用,毕竟现在看来三者还是各有优劣的。

jadx 反编译apk相关推荐

  1. 反编译apk修改v7包_微信Android SDK反编译还原源码 进行修改重新编译

    一.介绍 微信sdk,做开发的都应该用过,微信分享.支付,都要用到的. 接下来,跟着我,把他的sdk源码还原为一个module可编译的形式. 用到的工具: jadx: 这是一款反编译apk和jar包的 ...

  2. WebView使用详解(一)——Native与JS相互调用(附JadX反编译)

    前言:念念不忘,必有回响,永远坚持你所坚持的! 相关文章: 1.<WebView使用详解(一)--Native与JS相互调用(附JadX反编译)> 2.<WebView使用详解(二) ...

  3. 用apktool批量反编译apk文件

    写在前面的话 这个是一个十分简单的脚本,非常简单.为什么要写,因为我是来骗分数的. 应用场景 主机上有一堆APK文件,是按照类别分好的,现在用apktool 反编译它们,然后在按照类别和apk的名字来 ...

  4. mac平台反编译apk,获取源码,androidmanifest和资源文件

    "提供一个反编译apk的工具" 在window上反编译apk是比较容易的事情,但是在mac上就需要稍微费力一些,这里为了方便大家,特意提供了一个python脚本,实现快速反编译ap ...

  5. [Android]反编译apk + eclipse中调试smali

    从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...

  6. 1ke android逆向助手_android: 使用android逆向助手反编译APK

    第一步:下载逆向助手:(链接: https://pan.baidu.com/s/15jtoFDg9LWV80HREeyx5HA 提取码: k527 ) 第二步:将apk文件拷贝到逆向助手的apktoo ...

  7. Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK

    文章目录 1. 签名的作用 2. Android Studio 如何打包签名 3. 反编译 APK 3.1 获取图片资源 3.2 获取 .XML 资源 3.3 获取代码资源 1. 签名的作用 Andr ...

  8. apkTool反编译apk碰到的问题

    在Mac平台上反编译了某个知识付费类的app,用的weex技术.发现反编译不成功 流程如下 反编译apk java -jar apktool_2.3.0.jar d xxx_1.0.0_beta_of ...

  9. python脚本转换成apk_apktool反编译apk并回编译

    apktool反编译apk并回编译 下载apktool工具: apktool官方网站:https://ibotpeaches.github.io/Apktool/ 安装apktool并配置apktoo ...

最新文章

  1. sql数据类型转换(cast() and convent())函数)
  2. poi写入Excel
  3. WCF创建到使用到发布
  4. 【整理】Smartforms的导出和导入
  5. 用户user空间和内核kernel空间
  6. 好想学python下载_Python | 从零开始学(1)
  7. 计算机二级web题目(6)--动态网页技术概述
  8. 纽约时报:昔日王者Digg能否实现中兴?【独家】
  9. 8月9日发布!华为EMUI 10将在华为开发者大会上登场
  10. Android自定义控件学习(四)------创建一个视图类
  11. php连接数据库(一)
  12. nginx部署前端代码 负载均衡
  13. 元宇宙的时代来不及解释了快上车
  14. win10 32位和64位的区别,win10 32位和64位有什么区别
  15. 基于涂鸦智能开发板的墨水屏座位管理器——1.电路设计篇
  16. 显卡mx150和230哪个好_MX250和MX150哪个好 MX250和MX150显卡对比全方位评测[多图]
  17. 牛客刷题——Python入门总结
  18. 一般哪个企业邮箱好用
  19. 一本永不过时的元宇宙专著《元宇宙:通往无限游戏之路》
  20. mysql vacuum_PostgreSQL中快速对系统表实现vacuum full

热门文章

  1. python中split()函数讲解
  2. CNN卷积核计算原理
  3. 北京公交计次IC卡利弊分析
  4. 盲签名——典型的数字签名技术
  5. Arrays中的asList注意的点以及解决方案
  6. apktool反编译及后续打包
  7. 千峰网络安全笔记(前三讲)
  8. android个人理财通项目_基于Android个人理财系统设计与实现.doc
  9. 【区块链实战】什么是区块链,为什么会产生区块链技术
  10. undefsafe原型链[网鼎杯 2020 青龙组]notes