Exeos/HotSpotter
GitHub: Exeos/HotSpotter
HotSpotter 是一款 JVM 运行时逆向工程 GUI 工具,允许用户附加到运行中的 Java 进程并实时检查类、设置 hook 与 patch 代码。
Stars: 13 | Forks: 3
# HotSpotter
## 项目概述
**HotSpotter** 是一款针对 Java 虚拟机 (JVM) 的动态逆向工程工具。其目标是提供一个功能强大的 GUI,用于附加到运行中的 JVM、检查类、设置底层 hook,以及在运行时 patch 代码和数据。
## 技术栈
| 层级 | 技术 |
|---------------|------------|
| 语言 | C++ |
| GUI | Dear ImGui |
| JVM 接口 | JVMTI, JNI |
| 构建 | CMake |
## 功能路线图
### v1:核心功能
- [X] 附加到运行中的 JVM
- [X] 显示 JVM/进程信息
- [X] 枚举所有已加载的类
- [X] hook 类加载事件
- [X] 类层次结构导航
- [X] 查看类详情:classinfo、字段、方法(部分支持)
- [X] 将类 dump 到磁盘
### v2:事件 Hook
- [ ] 在 UI 中选择类/方法/字段以设置特定的 hook
- [ ] 设置并筛选以下内容:
- 方法进入事件(所有/特定类/特定方法)
- Native 方法绑定(所有/特定类/特定方法)
- 字段访问/修改(所有/特定类/特定字段)
- [ ] 显示实时事件,按选择进行筛选
### v3:运行时 Patch
- [ ] 选择类选项卡以:
- 查看完整的类信息
- 查看反编译输出(集成反编译器)
- 查看原始类字节码
- 列出类的所有实例
- 选择实例以查看/patch 字段
- [ ] patch 字段(值、访问修饰符)
- [ ] patch/替换方法字节码(如果技术上可行)
## 未来可能的增强功能
- [ ] 脚本或插件(Python 或 Lua)
- [ ] 将核心与前端分离,以便两者都能轻松替换为自定义解决方案(如果你喜欢的话,或许可以采用内核模式核心 + Web 前端)
## 技术栈
| 层级 | 技术 |
|---------------|------------|
| 语言 | C++ |
| GUI | Dear ImGui |
| JVM 接口 | JVMTI, JNI |
| 构建 | CMake |
## 功能路线图
### v1:核心功能
- [X] 附加到运行中的 JVM
- [X] 显示 JVM/进程信息
- [X] 枚举所有已加载的类
- [X] hook 类加载事件
- [X] 类层次结构导航
- [X] 查看类详情:classinfo、字段、方法(部分支持)
- [X] 将类 dump 到磁盘
### v2:事件 Hook
- [ ] 在 UI 中选择类/方法/字段以设置特定的 hook
- [ ] 设置并筛选以下内容:
- 方法进入事件(所有/特定类/特定方法)
- Native 方法绑定(所有/特定类/特定方法)
- 字段访问/修改(所有/特定类/特定字段)
- [ ] 显示实时事件,按选择进行筛选
### v3:运行时 Patch
- [ ] 选择类选项卡以:
- 查看完整的类信息
- 查看反编译输出(集成反编译器)
- 查看原始类字节码
- 列出类的所有实例
- 选择实例以查看/patch 字段
- [ ] patch 字段(值、访问修饰符)
- [ ] patch/替换方法字节码(如果技术上可行)
## 未来可能的增强功能
- [ ] 脚本或插件(Python 或 Lua)
- [ ] 将核心与前端分离,以便两者都能轻松替换为自定义解决方案(如果你喜欢的话,或许可以采用内核模式核心 + Web 前端)标签:Bash脚本, C++, Dear ImGui, JVM, JVMTI, 云资产清单, 数据擦除, 逆向工程