Mac环境下反编译apk

Mac环境下反编译apk

  • 安装反编译工具
  • 实操
    • [1. 将需要反编译的 .apk 文件放在下载的 dex2jar 文件夹目录下](#1. 将需要反编译的 .apk 文件放在下载的 dex2jar 文件夹目录下)
    • [2. 使用 cd /xxx/dex2jar-2.0 命令进入 dex2jar 文件夹下,将 dex2jar 文件夹里的 d2j-dex2jar.sh 文件拖进命令框然后空格再将 .apk 文件拖进来,直接执行,然后会在 dex2jar 文件夹下生成一个 .jar 文件](#2. 使用 cd /xxx/dex2jar-2.0 命令进入 dex2jar 文件夹下,将 dex2jar 文件夹里的 d2j-dex2jar.sh 文件拖进命令框然后空格再将 .apk 文件拖进来,直接执行,然后会在 dex2jar 文件夹下生成一个 .jar 文件)
    • [3. 打开下载的 JD-GUI 程序(在下载的文件夹中)](#3. 打开下载的 JD-GUI 程序(在下载的文件夹中))
    • [4. 将 dex2jar 文件夹下生成的 .jar 文件拖进 JD-GUI 工具中即可查看源码](#4. 将 dex2jar 文件夹下生成的 .jar 文件拖进 JD-GUI 工具中即可查看源码)
  • 常见问题
    • [zsh: permission denied](#zsh: permission denied)
    • [This program requires Java 1.8+](#This program requires Java 1.8+)

安装反编译工具

dex2jar:官网下载

JD-GUI:官网下载

实操

1. 将需要反编译的 .apk 文件放在下载的 dex2jar 文件夹目录下

2. 使用 cd /xxx/dex2jar-2.0 命令进入 dex2jar 文件夹下,将 dex2jar 文件夹里的 d2j-dex2jar.sh 文件拖进命令框然后空格再将 .apk 文件拖进来,直接执行,然后会在 dex2jar 文件夹下生成一个 .jar 文件


3. 打开下载的 JD-GUI 程序(在下载的文件夹中)

4. 将 dex2jar 文件夹下生成的 .jar 文件拖进 JD-GUI 工具中即可查看源码


常见问题

zsh: permission denied

java 复制代码
// 没有权限:使用命令终端进入 dex2jar-2.0 文件夹路径下,依次执行以下命令即可
sudo chmod +x d2j_invoke.sh
sudo chmod +x d2j-dex2jar.sh

This program requires Java 1.8+

  1. 右键点击 JD-GUI 工具选择显示包内容
  2. 进入 Contents 文件夹
  3. 打开 Info.plist 文件
  4. 全局搜索 1.8+ 删除 1.8+ 保存重新打开 JD-GUI 工具即可

相关推荐
xingxiliang5 小时前
深入浅出 Android CTS 视频测试:从环境搭建、用例设计到底层通信原理
android·音视频
我命由我123455 小时前
Android 开发问题:为 PDFView 设置一个带有黑色边框的背景 drawable,但边框没有生效
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
雨白7 小时前
深入理解 Kotlin 协程 (八):拾遗补阙,探秘官方框架的调度细节与取消闭环
android·kotlin
海天鹰9 小时前
PHP上传文件
android·开发语言·php
2501_9159184110 小时前
详解iOS App上架至App Store的全流程步骤与注意事项
android·macos·ios·小程序·uni-app·cocoa·iphone
码农coding11 小时前
android12 SystemUI之StatusBar(二)
android
Lesile13 小时前
Interview#1 历史演进:MVC · MVP · MVVM · MVI架构详解
android·android jetpack
杉氧14 小时前
Flutter 像素级还原实战:用 CustomPaint 与 Bezier 曲线手绘精致图针
android·前端·flutter
我命由我1234516 小时前
Android 在构建过程中,发现有两个依赖库都包含了相同路径的资源文件
android·java·开发语言·java-ee·kotlin·android-studio·android runtime
Coffeeee17 小时前
谷歌的一个优化建议,让我重新学了一遍Android里面如何正确处理位图
android·google·kotlin