资源共享吧|易语言论坛|逆向破解教程|辅助开发教程|网络安全教程|www.zygx8.com|我的开发技术随记

 找回密码
 注册成为正式会员
查看: 29|回复: 0

[GO语言] 大漠7.2424破J版 go语言版调用库

[复制链接]

306

主题

1874

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
900
积分
3612
贡献
0
在线时间
714 小时
注册时间
2016-12-4
最后登录
2026-3-24

终身VIP会员

发表于 昨天 07:44 | 显示全部楼层 |阅读模式
================================================================================
                        大漠插件 Go 语言封装库
================================================================================

版本: v1.0.0
日期: 2026-03-18
仓库: https://github.com/yuan71058/dm72424-go

================================================================================
                                  项目简介
================================================================================

本项目是大漠插件(dm.dll)的 Go 语言封装库,将原 C++ 版本的大漠插件接口
完整翻译为 Go 语言,支持大漠插件 7.2424 版本的所有 428 个函数接口。

特性:
  - 完整封装 - 支持大漠插件 7.2424 版本全部 428 个函数
  - 开箱即用 - 简单导入即可使用,无需复杂配置
  - 详细注释 - 所有函数都有完整的中文注释
  - 类型安全 - 完整的类型定义,编译时检查
  - 示例丰富 - 提供完整的使用示例

================================================================================
                                  目录结构
================================================================================

dm72424-go/
  |-- dmsoft.go           接口定义文件
  |-- dmsoft_impl.go      接口实现文件(428个函数)
  |-- go.mod              Go 模块定义
  |-- Go.dll              破J补丁
  |-- xd47243.dll         大漠插件主文件
  |-- example/            使用示例
  |     |-- main.go       示例代码
  |     |-- go.mod        示例模块
  |-- README.md           Markdown 格式文档
  |-- README.txt          本文档

================================================================================
                                  环境要求
================================================================================

- 操作系统: Windows(32位或64位均可)
- Go 版本: Go 1.16 或更高版本
- 编译要求: 必须编译为 32 位程序

================================================================================
                                  安装方法
================================================================================

方法一:Go Modules(推荐)

  go get github.com/yuan71058/dm72424-go

方法二:本地引用

  git clone https://github.com/yuan71058/dm72424-go.git

在 go.mod 中添加:
  replace github.com/yuan71058/dm72424-go => ./dm72424-go

================================================================================
                                  编译说明
================================================================================

【重要】大漠插件是 32 位 DLL,必须编译为 32 位程序!

设置环境变量:
  go env -w GOARCH=386

编译:
  go build -o myapp.exe

================================================================================
                                  快速开始
================================================================================

package main

import (
    "fmt"
    "log"
    "syscall"

    dmsoft "github.com/yuan71058/dm72424-go"
)

func main() {
    // 1. 加载大漠插件
    dmHModule, err := dmsoft.Load("xd47243.dll")
    if err != nil {
        log.Fatal(err)
    }

    // 2. 执行破J(可选)
    goHModule, _ := syscall.LoadLibrary("Go.dll")
    goFunAddr, _ := syscall.GetProcAddress(goHModule, "Go")
    syscall.SyscallN(uintptr(goFunAddr), dmHModule)
    defer syscall.FreeLibrary(goHModule)

    // 3. 创建对象并初始化
    dm := dmsoft.New()
    dm.Init()
    defer dm.Release()

    // 4. 注册
    if dm.Reg("", "") == 1 {
        fmt.Println("注册成功!")
    }

    // 5. 开始使用
    fmt.Printf("版本: %s\n", dm.Ver())
    fmt.Printf("分辨率: %d x %d\n", dm.GetScreenWidth(), dm.GetScreenHeight())
}

================================================================================
                                  核心函数
================================================================================

Load(path string) (uintptr, error)    加载大漠插件 DLL
Free() bool                           释放大漠插件
New() *DmSoft                         创建大漠对象
Init()                                初始化对象
Release()                             释放对象

================================================================================
                                  函数分类
================================================================================

分类            函数数量    主要函数
------------------------------------------------------------------------
窗口操作        ~50        BindWindow, FindWindow, GetWindowRect
鼠标操作        ~20        MoveTo, LeftClick, GetCursorPos
键盘操作        ~15        KeyPress, KeyDown, SendString
图像处理        ~30        Capture, FindPic, LoadPic
颜色操作        ~15        GetColor, FindColor, CmpColor
OCR识别         ~20        Ocr, FindStr, SetDict
内存操作        ~40        ReadInt, WriteInt, FindData
系统信息        ~20        Ver, GetOsType, GetTime
文件操作        ~15        ReadFile, WriteFile, IsFileExist
AI功能          ~10        LoadAi, FindPicAi

================================================================================
                                  注意事项
================================================================================

1. 初始化顺序
   必须按照以下顺序初始化:
     dm := dmsoft.New()
     dm.Init()      // 必须调用!
     defer dm.Release()

2. 窗口绑定
   大部分屏幕操作需要先绑定窗口:
     hwnd := dm.GetForegroundWindow()
     dm.BindWindow(hwnd, "gdi", "normal", "normal", 0)
     // ... 操作 ...
     dm.UnBindWindow()

3. 管理员权限
   以下功能需要管理员权限:
     - 内存读写操作
     - 某些窗口绑定模式(dx模式)
     - 进程操作

4. 编码问题
   大漠插件返回的字符串可能是 GBK 编码,需要转换为 UTF-8。

================================================================================
                                  常见问题
================================================================================

Q1: 注册失败怎么办?
    - 确保破JDLL已正确加载和执行
    - 检查破JDLL版本是否与大漠插件版本匹配
    - 尝试以管理员权限运行

Q2: 截图返回黑色图像?
    - 确保已正确绑定窗口
    - 尝试不同的绑定模式(gdi/dx/opengl)
    - 检查窗口是否最小化或被遮挡

Q3: 找图/找色失败?
    - 检查图片路径是否正确
    - 确保已设置正确的资源路径(SetPath)
    - 调整相似度参数
    - 检查颜色格式是否正确

Q4: 编译报错 "not a valid Win32 application"?
    - 确保编译为32位程序:go env -w GOARCH=386
    - 大漠插件是32位DLL,不能在64位程序中调用

================================================================================
                                  许可证
================================================================================

本项目仅供学习交流使用,请勿用于商业用途。
大漠插件版权归大漠插件作者所有。

================================================================================
                                  联系方式
================================================================================

GitHub: https://github.com/yuan71058/dm72424-go

================================================================================
091619j3qqca31wja9er1m.png
回复

使用道具 举报

 点击右侧快捷回复  

本版积分规则

小黑屋|资源共享吧 ( 琼ICP备2023000410号-1 )

GMT+8, 2026-3-25 03:39 , Processed in 0.066662 second(s), 15 queries , MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表