当前位置: 首页 > 编程笔记 >

易语言HOOKAPI钩子操作代码实例

鲜于念
2023-03-14
本文向大家介绍易语言HOOKAPI钩子操作代码实例,包括了易语言HOOKAPI钩子操作代码实例的使用技巧和注意事项,需要的朋友参考一下

DLL代码

.版本 2
.DLL命令 修改虚拟保护, 整数型, "kernel32", "VirtualProtect", , 修改虚拟保护
  .参数 lpAddress, 整数型
  .参数 dwSize, 整数型
  .参数 flNewProtect, 整数型
  .参数 lpflOldProtect, 整数型, 传址
.DLL命令 取函数地址, 整数型, "kernel32", "GetProcAddress", , 返回函数地址
  .参数 模块句柄, 整数型
  .参数 函数名, 文本型
.DLL命令 取模块句柄, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
  .参数 模块名, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 建立消息框, 整数型, "user32", "MessageBoxA", , 建立消息框窗体
  .参数 窗口句柄, 整数型
  .参数 lpText, 文本型
  .参数 lpCaption, 文本型
  .参数 wType, 整数型

自定义数据类型

.版本 2
.数据类型 MEMORYSTATUS
  .成员 dwLength, 整数型
  .成员 dwMemoryLoad, 整数型
  .成员 dwTotalPhys, 整数型
  .成员 dwAvailPhys, 整数型
  .成员 dwTotalPageFile, 整数型
  .成员 dwAvailPageFile, 整数型
  .成员 dwTotalVirtual, 整数型
  .成员 dwAvailVirtual, 整数型

HOOKAPI钩子操作代码

.版本 2
.程序集 窗口程序集1
.程序集变量 钩子地址, 整数型
.程序集变量 原始数据, 字节集
.程序集变量 OldProtect, 整数型
.子程序 _按钮3_被单击
信息框 (“这是一个测试本地HOOK”, 0, “如果挂钩了,本文本就会变化!”)
.子程序 _按钮1_被单击
.局部变量 值, 字节集
钩子地址 = 取函数地址 (取模块句柄 (“User32.dll”), “MessageBoxA”)
.如果真 (钩子地址 = 0)
  信息框 (“无法获取函数地址!!!”, 0, )
  返回 ()
.如果真结束
修改虚拟保护 (钩子地址, 8, 64, OldProtect)
原始数据 = 指针到字节集 (钩子地址, 8)
值 = { 184 }
写到内存 (值 + 到字节集 (&MessageBoxA) + { 255, 224 }, 钩子地址, 8)
.子程序 MessageBoxA, 整数型
.参数 hWnd, 整数型, , 窗口句柄
.参数 lpText, 文本型, , 提示文本
.参数 lpCaption, 文本型, , 信息标题
.参数 uType, 整数型, , 按钮类型
.局部变量 值, 字节集
lpText = lpText + “----lpText-----挂钩成功!”
lpCaption = lpCaption + “-----lpCaption----挂钩成功!”
.如果真 (取字节集长度 (原始数据) > 0)
  写到内存 (原始数据, 钩子地址, )
.如果真结束
建立消息框 (hWnd, lpText, lpCaption, uType)
值 = { 184 }
写到内存 (值 + 到字节集 (&MessageBoxA) + { 255, 224 }, 钩子地址, 8)
返回 (0)
.子程序 _按钮2_被单击
.如果真 (取字节集长度 (原始数据) > 0)
  写到内存 (原始数据, 钩子地址, )
.如果真结束

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接

 类似资料:
  • 本文向大家介绍易语言NTAPI进程操纵的代码,包括了易语言NTAPI进程操纵的代码的使用技巧和注意事项,需要的朋友参考一下 本程序实现的功能: 打开进程_强力 进程暂停 取api函数地址 进程结束 进程结束_强力 进程_NT内存清零 进程_取自进程ID 进程_提高权限 Kill_Process命令 DLL命令表 自定义数据类型表 常量数据表 NTAPI进程操纵代码 总结 以上就是这篇文章的全部内容

  • 本文向大家介绍易语言取反的实际操作,包括了易语言取反的实际操作的使用技巧和注意事项,需要的朋友参考一下 易语言取反实例详解,这个是逻辑运算,希望能帮到大家。 1、易语言新建一个windows窗口 点击进入代码编辑区 2、我们输入取反() 3、展开这个函数 我们发现只有一个参数 这个参数就一个逻辑值 4、我们输入真 具体用法请看图 5、我们利用调试输出这个函数 我们输入调试输出 (取反 (真)) 6

  • 本文向大家介绍易语言屏蔽代码实例分享,包括了易语言屏蔽代码实例分享的使用技巧和注意事项,需要的朋友参考一下 1、易语言新建一个windows窗口 点击进入代码编辑区 2、我们屏蔽了代码 这个段代码就不会被执行 3、我们怎么屏蔽? 我们可以在前面输入 ‘ 这个符号 就可以屏蔽,被屏蔽代码会变成绿色 4、我们还可以,先选中代码 然后空白处右键会弹出来如下窗口 5、我们选中框内屏蔽 选项 6、效果是一样

  • 本文向大家介绍易语言文本排列的代码实例,包括了易语言文本排列的代码实例的使用技巧和注意事项,需要的朋友参考一下 文本排列代码 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接

  • 你可以在几个地方使用钩子挂接到 Handlebars 的函数调用。 helperMissing 当 Mustache 或表达式是如下情况时钩子会被调用: Mustache 表达式不是一个已经注册的助手代码,并且 不是当前上下文的计算属性。 你可以通过注册 helperMissing 助手代码为这些情况添加自定义处理:template {{foo}} {{foo true}} {{foo 2 tru

  • 本文向大家介绍易语言键盘钩子与鼠标钩子的状态参数值表,包括了易语言键盘钩子与鼠标钩子的状态参数值表的使用技巧和注意事项,需要的朋友参考一下 我们给大家分享介绍了键盘和鼠标的钩子用法代码: 鼠标钩子: 子程序只有一个参数:鼠标状态 键盘钩子: 回调指针子程序有两个参数:键代码 键盘状态 键盘状态数值如下: 以上就是本次介绍的全部内容,感谢大家对呐喊教程的支持。