安装钩子程序

本文详细记录了使用C++进行DLL注入及钩子安装的过程,并通过实例介绍了如何在目标进程热血江湖中成功注入DLL。文章还探讨了在动态链接库中安装钩子后调用非模态对话框函数的问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

貌似 C++里的cpp文件相当于动态链接库的源文件

 

在向 热血江湖 这款游戏中注入钩子dll时 用冰刃查看发现什么也没有 过了一会360提示程序试图注入QQ 我同意了以后 发现在QQ进程中有所写的DLL文件 说明在注入的时候发生了偏差

 

 

ok 完成注入 局部关键代码如下

  invoke FindWindow,NULL,addr szwgtitle   ;第二个函数此处要用addr
  .if eax   
  mov hwggame,eax                                     ;将返回值保存

 


  invoke GetWindowThreadProcessId,hwggame,NULL                ;注意只有两个参数 第一个参数是上一句得到的游戏程序句柄 此API函数一般都会跟着第FindWindow函数用

  mov szdwProcessId,eax                                 ;将返回值赋保存
  
  invoke SetWindowsHookEx,WH_KEYBOARD,addr HookProc,hInstance,szdwProcessId      ;安装钩子
  mov hHook,eax                                               ;将返回值保存
  
   invoke MessageBox,NULL,addr szwgtitle,addr szwgtitle,MB_OK   ;这一句是测试 如果第一句执行错误 就不会执行到这一句  
  .endif

 

还有如果有360保护 就会强制关闭游戏 必须先关掉或者暂停360

 

 

今天一直在想一件事情 就是如何生成子窗口 子窗口的窗口过程是否跟主窗口一致 老罗书上面好像没写 rita

 

后来查了一下非模态对话框要建立自己的窗口过程 模态对话框沿用主程序窗口过程 那么一般窗口呢?难道是在注册窗口类的时候填写?

 

 

刚才做了一个试验 在动态链接库中安装完钩子函数后 立即调用非模态对话框函数 结果无法显示 为了检查是不是函数用法出了问题 故研究了一下对话框例子程序 发现其写了资源文件 而我当时图方便就没有写这个只是在安装时调用函数建立 于是我将例子程序资源文件删掉重新编译 发现即使调用了对话框函数 例子程序也无法生成对话框了 这说明 对话框函数可能并不提供构建对话框的功能 不能将其误等同于能够正常建立窗口框架的CreateWindowsEx函数() 说明以后还是尽量要写资源文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值