安装jdk8

  1. brew cask install adoptopenjdk8

安装jadx

编译安装

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

然后将build/jadx/bin加入到环境变量。

export JADX_HOME=/Users/chennan/Desktop/2019/jadx/build/jadx
export JADX_BIN=$JADX_HOME/bin
export PATH=$PATH:$JADX_BIN

  

开始反编译

等完毕后,可以开始了,我就介绍个最简单最常用的用法

  1. 把apk改成zip
  2. 解压zip获取class.dex文件
  3. 将classes.dex文件放到jadx目录下
cd build/jadx/
jadx -d out classes.dex # 反编译后放入out文件夹下(如果out不存在它会自动创建)
#or
jadx-gui classes.dex # 会反编译,并且使用gui打开

使用jadx

jadx也有GUI,直接双击bin目录下的jadx-gui,然后选择要反编译的apk即可,运行效果如下。

jadx_gui如果要保存源码,选择File->Save ALL即可保存文件,然后就可以导入Android Studio等IDE中。 我们也可以直接使用命令行反编译apk文件:

  1. jadx -d out classes.dex #直接输出.java文件到out目录
  2. jadx-gui classes.dex #使用gui打开

在反编译较大的apk时,如果遇到jadx-jui卡顿和假死的情况,可适当优化jvm相关参数, 我直接在~/.bash_profile中加上了如下语句:

  1. export JVM_ARGS="-Xmx4096m -XX:MaxPermSize=1024m"
 

最新文章

  1. 如何启动另一个应用的activity
  2. Scala类基础
  3. sublime text 3 package control
  4. 高效图片轮播,两个imageView实现
  5. bat批处理文件命令详解
  6. Js运算符优先级
  7. Ubuntu Server搭建svn服务以及迁移方法【转】
  8. hdoj Pipe&&南阳oj管道问题&&poj1039(计算几何问题...枚举)
  9. 找呀志_使用SQLiteDatabase增删改提供的搜索方法和事务
  10. asp.net mvc 上传附件验证
  11. (luogu1704)寻找最优美做题曲线 [TPLY]
  12. 经典问题----拓扑排序(HDU2647)
  13. PHP中new static()与new self()的区别异同分析
  14. 『Python CoolBook:Collections』数据结构和算法_collections.deque队列&yield应用
  15. delete content on the right of cursor, Mac
  16. Spark代码Eclipse远程调试
  17. [UE4]动态数组:TArray容器
  18. Oracle保存带&的数据
  19. QT学习笔记3:QT中语法说明
  20. WdatePicker显示乱码

热门文章

  1. DotNet跨平台 - .net core项目部署到centos7
  2. c#泛型约束(转载)
  3. IOC+EF+Core搭建项目框架(三)
  4. 路由组件传参-props解耦方式(主要)
  5. Qt的多线程总结以及使用(一)
  6. shell script 编程入门
  7. 一种无法被Dump的jar包加密保护解决方案
  8. 【Struts2】 国际化
  9. (二十三)ARM平台NEON指令的编译和优化
  10. Matlab修改数值格式/精度/小数位数