请问如何绕开游戏对全局钩子的检测?用全局钩子注入游戏,在登录界面可以正常呼出窗口 但是一进入游戏 游戏就会检测 检测到了就掉线
不知道游戏是循环检测自身的模块,还是监视了SetWindowsHookExA 应该是游戏登陆后会循环检测自身模块 因为我用输入法注入也会检测到掉线如何避开这种检测? 我看到别人用全局钩子 可以正常注入不掉线 但是我一注入 就会被检测到  我的注入代码和DLL的代码应该是没问题的 因为注入别的游戏一切正常!别人可以用全局钩子正常注入 应该是在DLL里面做了手脚望大大们指点一二

解决方案 »

  1.   


    有钩子把DLL注入到游戏里面啊 可以注入成功 就是会被检测到 
      

  2.   

    你可以把PEB_LDR_DATA中的模块链表处理一下
      

  3.   

    那你就不用dll,直接把代码写到那个进程中
      

  4.   

    不可能的 前面都说了 游戏进程是用驱动保护起来的 OpenProcess..........等等都失效除非自己也写驱动 要是要用驱动的话 还不如直接用驱动R0下写内存还好些
      

  5.   

    你用SetWindowsHookEx注入后把代码复制一份,然后卸载钩子
      

  6.   

    你用CreateProcess创建游戏进程,能不能用得到的hProcess往里面写代码
      

  7.   

    你说的都试了 注入的DLL里面只有一个钩子回调函数 没有其他任何代码 一样掉线 并且卸载会卡死游戏 至于自己创建游戏进程 根本创建不了 游戏有检测
      

  8.   

    至于自己创建游戏进程 根本创建不了 游戏有检测
    这个怎么检测,只能从explorer运行?
      

  9.   

    它是不是用NtQueryVirtualMemory枚举模块的
      

  10.   


    比如加运行参数 但是这游戏好像不是用这个 我也不太清楚 反正就是用外部程序启动游戏登陆器 就是运行不了  游戏的登陆流程:选择窗口模式(这是一个exe)---选择大区(这又是一个exe)---登陆器(这又是一个exe)你用程序创建进程,创建第一步的exe开第二个exe就不会继续执行你用程序创建进程,直接创建第二步的exe 第三个exe就不会继续执行直接创建第三个exe不可能 你要选大区(直接传运行参数执行?但是取不到运行参数啊)用那些监控程序 根本看不到 这个3个程序之间是怎么传递运行参数的  
      

  11.   


    正常玩游戏 是运行第一个exe 开始 
      

  12.   

    用户模式可以使用ntdll.dll中的NtQueryVirtualMemory
    你用CreateProcess运行第一个exe不行?
      

  13.   

    用CreateProcess可以成功创建进程 但是 比如你创建的是第一个exe 你选择好窗口模式(窗口化或者全屏)他不会出来第二个exe(选择大区的那个exe)你创建的是第二个exe 你选择好大区他不会出来第三个exe(游戏登陆器)直接创建第三个不可能 一创建就一闪而过
      

  14.   

    LZ尝试替换DLL看下?
    像犀牛病毒那样或者输入法注入?csdn里有
      

  15.   


    不是代码问题 因为我运行别的程序 程序可以正常创建用CreateProcess 获取hProcess 写入代码是不现实的你不可能直接就运行登陆器(你总得让别人选择他玩的那个大区把?)
      

  16.   

    输入法我说了 注入之后也会被检测到至于劫持注入 你替换了游戏的DLL 他会提示(游戏文件被篡改)
      

  17.   

    写个死循环 游戏刚开始是没保护的
    或者用DetourCreateProcessWithDll