一款基于Qt C++构建的Windows平台APK逆向工程与Android设备管理一体化GUI工具,集成Apktool、APKEditor、签名工具和ADB等功能。
## 📖 目录
点击展开 / 折叠
1. [关于本项目](#about)
2. [重要免责声明](#disclaimer)
3. [Python 版本可用](#python-version)
4. [深度功能展示](#features)
- [1. 高级反编译与编译引擎](#engine)
- [2. 加密、签名与 Zipalign](#crypto)
- [3. DEX 操作、Smali 与 APK 合并](#dex)
- [4. 终极 ADB 设备管理器与 WiFi 配对](#adb)
- [5. 专业 UI/UX 与架构](#uiux)
5. [前置条件与系统要求](#prerequisites)
6. [安装与使用指南](#installation)
7. [项目架构与源码树](#architecture)
8. [嵌入式工具与开源许可证](#tools)
9. [许可证与版权](#license)
10. [作者与联系方式](#contact)
## 🚀 关于本项目
**MyApkTool Pro** 是一款精心打造的、集所有功能于一体的桌面应用程序,专为专业的 Android 开发者、恶意软件分析师、逆向工程师和渗透测试人员设计。
通过命令行界面 (CLI) 手动修改、编译、签名和管理 Android 应用程序不仅繁琐、容易出错,而且耗时。MyApkTool Pro 通过将世界上最强大的 Android CLI 工具——如 `apktool`、`APKEditor`、`zipalign`、`apksigner`、`baksmali` 和 `adb`——封装到一个由 **C++ 和 Qt 框架** 驱动的精美、高性能图形用户界面 (GUI) 中,从而解决了这一问题。
无论您是在翻译应用程序、移除预装软件、修补漏洞,还是通过无线网络管理一组 Android 设备,MyApkTool Pro 都能提供流畅、不间断的工作流程。
## ⚠️ 重要免责声明
## 🐍 Python 版本可用(最新!)
对于更喜欢 **Python** 而不是 C++ 的开发者和研究人员,我非常高兴地宣布与才华横溢的 **AmrKhaled** 的合作!
我们已经将 **MyApkTool Pro** 移植为一个功能完备的 Python 应用程序,保留了完全相同的功能强大的 GUI、特性和能力。
如果您喜欢修改 Python 脚本并在无需设置 C++ 编译器的情况下即时定制工具,这就是为您准备的!
- **Python 仓库:** [AmrKhaled-Tech/ApkTool-Pro](https://github.com/AmrKhaled-Tech/ApkTool-Pro)
- **直接下载 (Zip):** [在此下载 Python 版本](https://github.com/AmrKhaled-Tech/ApkTool-Pro/archive/refs/heads/main.zip)
## ✨ 深度功能展示
### 1. 高级反编译与编译引擎
MyApkTool Pro 的核心在于其强大的 APK 操作引擎。它不仅仅是运行工具,而是智能地管理它们的环境。
* **双引擎支持:** 根据 APK 的复杂程度,在 **Apktool** 和 **APKEditor** 之间即时切换。Apktool 非常适合深度资源编辑,而 APKEditor 则针对速度和绕过反编译技巧进行了深度优化。
* **深度解码:** 准确地将 `resources.arsc` 解码为可读的 XML 文件,并将 `classes.dex` 解码为 Smali 源代码。
* **现代应用兼容性:** 全面支持 **AAPT2** 以及包含多个 DEX 文件(`classes2.dex` 到 `classes9.dex`)的大型 APK。
* **Framework 管理:** 正在开发系统应用?通过 UI 轻松安装自定义 OEM framework 文件(三星、小米等),以便无误地反编译专有应用。包含一键“清除 Framework 缓存”功能。
* **智能编译:** 根据项目文件夹(例如检查是否存在 `apktool.yml`)自动检测反编译引擎。使用显式的 `-o` 输出标志进行编译以防止命名冲突,自动将最终构建文件复制到专用的 `output/` 文件夹并在 Windows 资源管理器中高亮显示。
### 2. 加密、签名与 Zipalign
现代 Android 版本中的安全限制需要精确的签名方案。我们已经自动化了整个加密过程。
* **V1、V2 和 V3 签名:** 由 `apksigner.jar` 驱动,确保您修改后的 APK 能在最新的 Android 版本上完美安装。
* **Zipalign 优化:** 配置 Zipalign 在签名*之前*或*之后*运行(这对于 V2/V3 方案至关重要),具有可自定义的 4 字节对齐,以优化 Android 设备上的 RAM 使用。
* **高级 Keystore 管理器:** 停止使用终端命令生成密钥。直接从 GUI 对话框创建自定义 `.jks` 或 `.keystore` 文件,包含完整的专有名称 (DN) 字段:通用名称 (CN)、组织单位 (OU)、组织 (O)、地区 (L)、州/省 (ST) 和国家 (C)。
* **多配置文件系统:** 应用程序将您的活动 keystore 凭据(密码、别名、密钥密码)安全地保存到 `config.json` 文件中。通过 QComboBox 在不同的开发者身份之间即时切换,无需重新输入密码。
* **智能 Keytool 检测:** 应用程序通过检查 `JAVA_HOME`、标准 Oracle 路径、Amazon Corretto 和 Android Studio 目录,智能地搜寻 `keytool.exe`。
* **后备测试密钥:** 包含内置的 AOSP 测试密钥(`testkey.pk8` 和 `testkey.x509.pem`)用于快速调试。
### 3. DEX 操作、Smali 与 APK 合并
适用于希望对字节码进行精细控制的逆向工程师。
* **直接 Baksmali/Smali:** 无需反编译整个 APK。使用 `baksmali.jar` 直接将独立的 `.dex` 文件反汇编为 Smali 目录,编辑字节码,然后单击按钮使用 `smali.jar` 将其重新组装回 `.dex` 文件。
* **合并 Split APKs:** 现代 Google Play 应用程序作为 App Bundles (Split APKs) 分发。使用嵌入式 APKEditor 引擎浏览多个拆分 APK(base、config.xxhdpi、config.en)并将它们合并为一个通用的 APK。
* **APK 元数据提取:** 无需反编译即可快速读取内部清单。使用 `aapt dump badging` 提取包名、版本号、请求的权限和主活动。
### 4. 终极 ADB 设备管理器与 WiFi 配对
忘掉命令提示符。通过整洁、响应迅速的 UI 管理您连接的设备。
* **智能设备发现:** 自动检测并列出已连接的 USB 和 WiFi 设备。
* **下一代 WiFi 扫描器(Android 11+ 配对):**
* 具有高度激进的静默并行 ping 扫描器,利用 **200 个线程** 发现网络上支持 ADB 的设备。
* 使用 `CREATE_NO_WINDOW` 标志,确保您的屏幕不会被闪烁的 CMD 窗口干扰。
* 通过 `ipconfig` 解析本地子网,并添加智能回退子网(`192.168.x.x`、`172.20.10.x`、`10.0.0.x`)。
* 用于 Android 11+ 无线调试配对的完整 GUI 对话框(IP:端口 + 配对码)。
* **包管理器:** 查看设备上安装的所有应用程序。按系统应用、用户应用或所有应用筛选。包含实时搜索/过滤栏。
* **提取与备份:** 直接从设备提取任何已安装的 APK(包括多拆分 APK)到您的 PC。
* **安装与卸载:** 从您的 PC 安装 APK 到设备(具有强制降级 `-d` 或仅测试 `-t` 标志的智能回退)。单击即可卸载软件包。
### 5. 专业 UI/UX 与架构
专为那些每天盯着屏幕 12 小时的人打造。
* **深色 / 浅色模式:** 完全可自定义的 Qt 样式表 (QSS),带来惊艳、护眼的界面。
* **自定义无边框窗口:** 现代桌面体验,具有可拖动的自定义标题栏,摒弃过时的 Windows 原生边框。
* **动态启动画面:** 美丽的 5 秒动画加载界面,具有进度弧线和显示后台工具初始化的实时状态消息。
* **实时富文本日志:** 可视化控制台输出面板,捕获所有命令行工具的 `stdout` 和 `stderr`。具有颜色编码的文本(成功 = 绿色,错误 = 红色,命令 = 蓝色,警告 = 黄色)。包含复制、清除和切换可见性按钮。
* **安全线程:** 所有繁重的操作(反编译、扫描)都在单独的线程(`QtConcurrent` 或 `QProcess` 异步信号)上运行。UI 永远不会冻结,您可以使用“取消”按钮中止长时间运行的任务。
## ⚙️ 前置条件与系统要求
为了确保最佳性能和兼容性,请在运行或构建应用程序之前验证您的环境。
### 运行时要求(对于最终用户)
| 要求 | 详情 |
|---|---|
| **操作系统** | Windows 7 / Windows 10 / Windows 11(32 位或 64 位)。 |
| **Java 运行时 (JDK/JRE)** | **至关重要:** 运行 `.jar` 工具(Apktool、Signer)严格需要 Java。请确保设置了 `JAVA_HOME` 环境变量。
**官方支持的下载:**
🔗 [Java 21 (LTS)](https://www.oracle.com/java/technologies/downloads/#java21)
🔗 [Java 25](https://www.oracle.com/java/technologies/downloads/#java25)
🔗 [Java 9 归档](https://www.oracle.com/java/technologies/javase/javase9-archive-downloads.html) |
| **设备驱动程序** | 如果通过 USB 连接,需要标准的 Android USB 驱动程序(OEM 专用或 Google 通用)。 |
### 构建要求(对于开发者)
| 要求 | 版本 / 详情 |
|---|---|
| **Qt Framework** | 版本 **5.14.2**。(如果您计划分发单个 `.exe` 文件而不带 `.dll` 依赖项,强烈建议使用静态构建)。 |
| **编译器** | MinGW 7.3.0(32 位或 64 位)。 |
| **Qt 模块** | `Core`、`Gui`、`Widgets`、`Network`、`Concurrent`。 |
| **版本控制** | Git(用于克隆仓库)。 |
## 🛠️ 安装与使用指南
### 选项 1:快速开始(预构建的便携版 EXE)
如果您只想使用该工具而不想处理 C++ 代码:
1. 前往 [Releases 页面](https://github.com/alisakkaf/MyApkTool-Pro/releases)。
2. 下载最新的 `MyApkTool-vX.X-win32.zip`。
3. 将文件夹解压到您电脑上的任意位置(例如 `C:\MyApkTool`)。该应用程序是 100% 便携的。
4. 运行 `MyApkTool.exe`。
5. *首次启动的魔力:* 应用程序将自动把所有嵌入式工具(ADB、Apktool、AAPT 等)解压到隐藏/本地的 `tools/` 目录中。
6. 转到 **设置**,验证您的 Java 路径是否已被检测到,您就可以开始了!
### 选项 2:从源代码构建(对于开发者)
要自行编译 Qt C++ 源代码:
**1. 克隆源代码**
打开 CMD 或 PowerShell:
```
git clone https://github.com/alisakkaf/MyApkTool-Pro.git
cd MyApkTool-Pro
```
**2. 使用 Qt Creator 构建**
- 在 Qt Creator 中打开 `MyApkTool.pro`。
- 选择您的 MinGW 编译器。
- 构建并运行 `(Ctrl + R)`。
## 🏗️ 项目架构与源码树
```
📦 MyApkTool-Pro
┣ 📂 ui/ # UI layout files designed in Qt Designer
┣ 📂 src/ # Implementation code (C++)
┣ 📂 include/ # Header definitions (.h)
┣ 📂 assets/ # Visual assets (icons, styles, splash UI)
┣ 📂 tools/ # Auto-extracted external binaries
┣ 📜 MyApkTool.pro # Build configuration file
┗ 📜 README.md # Documentation (You are here)
```
## 🧩 嵌入式工具与开源许可证
MyApkTool Pro 充当各种出色的开源工具的 GUI 包装器。全部功劳归于其各自的作者:
* **[Apktool](https://ibotpeaches.github.io/Apktool/)** - 作者 iBotPeaches
* **[APKEditor](https://github.com/REAndroid/APKEditor)** - 作者 REAndroid
* **[Smali/Baksmali](https://github.com/JesusFreke/smali)** - JesusFreke
* **[ADB & Zipalign & AAPT](https://developer.android.com/studio/command-line)** - 作者 Google / Android Open Source Project
* **[Uber-APK-Signer](https://github.com/patrickfav/uber-apk-signer)** / apksigner - 作者 Google & patrickfav
## ⚖️ 许可证与版权
在 **MIT License** 下分发。有关更多信息,请参阅 `LICENSE`。
*您可以自由使用、修改和分发本软件,只要保留原始版权声明。*
## 👨💻 作者与联系方式
**Ali Sakkaf**
* **GitHub:** [@alisakkaf](https://github.com/alisakkaf)
* **作品集:** [mysterious-dev.com](https://mysterious-dev.com/)
* **XDA 论坛帖子:** [MyApkTool Pro 讨论](https://xdaforums.com/t/windows-tool-myapktool-pro-advanced-gui-for-apktool-signer-zipalign-adb-management-toolkit.4781628/)
如果您觉得这个工具有用,别忘了给这个仓库一个 ⭐️,以帮助它触达更多开发者!