我们知道SetWindowTextA这个API的作用是设置窗口标题,当我们调用这个接口的时候,换成我们的函数,本课没有做注入DLL调用,而是在一个测试文件里做了演示。
SetWindowTextA
.版本 2
.DLL命令 SetWindowTextA, 逻辑型, "user32.dll", "SetWindowTextA", , 改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。如果指定窗口是一个控件,则改变控件的文本内容。然而,SetWindowText函数不改变其他应用程序中的控件的文本内容。
.参数 hWnd, 整数型, , 要改变文本内容的窗口或控件的句柄。
.参数 lpString, 文本型, , 指向一个空结束的字符串的指针,该字符串将作为窗口或控件的新文本。
mySetWindowTextA劫持钩子DLL源码:
很明显,hook后我们先弹框,再调用notepad.exe
.版本 2
.子程序 mySetWindowTextA, 整数型
.参数 窗口句柄, 整数型
.参数 窗口标题, 文本型
信息框 (“被我API劫持了”, 0, , )
运行 (“notepad.exe”, 假, )
返回 (0)
hook源码
这个务必注意,当我们开始Hook后,务必调用一次SetWindowTextA 或者易语言的标题。
.版本 2
.子程序 __启动窗口_创建完毕
SetWindowTextA (_启动窗口.取窗口句柄 (), “511遇见--www.511yj.com”)
a.安装Hook (“user32.dll”, “SetWindowTextA”, 到整数 (&mySetWindowTextA))
a.开始Hook ()
' SetWindowTextA (取窗口句柄 (), “511遇见--www.511yj.com”)
' 标题 = “511遇见--www.511yj.com”
_启动窗口.标题 = “511遇见--www.511yj.com”
.子程序 mySetWindowTextA, 整数型