易语言api API钩子 DestroyWindow禁止关闭窗口

DestroyWindow简单的说就是删除销毁一个窗口,它只需要提供窗口的句柄,我们通过易语言主窗口下载入两个子窗口,但是在,子窗口我们需要一个按钮,它的功能就是调用DestroyWindow来销毁这个子窗口,当我们hook这个DestroyWindow时,那么你就无法关闭,就可以实现我们的目的,这就是本课视频的大体思路。

DestroyWindow

.版本 2
 
.DLL命令 DestroyWindow, 逻辑型, "user32", "DestroyWindow"
    .参数 hWnd, 整数型, , 0

hook

.版本 2
 
.子程序 hook
 
.如果 (h.安装Hook (“user32.dll”, “DestroyWindow”, 到整数 (&mydw)) = 真)
    信息框 (“Hook成功!!”, 0, , )
    h.开始Hook ()
.否则
    信息框 (“Hook失败!!”, 0, , )
    h.卸载Hook ()

回调

.版本 2
 
.子程序 mydw
.参数 hwnd, 整数型
 
.判断开始 (hwnd ≠ 0)
    信息框 (“关闭已经被劫持,你无法关闭窗口”, 0, , )
 
.默认
    hook ()

子窗口关闭按键

  1. .版本 2
  2.  
  3. .子程序 _超级按钮1_被单击
  4.  
  5. DestroyWindow (窗口2.取窗口句柄 ())

注入方式

我们也可以通过注入方式来实现,本课视频演示采用了EIP注入和远程线程注入。

.版本 2
 
hook ()
_临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
返回 (0)  ' 返回值被忽略。
 
.子程序 _临时子程序
 
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
 
.子程序 hook, , 公开
 
.如果 (h.安装Hook (“user32.dll”, “DestroyWindow”, 到整数 (&mydw)) = 真)
    信息框 (“Hook成功!!”, 0, , )
    h.开始Hook ()
.否则
    信息框 (“Hook失败!!”, 0, , )
    h.卸载Hook ()
.如果结束
 
.子程序 mydw
.参数 hwnd, 整数型
 
.判断开始 (hwnd ≠ 0)
    信息框 (“关闭已经被劫持,你无法关闭窗口”, 0, , )
 
.默认
    hook ()

教程获取下载:

百度网盘链接:https://pan.baidu.com/s/158ikKVjIwaoF4438MG4fhA

提取码:加QQ群:521068947 群文件下载

511遇见全部视频教程百度网盘下载

511遇见易语言DLL制作调用及hook注入

资源教程交流①群:521068947

511遇见QQ: 272586593


发布日期:

所属分类: 编程 标签: