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, 云资产清单, 内存修改, 数据擦除, 逆向工程