Mac反编译APK

文章目录

  • 第一种方式: brew install
    • apktool 使用说明
    • dex2jar 使用说明
  • 第二种方式: 下载安装包
    • apktool 使用说明 (根据官方介绍没有操作成功,后续成功再更新这里)
    • dex2jar 使用说明
  • 安装 JD-GUI 查看jar包中的class文件
    • JD-GUI 使用说明

第一种方式: brew install

安装过程可能很慢,耐心等待即可,如果失败的话多次重试, 实在下载不了就考虑第二种方式

brew install apktool
brew install dex2jar

apktool 使用说明

cd Desktop
apktool d /Users/gerry.liang/Desktop/SpotifyAAM.apk

在这里插入图片描述

dex2jar 使用说明

  1. 直接把.apk后缀改为.zip 并解压得到 classes.dex
    在这里插入图片描述
  2. cd Desktop
  3. d2j-dex2jar /Users/gerry.liang/Desktop/SpotifyAAM/classes.dex
    在这里插入图片描述

第二种方式: 下载安装包

https://apktool.org/docs/install/ 官方介绍&下载地址
在这里插入图片描述

apktool 使用说明 (根据官方介绍没有操作成功,后续成功再更新这里)

  1. Download the Mac wrapper script. (Right click, Save Link As apktool)
  2. Download the latest version of Apktool.
  3. Rename the downloaded jar to apktool.jar.
  4. Move both apktool.jar and apktool to /usr/local/bin. (root needed)
  5. Make sure both files are executable. (chmod +x)
  6. Try running apktool via CLI.

https://github.com/pxb1988/dex2jar/releases/ 官方Github介绍&下载地址
[图片]

dex2jar 使用说明

  1. 直接把.apk后缀改为.zip 并解压得到 classes.dex 和 classes2.dex在这里插入图片描述

  2. 复制classes.dex 和 classes2.dex 到 dex2jar的目录下
    在这里插入图片描述

  3. 执行 dex2jar.sh 脚本生成 jar 文件

  4. cd /Users/gerry.liang/Downloads/dex-tools-v2.4

  5. sh d2j-dex2jar.sh classes.dex
    在这里插入图片描述

安装 JD-GUI 查看jar包中的class文件

这一步可选,你也可以直接用Android Studio打开jar包查看

https://github.com/java-decompiler/jd-gui/releases 官方Github介绍&下载地址
[图片]

JD-GUI 使用说明

在这里插入图片描述
在这里插入图片描述
这样就可以查看代码了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/794628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 mitmproxy 抓包 grpc

昨天在本地执行 grpc 的 quick start(python版本的),我了解 grpc 内部使用的是 HTTP2,所以我就想着抓包来试试,下面就来记录一下这个过程中的探索。 注意:我的电脑上面安装了 Fiddler Classic,…

微信小程序生命周期管理:从数据初始化到事件绑定

作为一个独立的应用开发平台,微信小程序提供了自己的生命周期机制,与我们熟悉的Vue.js框架有一些差异。掌握小程序生命周期的特点和使用技巧,对于开发高质量的小程序应用至关重要。深入理解和掌握小程序生命周期的使用技巧,将有助于我们构建出更加健壮和可维护的小程序应用。 小…

可视化大屏 - 项目1

文章目录 技术栈echarts 可视化需求分析代码实现 技术栈 flexible.js rem 实现不同终端下的响应式布局,根据不同屏幕宽度,自适配布局; html中引入index.js,可以改名为flexible.js;默认划分10份,可以自己修…

Linux存储的基本管理

实验环境: 系统里添加两块硬盘 ##1.设备识别## 设备接入系统后都是以文件的形式存在 设备文件名称: SATA/SAS/USB /dev/sda,/dev/sdb ##s SATA, dDISK a第几块 IDE /dev/hd0,/dev/hd1 ##h hard VIRTIO-BLOCK /de…

SQLAlchemy 建立数据库模型之间的关系

常见关系: 一对多关系多对一关系多对多关系一对一关系 一对多关系(一个作者,多篇文章) ## 一对多关系,单作者-多文章,外键不可少 ## 外键(ForeignKey)总在多的那边定义,关系(relationship)总在单的那边定…

gitee代码上传同步指南(git操作)

1.下载安装git 最开始安装git,下载链接:CNPM Binaries Mirror 选择对应版本下载git即可 2.生成ssh公钥 电脑桌面右键,选择Open Git Bash here 需要注意,在git中复制粘贴功能和windows不同,它有两种方式&#xff…

解码零跑汽车2023年报:营收增速大幅滑坡,净亏42亿,如何讲故事

在2023年的新势力车企中,有这么一家低调崛起的品牌,并没有像蔚小理那样高调,但去年全年销量却反超小鹏汽车,晋升成为新势力车企中的销量第三名,它就是第四家登陆港交所上市的新势力品牌—零跑汽车。 不过,…

蓝桥集训之斐波那契前n项和

蓝桥集训之斐波那契前n项和 核心思想&#xff1a;矩阵乘法 左边求和 右边求和 得到Sn fn2 – 1 因此只要求出fn2 即可 #include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;int n,m;int A[2][2] { …

【数据库】MySQL InnoDB存储引擎详解 - 读书笔记

MySQL InnoDB存储引擎详解 - 读书笔记 InnoDB 存储引擎概述InnoDB 存储引擎的版本InnoDB 体系架构内存缓冲池LRU List、Free List 和 Flush List重做日志缓冲&#xff08;redo log buffer&#xff09;额外的内存池 存储结构表空间系统表空间独立表空间通用表空间undo表空间临时…

学习记录:bazel和cmake运行终端指令

Bazel和CMake都是用于构建软件项目的工具&#xff0c;但它们之间有一些重要的区别和特点&#xff1a; Bazel&#xff1a; Bazel是由Google开发的构建和测试工具&#xff0c;用于构建大规模的软件项目。它采用一种称为“基于规则”的构建系统&#xff0c;它利用构建规则和依赖关…

6、【单例模式】确保了一个类在程序运行期间只有一个实例

你好&#xff0c;我是程序员雪球 在软件设计中&#xff0c;单例模式是一种常见的设计模式。它确保了一个类在程序运行期间只有一个实例&#xff0c;并提供了全局访问该实例的方式。单例模式在许多场景中都有广泛的应用&#xff0c;例如共享资源管理、数据库连接、日志记录器等…

ES6学习(五)-- Module 语法

文章目录 Module 语法1.1 痛点介绍(1) 异步加载(2) 私密(3) 重名(4) 依赖 1.2 解决方法(1) 解决异步加载问题(2) 解决私密问题(3) 重名解决方法(4) 解决依赖问题 1.3 模块化使用案例 Module 语法 之前js 出现的某些痛点&#xff1a; 在script 中引入的变量名不可以重复&#…

国内20家公司大模型岗位面试经验汇总

面试情况&#xff1a; 投过的公司&#xff1a;淘天&#xff0c;字节&#xff0c;蚂蚁&#xff0c;商汤&#xff0c;美团&#xff0c;夸克&#xff0c;腾讯&#xff0c;minimax&#xff0c;零一万物&#xff0c;阿里控股&#xff0c;潞晨科技&#xff0c;阿里巴巴国际&#xff…

【GEE实践应用】GEE下载遥感数据以及下载后在ArcGIS中的常见显示问题处理(以下载哨兵2号数据为例)

本期内容我们使用GEE进行遥感数据的下载&#xff0c;使用的相关代码如下所示&#xff0c;其中table是我们提前导入的下载遥感数据的研究区域的矢量边界数据。 var district table;var dsize district.size(); print(dsize);var district_geometry district.geometry();Map.…

整合Mybatis(Spring学习笔记十二)

一、导入相关的包 junit 包 Mybatis包 mysql数据库包 Spring相关的包 Aop相关的包 Mybatis-Spring包&#xff08;现在就来学这个&#xff09; 提示jdk版本不一致的朋友记得 jdk8只支持spring到5.x 所以如果导入的spring(spring-we…

第1章:芯片及引脚介绍

芯片及引脚介绍 1&#xff1a; 芯片介绍1.1&#xff1a;芯片系列1.2 &#xff1a;STM32F103C8T6型号的介绍 2&#xff1a;引脚2.1&#xff1a;寄存器2.2&#xff1a;最小系统板 3&#xff1a;最小系统板的引脚3.1&#xff1a;特殊引脚3.2&#xff1a;普通引脚3.3&#xff1a;最…

BoostCompass —— 搜索引擎

文章目录 一、项目简介二、Boost库简介1. 简介2. Boost 库的特点 三、项目主要模块1. 网页内容获取&#xff0c;数据预处理模块2. 建立正排索引和倒排索引&#xff0c;项目核心模块3. 编写 http_server 模块&#xff0c;进行网络开放 四、项目功能预览1. 项目文件预览2. 项目执…

java自动化测试学习-03-06java基础之运算符

运算符 算术运算符 运算符含义举例加法&#xff0c;运算符两侧的值相加ab等于10-减法&#xff0c;运算符左侧减右侧的值a-b等于6*乘法&#xff0c;运算符左侧的值乘以右侧的值a*b等于16/除法&#xff0c;运算符左侧的值除以右侧的值a/b等于4%取余&#xff0c;运算符左侧的值除…

开启短剧盈利新模式:短剧CPS分销系统开发助力创作者与分销商共赢

在数字内容蓬勃发展的今天&#xff0c;短剧以其独特的魅力迅速占领了市场的一席之地。短剧以其紧凑的剧情、精彩的演绎&#xff0c;吸引了大量用户的关注和喜爱。然而&#xff0c;如何在短剧市场中实现商业价值的最大化&#xff0c;一直是业内关注的焦点。为此&#xff0c;我们…

个人品牌打造IP孵化运营培训教程架构课件

【资料持续更新&#xff0c;以防走丢】 个人品牌打造IP孵化运营培训教程架构课件 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 个人品牌运营合集 &#xff08;完整资料包含以下内容&#xff09;目录 详细的个人IP运营方案&#xff1a; 1. 确定个人定位和…