jadx 反编译apk
引子
承接我的上一篇文章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相关推荐
- 反编译apk修改v7包_微信Android SDK反编译还原源码 进行修改重新编译
一.介绍 微信sdk,做开发的都应该用过,微信分享.支付,都要用到的. 接下来,跟着我,把他的sdk源码还原为一个module可编译的形式. 用到的工具: jadx: 这是一款反编译apk和jar包的 ...
- WebView使用详解(一)——Native与JS相互调用(附JadX反编译)
前言:念念不忘,必有回响,永远坚持你所坚持的! 相关文章: 1.<WebView使用详解(一)--Native与JS相互调用(附JadX反编译)> 2.<WebView使用详解(二) ...
- 用apktool批量反编译apk文件
写在前面的话 这个是一个十分简单的脚本,非常简单.为什么要写,因为我是来骗分数的. 应用场景 主机上有一堆APK文件,是按照类别分好的,现在用apktool 反编译它们,然后在按照类别和apk的名字来 ...
- mac平台反编译apk,获取源码,androidmanifest和资源文件
"提供一个反编译apk的工具" 在window上反编译apk是比较容易的事情,但是在mac上就需要稍微费力一些,这里为了方便大家,特意提供了一个python脚本,实现快速反编译ap ...
- [Android]反编译apk + eclipse中调试smali
从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...
- 1ke android逆向助手_android: 使用android逆向助手反编译APK
第一步:下载逆向助手:(链接: https://pan.baidu.com/s/15jtoFDg9LWV80HREeyx5HA 提取码: k527 ) 第二步:将apk文件拷贝到逆向助手的apktoo ...
- Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK
文章目录 1. 签名的作用 2. Android Studio 如何打包签名 3. 反编译 APK 3.1 获取图片资源 3.2 获取 .XML 资源 3.3 获取代码资源 1. 签名的作用 Andr ...
- apkTool反编译apk碰到的问题
在Mac平台上反编译了某个知识付费类的app,用的weex技术.发现反编译不成功 流程如下 反编译apk java -jar apktool_2.3.0.jar d xxx_1.0.0_beta_of ...
- python脚本转换成apk_apktool反编译apk并回编译
apktool反编译apk并回编译 下载apktool工具: apktool官方网站:https://ibotpeaches.github.io/Apktool/ 安装apktool并配置apktoo ...
最新文章
- sql数据类型转换(cast() and convent())函数)
- poi写入Excel
- WCF创建到使用到发布
- 【整理】Smartforms的导出和导入
- 用户user空间和内核kernel空间
- 好想学python下载_Python | 从零开始学(1)
- 计算机二级web题目(6)--动态网页技术概述
- 纽约时报:昔日王者Digg能否实现中兴?【独家】
- 8月9日发布!华为EMUI 10将在华为开发者大会上登场
- Android自定义控件学习(四)------创建一个视图类
- php连接数据库(一)
- nginx部署前端代码 负载均衡
- 元宇宙的时代来不及解释了快上车
- win10 32位和64位的区别,win10 32位和64位有什么区别
- 基于涂鸦智能开发板的墨水屏座位管理器——1.电路设计篇
- 显卡mx150和230哪个好_MX250和MX150哪个好 MX250和MX150显卡对比全方位评测[多图]
- 牛客刷题——Python入门总结
- 一般哪个企业邮箱好用
- 一本永不过时的元宇宙专著《元宇宙:通往无限游戏之路》
- mysql vacuum_PostgreSQL中快速对系统表实现vacuum full