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

 更新时间:2018年11月20日 16:46:46   作者:易语言源码教程  
今天小编就为大家分享一篇关于易语言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)
  写到内存 (原始数据, 钩子地址, )
.如果真结束

运行结果:

总结

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

相关文章

  • 易语言显示指定日期时间的方法

    易语言显示指定日期时间的方法

    今天小编就为大家分享一篇关于易语言显示指定日期时间的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言QQ群发支持图片文字数据一起发送的工具

    易语言QQ群发支持图片文字数据一起发送的工具

    今天小编就为大家分享一篇关于易语言QQ群发支持图片文字数据一起发送的工具,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 易语言做游戏辅助的方法

    易语言做游戏辅助的方法

    在本篇文章里小编给大家整理了关于易语言做游戏辅助的方法和步骤,需要的朋友们跟着学习参考下。
    2019-02-02
  • 易语言图形按钮组件切换类型使用讲解

    易语言图形按钮组件切换类型使用讲解

    今天小编就为大家分享一篇关于易语言图形按钮组件切换类型使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言监控smtp和反编译获取程序内邮件密码发送信息达到反钓鱼的目的

    易语言监控smtp和反编译获取程序内邮件密码发送信息达到反钓鱼的目的

    今天小编就为大家分享一篇关于易语言监控smtp和反编译获取程序内邮件密码发送信息达到反钓鱼的目的,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言调用GetUserPassWord.dll获取系统开机密码

    易语言调用GetUserPassWord.dll获取系统开机密码

    今天小编就为大家分享一篇关于易语言调用GetUserPassWord.dll获取系统开机密码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言更改编辑框内文字字体的介绍

    易语言更改编辑框内文字字体的介绍

    今天小编就为大家分享一篇关于易语言更改编辑框内文字字体的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言设置拖动窗口中的任何地方都可以整体移动窗口

    易语言设置拖动窗口中的任何地方都可以整体移动窗口

    今天小编就为大家分享一篇关于易语言设置拖动窗口中的任何地方都可以整体移动窗口,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言启用多线程方法实例分享

    易语言启用多线程方法实例分享

    这篇文章主要介绍了易语言启用多线程方法实例分享的相关资料,需要的朋友可以参考下
    2023-03-03
  • 易语言重定义数组命令使用讲解

    易语言重定义数组命令使用讲解

    今天小编就为大家分享一篇关于易语言重定义数组命令使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11

最新评论