文章目录[隐藏]
CreateWindowExA是创建窗口的一个API,我们本课对这个API进行HOOK.我们仍热采用前几课封装的APIhook类模块。两种方式,一个是在一个程序里通过载入新窗口继续hook,一个是通过注入进行hook,注入器我们采用了EIP注入和远程线程注入两种注入方式演示。
CreateWindowExA
.版本 2 .DLL命令 创建窗口, 整数型, "user32.dll", "CreateWindowExA" .参数 扩展风格, 整数型 .参数 类名, 文本型 .参数 窗口标题, 文本型 .参数 风格, 整数型 .参数 屏幕横坐标, 整数型 .参数 屏幕纵坐标, 整数型 .参数 宽度, 整数型 .参数 高度, 整数型 .参数 父窗口句柄, 整数型 .参数 菜单句柄, 整数型 .参数 模块句柄, 整数型 .参数 参数, 整数型
开始hook
.版本 2 a.安装Hook (“user32.dll”, “CreateWindowExA”, 到整数 (&回调函数)) a.开始Hook ()
回调函数
.版本 2 .子程序 回调函数, 整数型 .参数 扩展风格, 整数型 .参数 类名, 文本型 .参数 窗口标题, 文本型 .参数 风格, 整数型 .参数 x, 整数型 .参数 y, 整数型 .参数 参宽度, 整数型 .参数 参高度, 整数型 .参数 父窗口句柄, 整数型 .参数 菜单句柄, 整数型 .参数 模块句柄, 整数型 .参数 参数, 整数型 .局部变量 返回值, 整数型 a.停止Hook () ' 自己的hook执行代码 返回值 = 创建窗口 (扩展风格, 类名, “hook_CreateWindowExA”, 风格, 0, 0, 参宽度, 参高度, 父窗口句柄, 菜单句柄, 模块句柄, 参数) a.开始Hook () 返回 (返回值)
注入钩子DLL
.版本 2 .程序集变量 a, 类apihook .子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码 hook () _临时子程序 () ' 在初始化代码执行完毕后调用测试代码 返回 (0) ' 返回值被忽略。 .子程序 _临时子程序 ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。 .子程序 hook, , 公开 a.安装Hook (“user32.dll”, “CreateWindowExA”, 到整数 (&回调函数)) a.开始Hook () .子程序 回调函数, 整数型 .参数 扩展风格, 整数型 .参数 类名, 文本型 .参数 窗口标题, 文本型 .参数 风格, 整数型 .参数 x, 整数型 .参数 y, 整数型 .参数 参宽度, 整数型 .参数 参高度, 整数型 .参数 父窗口句柄, 整数型 .参数 菜单句柄, 整数型 .参数 模块句柄, 整数型 .参数 参数, 整数型 .局部变量 返回值, 整数型 a.停止Hook () ' 自己的hook执行代码 返回值 = 创建窗口 (扩展风格, 类名, “hook_CreateWindowExA”, 风格, 0, 0, 参宽度, 参高度, 父窗口句柄, 菜单句柄, 模块句柄, 参数) a.开始Hook () 返回 (返回值)
教程获取下载:
百度网盘链接:https://pan.baidu.com/s/158ikKVjIwaoF4438MG4fhA
提取码:加QQ群:521068947 群文件下载
资源教程交流①群:521068947
511遇见QQ: 272586593