当前位置: 首页 > news >正文

Mac环境下反编译apk

Mac环境下反编译apk

  • 安装反编译工具
    • dex2jar:[官网下载](https://sourceforge.net/projects/dex2jar/)
    • JD-GUI:[官网下载](https://jd-gui.apponic.com/)
  • 实操
    • 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
    • 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

// 没有权限:使用命令终端进入 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 工具即可
    在这里插入图片描述
    在这里插入图片描述

相关文章:

  • 高性能NVMe Host Controller IP
  • 翻译!翻译!AI是什么?
  • python 写自动点击爬取数据
  • 2024年Mac专用投屏工具AirServer 7 .27 for Mac中文版
  • MySQL第三战:CRUD,函数1以及unionunion all
  • 软件测试|深入学习 Docker Logs
  • 阿里云服务器端口PPTP 1723放行教程
  • unity C# 中通俗易懂LINQ使用案例
  • AI:118-基于深度学习的法庭口译实时翻译
  • Linux系统使用超详细(八)~磁盘管理
  • Spring——Spring AOP1(代理模式Proxy)
  • 基于 ESP32-C3 开启 Flash 加密和安全启动并进行 OTA 测试
  • 玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 开发板详情与规格
  • Reids原理及简单命令
  • 三叠云流程制造ERP:构建智慧工厂,实现高效生产管理
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Javascript弹出层-初探
  • Java深入 - 深入理解Java集合
  • Java小白进阶笔记(3)-初级面向对象
  • Lucene解析 - 基本概念
  • PV统计优化设计
  • Redis在Web项目中的应用与实践
  • Spring Boot MyBatis配置多种数据库
  • Swoft 源码剖析 - 代码自动更新机制
  • Wamp集成环境 添加PHP的新版本
  • 从PHP迁移至Golang - 基础篇
  • 解析 Webpack中import、require、按需加载的执行过程
  • 使用parted解决大于2T的磁盘分区
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 译有关态射的一切
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​flutter 代码混淆
  • #{}和${}的区别是什么 -- java面试
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (10)ATF MMU转换表
  • (2)MFC+openGL单文档框架glFrame
  • (2)nginx 安装、启停
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (七)c52学习之旅-中断
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)LINQ之路
  • .Net IOC框架入门之一 Unity
  • .NET Project Open Day(2011.11.13)
  • .net 获取url的方法
  • 。Net下Windows服务程序开发疑惑
  • @Builder用法
  • [2]十道算法题【Java实现】
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
  • [AIGC] Spring Interceptor 拦截器详解
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
  • [AX]AX2012 R2 出差申请和支出报告