一、需要的工具

  1. apktool:反编译APK文件,得到classes.dex文件,同时也能获取到资源文件以及布局文件。
  2. dex2jar:将反编译后的classes.dex文件转化为.jar文件。
  3. jd-gui:用于将.jar文件转换成java代码。

二、反编译步骤

第一步:使用apktool工具对APK进行反编译

1. 下载apktool

2. 把下载好的apktool脚本和apktool.jar文件移动到 /usr/local/bin 文件夹下

3. 使用命令chmod +x 分别对apktool和apktool.jar文件进行提权

chmod +x apktool
chmod +x apktool.jar

4. 测试是否成功,终端输入apktool,若成功,如下图

5. 运行apoktool脚本进行反编译

①. 把你需要反编译的apk文件也复制到 /usr/local/bin 文件夹下
②. 终端输入命令 apktool d xxx.apk 回车,等待执行完毕

apktool d xxx.apk

③. 执行完毕后目录下会生成反编译apk的对应文件夹

但是我们在反编译apk后的文件夹里并没有看到classes.dex文件,这时候就需要在上述命令行添加-s,表示禁止将dex文件解码成smali

apktool d -s xxx.apk

第二步:使用dex2jar工具把classes.dex文件转化成.jar文件

1.  下载dex2jar并解压
2. 把classes.dex文件复制到解压后的dex2jar文件夹下,终端执行命令sh d2j-dex2jar.sh classes.dex

sh d2j-dex2jar.sh classes.dex

3. 执行完毕后,会在文件夹下生成一个.jar文件,里面就是java源码

可能会提示 Permission denied ,那么把提示Permission denied的那个文件设置一下权限,比如提示dex2jar/d2j_invoke.sh: Permission denied那么设置为 sudo chmod +x dex2jar/d2j_invoke.sh,然后再重新执行 sh dex2jar/d2j-dex2jar.sh xx.apk命令,就会在当前目录生成 xx.-dex2jar.jar。

第三步:使用JD-GUI软件查看jar包下的java源码

1.下载并安装jd-gui
2. 打开安装好的JD-GUI,直接把第二步生成的.jar文件拖进去,就能看到反编译出来的java源码了

Android反编译 for Mac相关推荐

  1. Android 反编译利器,jadx 的高级技巧

    一.前言 今天介绍一个非常好用的反编译的工具 jadx(Java,Dex反编译器) .jadx 的功能非常的强大,对我而言,基本上满足日常反编译需求. jadx 优点: 图形化的界面. 拖拽式的操作. ...

  2. Android 反编译整理

    Android 反编译需要用到以下几个工具: Apktool: 这个工具的作用是: It is a tool for reverse engineering 3rd party, closed, bi ...

  3. Android 反编译初探-基础篇

    前言 本文目标: 工具:介绍反编译需要用到的工具 原理:反编译基本原理 实践:替换一个未混淆&未加固apk的启动页面 工具 1.Android Studio 版本:Android Studio ...

  4. Android反编译odex然后重新打包

    #Android反编译odex然后重新打包 最近不知道怎么回事,突然把我那刷了氧OS的root了,然后就开始好奇起来氢OS所带有的那些本地化的东西,比如通话录音就是典型的一个之一.其中也做了很多的尝试 ...

  5. Android 反编译Apk提取XML文件

    Apktool https://ibotpeaches.github.io/Apktool/install/ 下载地址:Apktool https://bitbucket.org/iBotPeache ...

  6. 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )

    文章目录 一.apktool 1.apktool 简介 2.直接解压 3.使用 apktool 反编译 4.使用 apktool 重新打包 二.dex2jar 1.dex2jar 简介 2.dex2j ...

  7. Android反编译与防止反编译

    [eoe首届Android达人训练营]开营啦! http://www.eoeandroid.com/thread-198942-1-1.html Android中Menu的界面显示 http://ww ...

  8. android 反编译 jadx,jadx gui下载 jadx(Android反编译gui工具) v0.6.1 官方版 下载-脚本之家...

    jadx是一款Android反编译gui工具,它支持apk.dex.jar.class.zip.aar等文件.jadx操作方便,反编译后的代码可读性高,同时还拥有较完善的gui界面,除去混淆部分的代码 ...

  9. Android反编译工具与反编译步骤及常见问题

    Android代码混淆很大程度上就是为了别人反编译我们的代码,用反编译工具也可以测试我们的代码是否混淆成功. "工欲善其事,必先利其器",先介绍一下反编译的工具: apktool. ...

  10. Android反编译工具的使用-Android Killer

    今天百度搜索"Android反编译"搜索出来的结果大多数都是比较传统的教程.刚接触反编译的时候,我也是从这些教程慢慢学起的.在后来的学习过程中,我接触到比较方便操作的Android ...

最新文章

  1. [dts]TI-am437x dts
  2. 并发的核心:CAS 是什么?Java8是如何优化 CAS 的?
  3. 2018计算机一级题库百度云,2018年全国计算机一级考试题库及答案
  4. python神器pandas_Python数据处理神器,pandas入门必需理解的核心内容
  5. 计算机网络结构有哪些,计算机网络主要拓扑结构有哪些
  6. MySQL幻读及解决方法
  7. 天池 在线编程 部门统计(哈希)
  8. 关于数据结构的赋值,最好不要直接赋值,而是采用构造函数、或其它函数来赋值,这样可以方便控制---我自己!...
  9. python线程通信 消息传递_Python并发编程之线程消息通信机制/任务协调(四)
  10. Android 系统(41)---Android7.0 PowerManagerService亮灭屏分析(二)
  11. 翻译:Stairway to SQL Server Security Level 3: Principals and Securables
  12. 谷歌 Chrome 浏览器 隐藏标题 缩小标签页
  13. 给钱,才是真的对你好
  14. 商业智能和分析软件市场现状及发展趋势分析-
  15. vant area地区选择组件使用方法
  16. 《钻哥带您了解产品原型》(Yanlz+Unity+XR+需求分析+核心思路+产品核心+生产流程+制作核心+销售核心+立钻哥哥+==)
  17. RAC环境scan ip详解
  18. 中国真空退火炉行业市场供需与战略研究报告
  19. matlab位置1处索引超出数组边界错误怎么改呢
  20. 差动放大器自动测试系统使用

热门文章

  1. linux系统开机图片修改,linux开机logo 和 android开机logo 的修改
  2. 关于Fluent瞬态计算你必须掌握的3个技巧
  3. 便携CAN分析仪图文使用指导
  4. 2017-2018-2 20179205 《网络攻防实践》黑客信息及安全工具的使用
  5. matlab 对称矩阵特征值为负数,MATLAB中对称矩阵的复特征向量
  6. 嵌入式、单片机开发必备软件
  7. visio2019 专业版,两种方法
  8. MODIS数据介绍及下载
  9. 最强面试题整理第一弹:Python 基础面试题(附答案)
  10. 优化模型:钢管订购及运输优化模型