Mac环境下反编译apk

news/2024/6/14 21:37:02 标签: android studio, 反编译, mac, android

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 工具即可
    在这里插入图片描述
    在这里插入图片描述

http://www.niftyadmin.cn/n/5300684.html

相关文章

puppeteer入门指南

一、简介 Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome。 二、使用 1、安装nodejs最新版 2、安装puppeteer-core npm install puppeteer-core 3、编写main.js const puppeteer require(puppeteer-core);(as…

MT8766安卓核心板规格参数_MTK8766核心板模块方案定制

MT8766安卓核心板:高性能、稳定可靠、集成度高的一体化解决方案 MT8766安卓核心板采用联发科MTK8766四核4G模块方案,是一款高度集成的安卓一体板。四核芯片架构,主频可达到2.0GHz,支持国内4G全网通。12nm制程工艺,支持…

一个项目的上线全过程

营业执照 个体户(700执照、2年财务代理 4000) 一张一类卡,转卡专用(个人卡) 120w 45%企业资质(个体户) 企业微信(300元/年、公众号、小程序) 相关手续 备案域名去申请支付…

TCP_可靠数据传输原理

引言 在网络通信中,TCP是确保数据可靠传输的关键协议。但在我们深入研究TCP拥塞控制技术之前,让我们先探索可靠数据传输的原理,特别是TCP头部中一些重要字段的作用。 网络层提供了点对点的通信服务,努力交付数据报,但…

JAVA对象、List、Map和JSON之间的相互转换

JAVA对象、List、Map和JSON之间的相互转换 1.Java中对象和json互转2.Java中list和json互转3.Java中map和json互转 1.Java中对象和json互转 Object obj new Object(); String objJson JSONObject.toJSONString(obj);//java对象转json Object newObj JSONObject.parseObject(…

网络通信(4)-数据链路层解析

目录 一、概念 二、数据链路层的作用 三、数据链路层的三个基本问题

C++上位软件通过Snap7开源库访问西门子S7-1200/S7-1500数据块的方法

前言 本人一直从事C上位软件开发工作较多,在之前的项目中通过C访问西门子PLC S7-200/S7-1200/S7-1500并进行数据交互的应用中一直使用的是ModbusTCP/ModbusRTU协议进行。Modbus上位开源库采用的LibModbus。经过实际应用发现Modbus开源库单次发送和接受的数据不能超过…

SpringCloud微服务 实现幂等处理

在微服务架构中,幂等性是指用户针对同一接口的一次请求或多次请求的结果是一致的,不会因为多次执行而产生副作用。在SpringCloud微服务中实现幂等处理,可以通过以下几种方式: 1. **使用分布式锁**: 在微服务中,可以通过分布式锁来保证在某一时刻只有一个请求在对某个资…