# dm64 **Repository Path**: about404/dm64 ## Basic Information - **Project Name**: dm64 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-13 - **Last Updated**: 2026-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dm64 64位大漠插件移植版 — Rust + C/ASM 混合方案。提供 480+ API,兼容原 dm.dll 调用方式(COM + C ABI)。 ## 特性 - **480+ API**: 窗口/图色/文字/键盘/鼠标/内存/汇编Call/文件/系统/AI/驱动/Hook 全覆盖 - **COM 接口**: `dm64.dmsoft` ProgID,IDispatch 晚期绑定,兼容 VBS/AHK/Python COM 调用 - **C ABI**: `dm64_Ver()`, `dm64_FindPic()` 等,支持 9 种语言绑定 - **体积可控**: 默认构建 ~1.6MB,全功能 ~22.5MB(按需开启 feature) - **零费用**: 所有 480 API 完全免费,无注册码、无付费功能 ## 快速开始 ### 构建 ```powershell # 默认构建(~1.6MB,不含 AI/反汇编/FAQ/Hook/驱动) cargo build --release # 全功能构建(~22.5MB) cargo build --release --features "ai,disasm,faq,hook,driver" # 按需选择 cargo build --release --features "hook" # 含 DX Present Hook cargo build --release --features "driver" # 含内核驱动加载 cargo build --release --features "ai" # 含 YOLO 目标检测(需 ONNX Runtime) cargo build --release --features "disasm" # 含 x86/x64 反汇编 cargo build --release --features "faq" # 含答题系统(需网络) ``` ### COM 注册 ```powershell # 以管理员身份运行 regsvr32 dm64.dll # 反注册 regsvr32 /u dm64.dll ``` ### Python 使用 ```python # 方式1: COM import win32com.client dm = win32com.client.Dispatch("dm64.dmsoft") print(dm.Ver()) # 方式2: ctypes from dm64 import Dm64 dm = Dm64() print(dm.Ver()) dm.SetPath("C:\\pics") dm.FindPic(0, 0, 1920, 1080, "test.bmp", "000000", 0.9, 0) ``` ## Feature Flags | Feature | 依赖 | 默认 | 说明 | |---------|------|------|------| | `hook` | retour | 否 | DX11/DX12 Present Hook + 截帧 | | `driver` | — | 否 | 内核驱动加载/IOCTL | | `ai` | ort + ndarray | 否 | YOLO 目标检测 | | `disasm` | iced-x86 | 否 | x86/x64 反汇编(DisAssemble) | | `faq` | ureq | 否 | 答题系统(HTTP 请求) | 无 feature 时,相关 API 返回默认值(0/空字符串),不报错。 ## 绑定语言 | 语言 | 文件 | 调用方式 | |------|------|----------| | Python | `bindings/python/dm64.py` | ctypes | | C# | `bindings/csharp/Dm64.cs` | P/Invoke | | C++ | `bindings/cpp/dm64.hpp` | `LoadLibrary` + `GetProcAddress` | | Lua | `bindings/lua/dm64.lua` | FFI | | Node.js | `bindings/nodejs/dm64.js` | ffi-napi | | Go | `bindings/go/dm64.go` | cgo | | AutoHotkey | `bindings/autohotkey/dm64.ahk` | DllCall | | PowerShell | `bindings/powershell/dm64.ps1` | Add-Type + P/Invoke | | Java | `bindings/java/Dm64.java` | JNA | ## 目录结构 ``` dm64/ ├── Cargo.toml ├── build.rs # cc crate 编译 C/ASM ├── src/ │ ├── lib.rs # 库入口 + DllMain │ ├── core/ # Dm64 核心结构体 + 错误码 + 路径管理 │ ├── window/ # FindWindow/EnumWindow/GetSetWindowState │ ├── graphic/ # Capture/FindPic/FindColor/GetScreenData │ ├── ocr/ # Ocr/FindStr/字库管理 │ ├── input/ # 鼠标/键盘操作 │ ├── memory/ # 读写/搜索内存 │ ├── hook/ # BindWindow + DX Hook │ ├── asm_call/ # 汇编Call引擎 │ ├── file/ # 文件读写/INI │ ├── system/ # 系统信息/电源 │ ├── foobar/ # 悬浮窗画板 │ ├── faq/ # 答题系统 │ ├── ai/ # AI找图/YOLO │ ├── guard/ # 驱动防护盾 │ ├── misc/ # 临界区/输入法 │ ├── com/ # COM接口实现 │ └── export/ # C ABI导出 + COM注册 ├── src/asm/ # C/ASM源文件 ├── bindings/ # 9种语言绑定 ├── driver/ # 示例内核驱动源码 ├── tests/ # 集成测试 ├── scripts/ # COM测试脚本 └── docs/ # 文档 ``` ## 测试 ```powershell # 默认测试(109个) cargo test # 含 disasm 的测试 cargo test --features disasm # COM 端到端测试(需管理员) powershell -File scripts\run_com_test.ps1 ``` ## CLSID / ProgID - **CLSID**: `{12345678-9ABC-DEF0-1111-222233344455}` - **ProgID**: `dm64.dmsoft` ## License MIT