iluaii/dbgCh
GitHub: iluaii/dbgCh
一款小型 Linux 进程内存调试器,通过 ptrace 附加目标进程并支持内存扫描与修改,提供 CLI 和 TUI 两种前端。
Stars: 0 | Forks: 0
# dbgCh
一个小型 Linux 进程内存调试器,灵感源自 Cheat Engine。它通过 `ptrace` 附加
到运行中的进程,允许你检查其 `/proc//maps`
区域,在内存中扫描特定值,并修改匹配的地址 —— 你可以选择
通过终端菜单(CLI)或使用
[FTXUI](https://github.com/ArthurSonzogni/ftxui) 构建的交互式 TUI 进行操作。
## 功能
- 按名称查找进程,或直接通过 PID 附加。
- 通过 `PTRACE_ATTACH` / `PTRACE_DETACH` 暂停/恢复目标进程。
- 解析 `/proc//maps`,列出映射的内存区域及其权限。
- 在内存中扫描 4 字节的目标值,并收集候选地址。
- 向所有候选地址或选定的部分地址写入新值。
- 两种前端:简单的文本菜单 (`--cli`) 和终端 UI (`--tui`)。
## 环境要求
- Linux(使用 `ptrace`、`/proc//maps` 及其他 POSIX/Linux 独有的 API)。
- CMake 3.16+
- C++20 编译器
- 首次配置时需要网络访问权限(CMake 的 `FetchContent` 会拉取 FTXUI
v5.0.0)
## 构建
```
cmake -B build
cmake --build build
```
生成的二进制文件位于 `build/dbgCh`。
## 用法
```
./dbgCh --cli # text menu
./dbgCh --tui # terminal UI
```
### CLI 演示
1. 按名称选择一个进程(如果有多个匹配项,则从中选择),或者
直接输入 PID。
2. 附加成功后,使用菜单进行以下操作:
- 暂停/恢复进程,
- 打印其内存区域,
- 在内存中搜索特定值(通过输入新值重复搜索以缩小
候选范围),
- 向所有或选定的候选地址写入新值,
- 清空候选列表。
## 项目结构
```
src/
├── main.cpp # entry point, picks --cli or --tui
├── cli/ # text-based front end
├── tui/ # FTXUI-based front end
├── process/ # process discovery and ptrace session management
└── memory/ # /proc//maps parsing, memory scanning and I/O
```
## 免责声明
此工具会附加到你系统上的其他进程并修改其内存。请仅对你拥有的
或获得授权可以检查/修改的进程使用此工具。
标签:Bash脚本, C++, CMake, ptrace, 云资产清单, 内存修改, 数据擦除, 逆向工程