admin管理员组

文章数量:1559390

最近想偷个懒调用按键精灵(按键精灵9)的DLL 结果发现DllRegisterServer失败,然后开始下面研究!

而可以自己写个DLL,让按键精灵去创建好插件对象,然后作为参数传递到你的DLL中,可以发现这玩意其实就是个COM组件。这个对象可以任意使用!

按键精灵官方的DLL插件,有没有办法去除只能用于按键精灵中

后来经过一番调查,好像按键官方会给插件作者一个签名工具,这玩意就是对DLL做一些修改,让其他语言不能以常规的方式注册和调用!

用OD跟踪,按键精灵会在主线程启动时创建2个对象“QMDispatch.QMLibrary.Inner”“QMDispatch.QMLibrary”

在注册表里找到分别定位到:按键精灵主程序(EXE)或者小精灵 和 “C:\Users\Administrator\AppData\Roaming\qmacro\qdisp.dll”。

用空白文件只读替换掉“qdisp.dll”将不能正常运行小精灵!插件也不能正常使用,说明这个“QMDispatch.QMLibrary”有这关键作用!(估计是处理变量用的)

然后用按键精灵来“Set a = CreateObject("QMPlugin.Bkgnd")”,发现在按键精灵中能正常创建,但在VBS,VB中提示“自动化类型失败”

用OD跟踪这段语句(别以为按键精灵就不能跟,它的代码还是会送到vbscript.dll执行)它注册之后创建对象是先ole32.CLSIDFromProgIDEx然后ole32.CoGetClassObject(其他的我不是看的很明白)

以我的理解,按键精灵就是个虚拟机,将VBS字符加密储存。运行时送给翻译器解密并加工 然后再次给

本文标签: 插件按键精灵对象官方易语言