安装钩子程序

来源:互联网 发布:瓷砖展示软件 编辑:程序博客网 时间:2024/05/07 00:37

貌似 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函数() 说明以后还是尽量要写资源文件

原创粉丝点击