准备工具:

  1. Android Studio
  2. apktool
  3. dex-tools
  4. jd_gui
    工具默认各位看官都以自备。我这只有apktool,dex-tools,jd-gui。反编译工具下载地址

反编译

我知道的反编译方式主要有两种:
一、直接通过apktool命令反编译apk
二、将apk后缀名改为zip,直接解压,通过jd-gui工具查看。
先说第一种用apktool命令反编译,新建一个Test文件夹,将要反编译的app-release.apk放进去。
1、打开终端,cd到Test目录。
2、再执行apktool d app-release.apk。执行完后,Test目录下就回多一个app-release文件夹。
打开Test文件夹大概可以看到以下文件

AndroidManifest.xml就是对应我们项目里的清单文件。
res目录里就是我们项目里的资源文件。
smail里面就是我们项目的代码。
我的项目代码路径是com/example/studydemo。因此我就可以在smali文件里找到我自己写的代码的路径。


我们可以通过Android Studio打开app-release文件夹。打开Android Studio,file -> open -> 选择./Test/app-release文件夹 -> open

用Android Studio打开,我们就可以查看别人的代码逻辑了,不过我们的java或者kotlin代码都被解析成了smali语法,若想读懂还需要对smali语法有一定的了解,我还知之甚少,这里就不献丑了。
这就是通过apktool命令进行反编译的方式。

接下来说说第二种反编译方式,这里还是在Test文件里对app-release.apk进行反编译。为了保留原文件,这里我将原apk复制了一份,并将文件名改为app-release2.zip。直接对该zip文件进行解压,得到app-release2文件夹。

AndroidManifest.xml就是对应我们项目里的清单文件。
res目录里就是我们项目里的资源文件。
classes.dex文件就是可执行文件,我们需要通过dex-tools,将该文件转换成jar文件。

先将classes.dex文件复制到dex2jar-2.0(这个文件是dex-tools-2.0.zip解压得到的)文件夹中,在终端中cd到dex2jar-2.0目录,执行sh d2j-dex2jar.sh classes.dex命令,执行后,就可以看到dex2jar-2.0目录下多了classes-dex2jar.jar文件。

再打开jd-gui-osx-1.6.6(这个文件是jd-gui-osx-1.6.6.zip解压得到的)文件夹中的JD-GUI。

在JD-GUI中file -> open file -> 选择dex2jar-2.0目录下的classes-dex2jar.jar文件 -> 打开

打开之后,同样也能找到com.example.studydemo文件夹,里面就是我们的代码

通过JD-GUI查看代码,更加容易看懂一些,只不过一般代码都会混淆处理,需要花点时间去捋清代码逻辑。
这就是通过jd-gui工具的方式反编译。

在下学艺不精,如有不足,请各位看官海涵。

Mac环境下反编译Apk(入门)相关推荐

  1. Mac环境下反编译工具的使用

    日常工作中避免不了反编译工具经常安装(换电脑设备.手滑把文件夹删除了...等等原因),而且时间一久忘记命令的使用,因此做下记录. 一.反编译工具三件套 apktool:获取apk里的资源文件.配置文件 ...

  2. android 反编译 2017,反编译Apk入门工具合集

    反编译Apk入门工具合集,是小编自用的一套apk逆工程操作工具,它可以帮助用户快速进行apk的脱壳拆包,进行相关文件的浏览操作和修改,让用户可以轻松上手,完成apk逆工程处理! 使用说明: 1.反编译 ...

  3. mac版smali2java_Android反编译apk并重新打包签名(Mac环境)

    工具下载 根据apktool网站提示的下载方法,右击wrapper script,链接存储为apktool,不要带拓展名 然后点击find newest here下载apktool.jar,选择第一个 ...

  4. Ubuntu下反编译apk源码查看

    1.下载dex2jar和jd-gui工具 下载dex2jar与jd-gui工具 2.解压dex2jar和jd-gui工具   # ./dex2jar.sh ~/xxx.apk //会反编译出class ...

  5. Android Mac下反编译apk

    1. 下载apktool http://code.google.com/p/android-apktool/ java -jar apktool_2.0.0rc3.jar d aaaaaaaaaaaa ...

  6. 教你如何正确反编译apk

    本篇博文简单得以图文形式,描述下反编译apk. 一听反编译,有木有高大上的赶脚,哈哈,其实真的不是很难嘻嘻 简单的说下反编译apk的流程: 我们一般想要反编译一个apk,无非就是想获得三样东西 图片资 ...

  7. android mac转数据格式转换,mac环境下Android 反编译

    一.需要的工具 apktool:反编译APK文件,得到classes.dex文件,同时也能获取到资源文件以及布局文件. dex2jar:将反编译后的classes.dex文件转化为.jar文件. jd ...

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

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

  9. 如何查看apk安装包源代码??Android反编译apk,解包,打包,签名一体化实测 ,修改图片音频软件名称版本号等入门

    首先下载反编译工具包 下载地址 链接:  https://zly520.lanzoui.com/ibtuxhf7rab 一.反编译工具介绍 首先 如果你想改动图片音频之类的,见末尾! 1.apktoo ...

  10. ubuntu下使用反编译apk,工具dex2jar和jd-gui

    ubuntu下使用反编译apk, 工具 1.首先使用dex2jar反编译 下载地址(建议下载最新版本,防止出现bug):http://code.google.com/p/dex2jar/downloa ...

最新文章

  1. Spring 视图解析
  2. php 360 极速模式,如何让360浏览器默认使用极速模式
  3. Springboot中的缓存Cache和CacheManager原理介绍
  4. 的微波感知_微波遥感的特点
  5. VS建lUML画类图
  6. 机器学习笔记十一之降维
  7. 2016全国计算机二级题,2016全国计算机二级考生试题及答案
  8. 大数据预测实战-随机森林预测实战(三)-数据量对结果影响分析
  9. 【刷算法】LeetCode- 阶乘后的零
  10. fckeditor for php 下载,FCKeditor 的配置和使用方法(for PHP)
  11. 版本管理工具之ClearCase
  12. PAT题集2019.6.22排名变动
  13. 【数据结构】无向图的遍历(广度搜索和深度搜索)
  14. 【vue+HT+flyTo】HT图扑软件中的flyTo应用
  15. [ARC120E]1D Party
  16. 3d可视化虚拟建模vr展示三维模型方案
  17. CSMA/CD与CSMA/CA区别
  18. 评分卡模型开发(六)--WOE值计算
  19. Spring嵌套事务是怎么回滚的?
  20. 《一头扎进JavaScript-基础篇》学习笔记

热门文章

  1. adadelta算法_【深度学习】深入理解优化器Optimizer算法(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)...
  2. java面试题:数组的常用算法实现
  3. 预约活动报名登记缴费小程序开发制作功能介绍
  4. 修改本机域名localhost为任意你想要的名称
  5. 八大数据结构及常见面试题
  6. 浅谈数据库操作的左连接、右连接、内外连接的作用
  7. oracle startup open ora 03113,解决oracle数据库ORA-03113问题
  8. android apk 加密
  9. Mac 怎样安装虚拟机(VMware fusion 12)
  10. 软件测试-测试需求分析