Autohotkey使用大漠插件

最近想要使用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, )

破解补丁

dmcrack.h

dmcrack.cpp

编译成dll放置到dm.dll同目录下,搞定这些之后就可以在Autohotkey中使用大漠插件了:

dm.test.ahk

相关问题

在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

转载请注明: 本文《Autohotkey使用大漠插件》来源于bstaint的博客

没有评论: