ZxPwdz/CrxMem

GitHub: ZxPwdz/CrxMem

CrxMem 是一个开源的 Windows 内存扫描与调试套件,提供进程内存搜索、反汇编、内核驱动辅助等逆向研究能力。

Stars: 5 | Forks: 1

# CrxMem **由 ZxPwd 创建** **Discord: zxpwd** CrxMem 是一个受 Cheat Engine 启发的 Windows 内存扫描与分析项目。该仓库现在包含重新设计的紧凑型 WPF 主应用程序、较新的 WPF Memory View、保留的旧版 Memory Viewer、Auto Assembler 相关工作、书签工具、Watchdog Hunter 研究工具以及可选的内核驱动实验。 ![CrxMem 预览](https://static.pigsec.cn/wp-content/uploads/repos/cas/fd/fd63e8c75a8da0db9f493b475dc872f4170013202cbf741f0a1c2232d73cfa11.png) ![CrxMem 预览](https://static.pigsec.cn/wp-content/uploads/repos/cas/18/18ac775d43f4ea8fe6ec654d709545512b0a8f06a3a28504985ef7e3b81fba4e.png) ## 项目状态 该项目已经远远超越了一个基础扫描器。当前的构建版本包括重新设计的主 UI、两条 Memory View 路径、书签基础架构、Auto Assembler 相关工作以及可选的驱动辅助功能,但并非所有高级调试功能都已完全完成。 ### 当前功能状态 | 区域 | 状态 | 备注 | |------|--------|-------| | **扫描器 / 地址列表** | 可用,预发布版 | 精确/比较扫描、撤销、过滤器、可写区域扫描以及地址列表工作流是活跃 WPF shell 的一部分 | | **主 WPF shell** | 可用,预发布版 | 紧凑的深蓝色重新设计,包含进程状态、扫描工作区、表工作流和设置集成 | | **Memory View (WPF)** | 可用,预发布版 | 反汇编、十六进制转储、导航、模块、内存映射、补丁面板、Auto Assembler 入口点和书签管理器 | | **Memory Viewer (Legacy)** | 可用,已保留 | 以前的 WinForms/GDI+ 查看器仍可作为备用和比较路径使用 | | **书签 / 注释** | 可用,不断完善中 | 停靠书签管理器、注释持久化、编辑/移动/重新绑定/导入/导出路径 | | **Auto Assembler** | 实验性 | UI 和事务性脚本基础架构已具备,但兼容性仍不完善 | | **调试器 / 断点** | 原型 | 存在附加/运行控制/单步执行工作,但这尚未成为一个功能完全对等的附加调试器 | | **Watchdog Hunter** | 实验性研究工具 | 用于独立研究用途的线程普查和完整性线程搜寻工作流 | | **Lua 引擎** | 不完整 | 核心部分已存在;完整的兼容性层面仍在开发中 | | **CrxShield 驱动路径** | 实验性 | 可选的内核辅助操作和工具,不受托管 CI 构建覆盖 | ### 重要提示 - `Tools > Memory View (WPF)` 打开较新的 Memory View 工作区。 - `Tools > Memory Viewer (Legacy)` 打开保留的旧版查看器。 - 旧版查看器仍被刻意保留,因为在较新的 Memory View 功能继续完善期间,它依然很有用。 - 内核和反作弊研究功能应视为隔离实验室功能,而非日常安全的默认设置。 ## 仓库结构 该仓库现在包含主应用程序以及几个实验性配套项目和研究文件夹: ``` CrxMem/ |-- CrxMem/ # Main C# application (WPF shell + legacy WinForms components) |-- CrxMem.Tests/ # Managed test suite |-- CrxShield/ # Experimental kernel driver |-- CrxShieldClient/ # Driver client/native interop work |-- VEHDebugDll/ # VEH-based debugging experiments |-- FxpStrip/ # Native anti-cheat / hook research work |-- GunzAnalysis/ # Analysis notes, scripts, and research artifacts `-- Documentation/ # Plans, design references, and implementation notes ``` | 项目 | 描述 | 语言 | |---------|-------------|----------| | **CrxMem** | 用于扫描、编辑、分析、Memory View 和表工作流的主 GUI 应用程序 | C# (.NET 8) | | **CrxShield** | 用于内核辅助内存访问和线程工具的实验性 Windows 内核驱动程序 | C / WDK | | **CrxShieldClient** | 客户端驱动程序访问助手和原生互操作 | C++ / C# | | **VEHDebugDll** | 基于 VEH 的调试和断点实验 | C++ | | **FxpStrip** | 原生逆向工程和反作弊研究项目 | C++ | | **GunzAnalysis** | 笔记、脚本和逆向工程产物 | 混合 | ## CrxMem 主应用程序 主应用程序现在使用深色主题的 WPF shell,采用紧凑的扫描器优先布局,同时在仍有用的地方保留选定的旧版组件。 ### 主 UI 亮点 - 为较小屏幕优化的紧凑型重新设计主窗口 - 具有运行时进程状态的进程感知标头 - 虚拟化 WPF DataGrid 中的扫描结果和地址列表 - 内置对 Memory View、Legacy Memory Viewer、Lua、PE 分析、Watchdog Hunter 和设置的访问 - 持久化布局和设置迁移支持 ### 扫描器和表功能 - 精确、增加、减少、已更改、未更改、未知、介于之间和 AOB 扫描工作流 - 值类型包括 Byte、2/4/8 Bytes、Float、Double、String 和 AOB - 地址列表编辑、冻结、保存/加载和手动地址输入 - 版本化的 `.crxct` 表格式,支持旧版 CrxMem `.ct` JSON 导入 ### 内存分析功能 - **Memory View (WPF)**: - 反汇编视图 - 十六进制转储 - 堆栈/监视/断点/调用堆栈/内存映射/模块/线程面板 - 补丁编辑器 - Auto Assembler 入口点 - 书签管理器工作区 - **Memory Viewer (Legacy)**: - 保留的 WinForms/GDI+ 路径 - 在进行 WPF 调试器和 Memory View 开发期间有用的备用方案 ### 研究和高级工具 - 带有管理工作流的书签/注释标注 - Auto Assembler 编辑器和预览流水线 - PE 分析 - Lua 集成工作 - Watchdog Hunter 线程分析工作流 - 在连接并启用 CrxShield 时支持感知驱动的内存操作 ### 技术栈 - .NET 8.0 - WPF 和 WinForms - [Iced](https://github.com/icedland/iced) 用于 x86/x64 反汇编 - [NLua](https://github.com/NLua/NLua) 用于 Lua 集成工作 - [ReaLTaiizor](https://github.com/Developer-Flavor/ReaLTaiizor) 用于选定的 UI 控件 ## CrxShield CrxShield 是仓库中的实验性内核驱动程序分支,适用于需要内核辅助内存访问或线程工具的研究版本。 ### 当前的驱动程序相关工作 - 内核级读/写支持 - 进程基址检索 - 研究工具使用的线程枚举支持 - 驱动程序管理和重启工具 - `CrxShield/Tools` 下的验证助手和安装脚本 ### 驱动程序警告 内核驱动程序可能导致系统不稳定、启动失败或 BSOD。仅在隔离系统或一次性环境中进行测试。 ## VEHDebugDll `VEHDebugDll` 包含向量化异常处理程序调试实验,用于断点和访问监控研究。 ### 包括 - 硬件断点实验 - 内存访问监控 - 共享内存 IPC 概念 - 无锁/事件驱动调试实验 ## 构建 ### 托管解决方案 ``` git clone https://github.com/ZxPwdz/CrxMem.git cd CrxMem dotnet restore CrxMem.sln dotnet build CrxMem.sln -c Release --no-restore ``` 托管输出: ``` CrxMem\bin\Release\net8.0-windows\ ``` 克隆公共仓库无需身份验证。贡献者在推送时应使用 Git Credential Manager、GitHub CLI 浏览器登录或 SSH。切勿将 token 放在命令、远程 URL、脚本或提交的文件中。 ### CrxShield 驱动程序 1. 安装 Windows Driver Kit。 2. 在 Visual Studio 2022 中打开 `CrxShield/CrxShield.vcxproj` 或解决方案。 3. 在 Release 模式下构建驱动程序。 4. 如果使用测试签名构建,请在加载驱动程序之前启用测试签名并重新启动。 ### VEHDebugDll 在您要测试的匹配体系结构中构建 Visual Studio 项目。 ## 安装 ### 主应用程序 1. 构建或下载 Release 版本。 2. 打开 `CrxMem\bin\Release\net8.0-windows\`。 3. 运行 `CrxMem.exe`。 ### 设置存储 CrxMem 将版本化设置存储在: ``` %LocalAppData%\CrxMem\settings.json ``` 旧版基于注册表的设置会在首次运行时(如果合适)导入。无效的 JSON 将作为带有时间戳的恢复文件保留,并替换为安全的默认值。 ### 可选驱动程序设置 驱动程序管理助手位于: ``` CrxShield\Tools\ ``` 请使用这些脚本和命令,而不要随意发明自定义安装流程。 ## 基本用法 ### 扫描器工作流 1. 使用 `File > Open Process`。 2. 输入要搜索的值。 3. 选择扫描类型和值类型。 4. 运行 `First Scan`。 5. 更改目标中的值。 6. 运行 `Next Scan`,直到结果集足够小。 7. 将匹配的行添加到地址列表。 ### Memory View 路径 - 从主窗口使用 `Memory View` 以获取较新的 WPF 路径。 - 如果您想要旧版保留的查看器,请使用 `Tools > Memory Viewer (Legacy)`。 ### 书签工作流 - 在 WPF Memory View 中,使用 `Ctrl+D` 切换选定指令上的书签。 - 使用 `;` 编辑注释/书签元数据。 - 使用 `Ctrl+Shift+B` 或工作区按钮打开书签管理器。 ## 项目详情 ### CrxMem 结构 ``` CrxMem/ |-- Core/ # Scanning, process access, driver-aware services |-- MemoryView/ # Legacy viewer + WPF Memory View implementation |-- MemoryView/Wpf/ # Newer Memory View views, services, and themes |-- Legacy/ # Retained legacy shell/reference pieces |-- LuaScripting/ # Lua integration work |-- Themes/ # MainWindow theme resources |-- MainWindow.xaml # Main compact WPF shell |-- SettingsWindow.xaml # Settings UI including CrxShield tooling `-- WatchdogHunterWindow.xaml # Watchdog Hunter research tool ``` ### 文档 - `Documentation/DesignReferences/` 存放捕获的视觉参考。 - `Documentation/Plans/` 存放里程碑和重新设计计划。 - 诸如 `GunzAnalysis/` 和 `FxpStrip/` 等配套文件夹包含更深入的研究笔记和实验。 ## 免责声明 **本软件仅供教育和安全研究目的使用。** - 请勿用于恶意目的。 - 请勿用于攻击在线游戏或第三方服务。 - 将内核和反作弊功能视为独立的研究工具。 - 始终在您可以恢复的系统上测试高风险功能。 ## 许可证 根据 [MIT 许可证](LICENSE) 授权。
标签:API接口, Findomain, WPF, 内存扫描, 内核驱动, 游戏工具, 网络协议, 逆向分析