insomn14/REvamp
GitHub: insomn14/REvamp
将移动端渗透测试核心工具链整合到单一原生桌面 GUI 的端到端安全评估应用。
Stars: 0 | Forks: 0

# REVAMP
**逆向工程 漏洞评估 移动渗透**
一款用于端到端移动(Android 和 iOS)安全评估的原生桌面 GUI 应用。
[](https://github.com/insomn14/REvamp/releases/latest)
[](https://github.com/insomn14/REvamp/releases)
[]()
[](#license)
[**⬇ 下载 macOS 版**](https://github.com/insomn14/REvamp/releases/latest) • [**⬇ 下载 Linux (.deb) 版**](https://github.com/insomn14/REvamp/releases/latest)
## 什么是 REVAMP
REVAMP 将移动端渗透测试人员的日常工具链整合到了一个单一的离线桌面应用程序中。你不再需要为了使用 `adb`、`frida`、`jadx`、`apktool`、`ssh` 以及临时脚本而在多个终端会话之间来回切换,REVAMP 为你提供了一个涵盖从设备发现到动态插桩的整个移动评估生命周期的单一界面。
所有操作均在本地运行。没有遥测。除了被测试的设备外,不会进行任何网络调用。
## 核心功能
### 📱 设备管理
- 在一个列表中**并排**检测 Android 设备(通过 ADB 的 USB 和 Wi-Fi 连接)和越狱的 iOS 设备(SSH)。
- 通过**密码 / 身份文件 / SSH-agent** 身份验证手动添加 iOS 设备。
- TCP 连接到远程 ADB 端点;按会话转发和反向转发端口。
- 实时设备状态徽章、在线/离线追踪以及基于平台的功能门控。
### 📦 应用管理
- 浏览所有已安装的包(系统 + 用户),提供可搜索的列表。
- 解析真实的本地化应用名称 —— 依次回退遍历 `dumpsys`、`aapt dump badging` 和 `cmd package resolve-activity`,直到找到清晰的标签。
- 每个应用都有标签子视图:**应用详情**(包名、版本、SDK、大小、安装路径)和 **Activities**。
- **启动任何 Activity**,包括未导出的 Activity —— 在已 Root 的设备上会自动进行 `su` 提权。
- 一键 **提取 APK**、**反编译**、**使用 Frida Hook**、**分析**。
### 🔍 APK 分析
- 一键静态分析流水线(manifest、加壳工具、编译器、混淆器、反分析指标)。
- 支持搜索和过滤的结果表格。
- 直接将磁盘上的任何 APK 或从设备拉取的 APK 传递给反编译器进行处理。
### 🛠 反编译
- 运行 **JADX** 或 **Apktool**,带有进度跟踪和可排队的任务。
- 内置文件浏览器,采用**延迟目录加载** —— 打开一个 300+ MB / 50,000+ 文件的输出几乎是瞬间完成的;子目录会在你展开时在后台加载。
- 只读源码查看器,具有**语法高亮**(Java、Smali、XML、JSON、YAML 等)和**文件内查找**(字面量或正则表达式,不区分大小写)功能。
- 过时加载保护:快速点击文件绝不会导致竞争或覆盖内容。
### 🔬 Frida 插桩
- **Spawn**(启动)新进程或 **attach**(附加)到正在运行的进程。
- 管理脚本库;内置针对 Java、OkHttp、Flutter、原生 `connect()` 和 TLS 的 SSL-pinning 绕过脚本。
- 实时流式传输 `console.log` 输出、终止会话以及在标签页中运行。
- 分平台的脚本集合(Android / iOS)。
### 💻 终端
- **标签式交互 shell** —— 无论是 `adb shell` 还是连接到越狱 iPhone 的 SSH 会话,都使用相同的 UI。
- 感知 ANSI 的输出渲染、命令历史记录以及 Ctrl+C / 终止会话控制。
- 支持跨多个设备的多个并行会话。
### 📜 日志与设置
- 统一的日志查看器,支持按任务查看输出、按严重程度过滤以及复制到剪贴板。
- 可配置的工具路径(`adb`、`jadx`、`apktool`、`frida`、`aapt`、`ssh`、`sshpass`、`apkid`)。
- 持久化的 SSH 设备列表(使用身份文件的设备在重启后依然保留;使用密码的设备根据设计仅在当前会话有效)。
- 可自定义的输出目录,用于存放提取的 APK 和反编译结果。
## 为什么选择 REVAMP
- **原生性能** —— Rust + Iced/wgpu 渲染。单一自包含二进制文件。不是 Electron。
- **一个窗口,完成完整评估** —— 无需在五个终端和三个工具之间切换上下文。
- **离线优先** —— 每个外部工具都在本地调用。没有云服务,不需要 API 密钥,不需要注册账号。
- **跨平台** —— macOS 通用二进制文件(Apple Silicon + Intel)和 Linux `.deb`(x86_64 / arm64)。
- **混合设备感知** —— Android 和 iOS 显示在同一个列表中,并根据设备类型提供正确的功能门控。
## 安装
### macOS
1. 从 [Releases 页面](https://github.com/insomn14/REvamp/releases/latest) 下载最新的 **`REVAMP-
-universal.dmg`**(或 `-arm64.dmg` / `-x86_64.dmg`)。
2. 打开 `.dmg` 文件,将 **REVAMP.app** 拖入 **应用程序** 文件夹。
3. 首次启动:右键点击应用 → **打开** → 确认(该版本为 ad-hoc 签名)。
4. 需要 **macOS 12 (Monterey) 或更高版本**。
### Linux (Debian / Ubuntu / Kali / Pop!_OS / Mint / …)
```
# 从 Releases 下载最新的 .deb:
wget https://github.com/insomn14/REvamp/releases/latest/download/revamp__amd64.deb
# 安装:
sudo dpkg -i revamp_*.deb
sudo apt-get install -f # resolves runtime dependencies
# 启动:
revamp
```
对于 arm64 主机(64位 Raspberry Pi、ARM 笔记本电脑):请改用 `_arm64.deb` 安装包。
## 运行时要求
REVAMP 通过调用行业标准工具来执行操作,而不是重新实现它们。每个缺失的工具只会禁用其依赖的功能;应用程序的其余部分仍可正常工作。
| 工具 | 被用于 | 是否必需? |
|---|---|---|
| `adb` (Android Platform Tools) | 设备管理、应用管理、终端 | Android 必需 |
| `aapt` / `aapt2` | 应用标签、Activity 枚举、APK 分析 | 推荐 |
| `jadx` | Java 反编译 | 使用该功能时必需 |
| `apktool` | 资源与 manifest 解码 | 使用该功能时必需 |
| `frida` / `frida-server` | 动态插桩 | 使用 Frida 时必需 |
| `ssh` | iOS / 越狱 iPhone 控制 | iOS 必需 |
| `sshpass` | 可选,仅用于 SSH 密码认证 | 可选 |
工具路径会在启动时从 `PATH` 中自动检测,并可以在 **设置** 中被覆盖。
### iOS / 越狱 iPhone
REVAMP **不** 需要依赖 `libimobiledevice`。iOS 工作流使用标准的 SSH:
1. 在设备上从 Sileo / Zebra 安装 **OpenSSH**。
2. 可以通过 Wi-Fi 连接,或者通过 `iproxy 2222 22` 进行 USB 转发。
3. 在 REVAMP 中:**设备管理 → + 添加 SSH 设备**,输入 host/port/user,选择认证方式(密码 / 身份文件 / agent),点击 **测试并添加**。
## 程序截图
## 路线图
### 已发布于 v1.0
- ✅ Android ADB 设备管理(USB + TCP)
- ✅ 基于 SSH 的 iOS 越狱设备管理
- ✅ 带有 Activity 启动器的应用管理(包括通过 root 启动未导出的 Activity)
- ✅ APK 静态分析流水线
- ✅ 带有延迟文件树的 JADX + Apktool 反编译
- ✅ 带有语法高亮和文件内查找的源码查看器
- ✅ 带有脚本库的 Frida spawn / attach
- ✅ 标签式多设备终端
- ✅ macOS `.app`/`.dmg` (通用版) + Linux `.deb` (x86_64 / arm64)
### 计划中
- 🔜 **iOS 应用管理** —— 已安装应用列表、Info.plist 检查、entitlements 导出(与 Android 功能对齐,仅通过 SSH 命令实现)。
- 🔜 **越狱 iPhone 的自动发现** —— mDNS / `idevice_id`,无需 `libimobiledevice` 运行时依赖。
- 🔜 **跨会话持久化的单设备终端历史记录**。
- 🔜 **插件加载**,用于自定义 Frida 脚本集 + 社区脚本索引。
- 🔜 **网络抓包集成** —— 一键设置 `mitmproxy` / `Burp` / `Charles` 并将证书推送到设备。
- 🔜 **APK 差异比对** —— 并排比较同一包的两个版本。
- 🔜 **可编写脚本的 CLI 模式**,用于无头 CI 环境。
- 🔜 **Windows 构建**(长期计划,取决于 Frida 工具链的可用性)。
### 考虑中
- 💭 在反编译的源码查看器之上,提供基于 Tree-sitter 的类/方法导航器。
- 💭 内置支持 PCAP 导出的 HTTPS 代理。
- 💭 针对原生库的硬件断点 / 调试器集成(LLDB / GDB 附加)。
有想要增加的功能吗?请带上 **`enhancement`** 标签开启一个 [issue](https://github.com/insomn14/REvamp/issues)。
## 常见问题
**源代码是开源的吗?**
编译后的二进制文件可在此处公开下载。源代码目前维护在一个单独的仓库中。
**它会回传数据吗?**
不会。REVAMP 自身不会发起任何出站网络调用。任何通过网络传输的数据都是你显式连接到设备或运行相关工具(例如通过 TCP 连接的 `frida-server`)产生的结果。
**我可以在 Windows 上使用它吗?**
暂时不能。其工具链(Frida、ADB)可以在 Windows 上运行,但 REVAMP 本身目前仅为 macOS 和 Linux 构建。请参阅路线图。
**在我的虚拟机中启动时崩溃,提示 `wgpu` shader 错误。**
请使用软件渲染运行:`WGPU_BACKEND=gl LIBGL_ALWAYS_SOFTWARE=1 revamp`。没有 3D 加速的 VirtualBox 无法满足现代 GPU shader 的能力要求。
**Linux `.deb` 无法安装 —— 提示缺少依赖。**
在执行 `dpkg -i` 之后运行 `sudo apt-get install -f` 以自动解决依赖问题。必需的运行时库包括 `libxkbcommon0`、`libwayland-client0`、`libfontconfig1` 以及标准的 X11 库。
## 报告问题
请在 [Issues](https://github.com/insomn14/REvamp/issues) 处提交 Bug,并附带以下信息:
- 操作系统及版本(macOS 使用 `sw_vers`,Linux 使用 `lsb_release -a`)
- REVAMP 版本(`revamp --version`)
- 复现步骤
- 相关的日志输出(设置 → 打开日志目录)
## 许可证
请参阅本仓库中的 [LICENSE](LICENSE) 文件。
## 免责声明
REVAMP 仅用于**授权的安全研究和评估**。你有责任确保在测试你连接的任何设备、应用程序或服务时已获得明确的许可。作者对任何误用行为不承担法律责任。标签:ADB, AES-256, Amass, Android安全测试, Apktool, APK分析, APK反编译, Docker支持, Frida, Google搜索, GUI工具, iOS安全测试, Jadx, REvamp, SSH, 云资产清单, 信息收集, 内存分配, 反取证, 可视化界面, 安全评估, 桌面应用, 漏洞评估, 目录枚举, 移动安全, 移动渗透测试框架, 网络安全, 设备控制, 越狱检测, 逆向分析, 逆向工程, 隐私保护