最近想要使用Autohotkey找多色,用ahk实现了个不过效率实在太低,想着用现成的大漠插件来搞定,所以琢磨了下。
前文
大漠插件网上能比较容易找到的一般就两个版本:
- 3.1.1233 (直接可以使用)
- 5.1413 (需要破解注册)
本机上3.1.1233直接被ESET杀了,所以使用5.1413,但是需要注册。
网上的破解补丁都是易语言或者按键精灵的,观察了一下按键精灵的补丁插件发现是COM实现的,所以尝试用Autohotkey来直接调用该插件,结果失败。
网上找到个帖子说了破解方法,就直接用C++实现了个:
lzq91514 发表于 2016-12-8 19:35
内存.写整数 (进程_取自进程ID (), 十六转十进制 (读模块基址 (进程_取自进程ID (), “dm.dll”)) + 十六转十进制 (“1063D0”), 1, )
破解补丁
编译成dll放置到dm.dll同目录下,搞定这些之后就可以在Autohotkey中使用大漠插件了:
相关问题
在Initialize标签中ComObjCreate出来的对象可以在其他标签中使用但是无法在函数中使用,得加Global dm。
其次看大漠插件的手册,其中有一些带变参指针函数,如果直接使用无法得到返回值,得使用ComVar(ComVar以及相关函数可以从参考链接中获取)来传递引用:
xpos := ComVar(), ypos := ComVar()
xpos[] := 0, ypos[] := 0
ret := dm.GetCursorPos(xpos.ref, ypos.ref)
OutputDebug % ret "," xpos[] "," ypos[]
Autohotkey调试
使用OutputDebug输出信息然后使用DebugView工具插件输出内容。如果想单步调试的话可以用AutoGUI,它有个Variables功能可以看到所有变量以及类型,十分方便。
参考链接:
https://www.52pojie.cn/thread-562114-1-1.html
https://autohotkey.com/boards/viewtopic.php?t=4827
https://ahkcn.github.io/docs/commands/ComObjActive.htm
5 条评论:
请问一下,编译出来的dmcrack.exe 无法在windows 10 系统上执行,要如何解决呢
编译出来是dmcrack.dll,是需要用Autohotkey调用的,不是直接执行的。
谢谢答复,那看起来编译出exe 是我的编译方式出了问题呢
你是用什么编译的,如果是msvc的话可以用cl /LD dmcrack.cpp编译成dll。
啊哈哈哈,我是照着一些教程用vs-code编译的,谢谢你的指引。
发表评论