Mac中对android apk进行反编译(apktool dex2jar jd-gui)-程序员宅基地

技术标签: 反编译  android  jar  apk  mac  Android  

参考文章:
http://blog.csdn.net/krubo1/article/details/51791535

一、准备工作

工具准备:

1.apktool

2.dex2jar

3.jd-gui

下载地址:点我

安装工具

apktool安装

下载后解压文件,进入到apltool-1.5.2 for mac文件夹中,可以看到apktool,apktool.jar和apt三个文件,将这三个文件拷贝到/usr/local/bin中。

注:由于/usr/local/bin属于隐藏保护的,磁盘上看不到,除了通过命令行进行复制操作外,我们也可以通过Fin der进行操作。以下两个操作选一个就可以!

使用Finder进行操作

打开Finder,点击菜单栏上的前往-->前往文件夹,然后在弹出框输入/usr/local/bin,就可以进入到该文件夹了,然后将上面三个文件复制到bin文件夹中。完成后如下图:

使用命令行进行复制

1.打开终端,输入命令cd /usr/local/bin,进入bin文件夹,此操作需要输入密码授权

2.输入命令 cd xxx/xxx/apltool,进入到下载的apktool文件夹中

    (先输入cd 然后直接拖动文件夹到终端上就可以了)

3.输入命令 sudo cp apktool apktool.jar apt /usr/local/bin,回车后就将三面的三个文件copy到了/usr/local/bin目录下

然后执行apktool命令查看是否安装成功:

xiaokaideiMac:apktool-1.5.2 for mac xiaokai$ apktool

执行后出现如下结果就是安装成功:

这里写图片描述

dex2jar不需要安装

jd-gui安装

点击jd-gui-0.3.5.osx.i686.dmg安装就可以

使用工具进行反编译

使用apktool获取资源文件

1.打开终端,输入命令cd xxxx/xxxx,进入所要反编译的apk文件夹

2.输入命令apktool d xxxx.apk ,进行反编译apk,结束后我们会发现在该文件下会出现一个与apk名称相同的文件夹,里面就有资源文件。

使用dex2jar, jd-gui反编译class.dex文件

1.将所有反编译的apk重命名,修改后缀为zip或rar等(你电脑安装的解压文件是什么就修改为什么),然后解压,我们会发现解压的文件夹中有个classes.dex文件。获取该文件的路径

2.打开终端,输入命令cd xxx/xxx/dex2jar,进入到下载的dex2jar文件夹中

3.输入命令sh dex2jar.sh xxx/xxx/xxx/classes.dex,进行反编译classes.dex,操作完后会在我们刚才解压的apk文件夹中生成一个classes-dex2jar.jar文件

xiaokaideiMac:dex2jar-0.0.9.15 xiaokai$ sh dex2jar.sh /Users/xiaokai/Downloads/米兔积木机器人/iqi.MiTuBuilder.apk/classes.dex 

4.打开jd-gui ,将classes-dex2jar.jar拖入jd-gui界面上,就能够看到java文件了

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Kenway090704/article/details/70157803

智能推荐

Stable Diffusion ControlNet 插件预览错误解决方案_(stable diffusion)中controlnet预处理不能显示-程序员宅基地

文章浏览阅读1k次,点赞12次,收藏14次。通过下载预处理器,解决Stable Diffusion ControlNet 插件预览错误_(stable diffusion)中controlnet预处理不能显示

yum 安装、 rpm安装、 源码编译安装_yum安装、rpm安装和编译安装的区别-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏10次。前言CentOS系统中安装一个软件一般有三种方式:yum 安装、二进制安装、源码包安装yum安装yum安装软件包是最方便的,如果有网络,可以直接联网安装,也可以下载rpm包来安装,如下:yum install httpd #直接联网安装yum install httpd.1.2.0.rpm #事先下载rpm包,等价于rpm -iv httpd.1.2.0.rpmyum安装软件联网的话可以自动解决依赖问题,非常方便,但是yum安装的软件无法自定义安装路径,这一点就有点不太好_yum安装、rpm安装和编译安装的区别

百家号攻略:教你如何在搜狐平台赚大钱-程序员宅基地

文章浏览阅读189次,点赞3次,收藏2次。身为教员小明的我,将为各位同学详细科普如何在搜狐百家号平台取利。想必该领域的话题定能引起同学们的浓烈兴致。言归正传,让我们切入主题。第一点:选择适合自己的领域。在百家号搜索引擎中赚取收益,首要任务便是明确自己的专业领域呢!可以选取擅长或热门市场需求的领域

Driver com.mysql.cj.jdbc.Driver claims to not accept jdbcUrl, “jdbc:mysql://localhost:3306/mybatis“_java.lang.runtimeexception: driver com.mysql.cj.jd-程序员宅基地

文章浏览阅读1.4k次。从而导致驱动无法识别这个url,修改即可._java.lang.runtimeexception: driver com.mysql.cj.jdbc.driver claims to not ac

Golang分片读取http超大文件流和并发控制_golang http 返回 arraybuffer-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏13次。Golang中的HTTP发送get请求,在获取内容有两种情况。resp, err := http.Get(sendUrl)if err != nil { fmt.Println("出错", err) return}第一种方式是直接全部读取出来,这种方式在小数据量的时候很方便。body变量直接全部接收resp响应内容body, err2 := ioutil.ReadAll(resp..._golang http 返回 arraybuffer

基于spring boot的小型诊疗预约平台—开题报告-程序员宅基地

文章浏览阅读730次,点赞23次,收藏6次。预期的实施方案:阅读大量文献,以开发规划中提出的目标为出发点,进行初步的系统分析,使用 UML 统一建模语言分析系统的用例模型、类模型、动态模型,根据此绘制出系统的用例图、类图和顺序图等。包括注册患者预约信息列表、修改、记录删除、查询以及密码的修改注册医师的预约挂号单情况查询及预约患者相关病情预览﹔系统管理员的预约确认处理进度查询。包括科室预约,专家预约,预约修改与取消。

随便推点

zookeeper 客户端 zkCli 命令详解_zooccck-程序员宅基地

文章浏览阅读954次。安装 zookeeperbrew install zookeeper启动/停止 zookeeperbrew services start zookeeperbrew services stop zookeeper配置文件配置文件位置:/usr/local/etc/zookeeper/下面是配置文件的内容:tickTime=2000# The number of tic..._zooccck

DSP开发:简单的C语言例子_dsp开发:简单的c语言例子-程序员宅基地

文章浏览阅读153次。如果你对更深入的DSP开发内容感兴趣,可以进一步学习相关的信号处理算法、滤波器设计方法和DSP优化技术。中,我们使用两个嵌套的循环来实现滤波器的卷积操作。通过累加乘积的方式,我们计算出输出信号的每个样本值。让我们来看一个简单的C语言例子,通过该例子我们将了解如何实现一个基本的数字滤波器。当然,实际的DSP开发涉及到更加复杂的算法和数据结构,但这个例子为我们打下了基础。在DSP开发中,C语言是一种常用的编程语言,因为它具有较高的可移植性和易于理解的语法。函数,我们实现了对输入信号的滤波操作,并将结果存储在。_dsp开发:简单的c语言例子

4G无线网络音柱 离线广播音柱 森林防火广播音柱 云广播音柱 气象防治广播音柱 平安城市平安社区广播音柱 景区广播音柱 免布线广播音柱-程序员宅基地

文章浏览阅读73次。SV-7042UG 4G无线网络音柱(工业级)一、描述SV-7042UG是深圳锐科达电子有限公司的一款壁挂式4G无线网络音柱,通过4G无线卡联网,可将网络音源通过自带的功放和喇叭输出播放,其采用防水设计,功率40W。SV-7042UG作为网络广播播放系统的终端,可用于需要广播播放的场所,例如智慧城市、校园广播、公园景区、工厂企业,包括平安社区,村村通广播等。SV-7042UG是一款简单的带功放输出的4G无线网络音柱,除了可以实时4G流广播外,同时提供离线广播功能,不消耗4G流量。SV-7042UG与服

知识体系(Android/深度学习等),各技术栈及行业_2012年的android开发架构和技术栈-程序员宅基地

文章浏览阅读3.9k次。学习至少半打的编程语言。包括一种支持类抽象的语言(象 Java 或 C++),一种支持函数化抽象的语言(象 Lisp 或 ML),一种支持语法抽象的语 言(象 Lisp),一种支持声明规格说明的语言(象 Prolog 或 C++ 的模板),一种支持共行程序(coroutine)的语言(象 Icon 或 Scheme),一种支持并行的语言(象 Sisal)。进击的Android技能树- htt..._2012年的android开发架构和技术栈

C语言实验报告5_56学时_c语言定义double型数组-程序员宅基地

文章浏览阅读955次,点赞4次,收藏5次。指针实验实验一题目:原样输入实验指导书实验六exp6_1.c源代码。要求:① 编辑、编译、链接并运行程序,观察运行结果。② 观察4个用于交换的函数,观察对应的形参与实参,注意正确的调用形式。分析为什么有的能实现实参变量的交换而有的不能。③ 用F10键单步跟踪程序,运行到函数调用语句时改用F11键,进入被调函数内再用F10键观察每一步程序运行时实参与形参的作用域以及值的变化情况。源代码:`#include 实验二题目:定义一维数组和一级指针double array[10],*p,并依.._c语言定义double型数组

SIFT和SURF特征提取分析(小结篇)_sift surf计算复杂度-程序员宅基地

文章浏览阅读695次。原文 http://blog.csdn.net/songzitea/article/details/18271091 主题 特征选择 高斯引言 本节主要是David Lowe对于SIFT算法的阐述Distinctive Image Features from Scale-Invariant Keypoints和Herbert Bay, Andreas _sift surf计算复杂度

推荐文章

热门文章

相关标签