惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
MongoDB | Blog
MongoDB | Blog
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
B
Blog
小众软件
小众软件
T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
I
InfoQ
Engineering at Meta
Engineering at Meta
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
H
Help Net Security
雷峰网
雷峰网
S
SegmentFault 最新的问题
V
Visual Studio Blog
爱范儿
爱范儿

博客园 - 观海云不远

ChatView:把 ChatGPT / Claude 对话保存、分享和发布成独立网页 AI对普通人到底有什么用?这8个场景告诉你答案 用 AI 做点不一样的事:你出想法,我来实现 Python 调试工具PDB的基本使用 帮园子算账省钱 linux I/O性能优化 Linux内存问题排查工具 CPU优化方案 系统中出现大量不可中断进程和僵尸进程怎么办? CPU 使用率过高怎么办 CPU上下文切换 到底应该怎么理解“平均负载”? iOS开发学习笔记(OC语言)——block使用示例 iOS开发学习笔记(OC语言)——调起APP(URL Scheme) iOS开发学习笔记(OC语言)——文件基本操作 iOS开发学习笔记(OC语言)——网络请求 iOS开发学习笔记(OC语言)——底部tab栏 iOS开发学习笔记(OC语言)——线程安全的单例 iOS开发学习笔记(OC语言)——UIView和UIViewController生命周期 Jenkins安装配置回滚
Mac 下反编译Android APK
观海云不远 · 2019-11-08 · via 博客园 - 观海云不远

准备工作:安装ApkTool、dex2jar、JD-GUI

安装ApkTool

1、下载ApkTool。大家可以从 https://ibotpeaches.github.io/Apktool/install/ 上下载ApkTool

2、安装ApkTool

(1)将下载好的apktool文件与apktool_2.4.0.jar文件准备好,并将apktool_2.4.0.jar更名为apktool.jar;

(2)将apktool.jar与apktool移动到/usr/local/bin目录下(可以通过在终端中输出命令open /usr/local/bin来打开这个目录);

(3)为上述两个文件增加可执行权限,即在终端中输入并执行:

 chmod +x apktool.jar
 chmod +x apktool

(4)在终端输入apktool看是否可以运行,如果不可以需要在系统偏好设置中打开安全与隐私中点击仍要运行apktool.jar;

安装dex2jar

大家可以从https://sourceforge.net/projects/dex2jar/files/ 上下载dex2jar

安装JD-GUI

大家可以从 http://jd.benow.ca/ 上下载JD-GUI

1、使用ApkTool反编译APK得到xml文件、AndroidManifest.xml和图片

cd [apkdir]
apktool d xxx.apk //该命令执行后会在同级目录下生成一个与你编译的apk同名的目录

通过上述命令就可以反编译apk了。

2、dex2jar将dex反编译成jar

第一步,解压apk获得dex文件

使用解压软件将apk进行解压(直接把后缀名改为.zip),得到classes.dex文件。有时有多个classes.dex文件(这是因为应用了MultiDex所致)。将classes.dex文件拷贝到下载解压的dex2jar目录下。然后执行如下代码进行反编译:

cd [你的dex2jar解压目录] 
sh d2j-dex2jar.sh classes.dex
sh d2j-dex2jar.sh classes2.dex

通过上述命令会得到一个或多个.jar文件(一个classes.dex产生一个jar文件)

3、使用JD-GUI查看反编译后的程序源码

将dex转换成jar之后接下来我们就可以使用JD-GUI来查看反编译后的程序源码了

操作步骤很简单,只需双击运行jd-gui-1.4.0.jar,然后将classes-dex2jar.jar拖拽到JD-GUI界面上即可