HShield游戏保护的对抗和新的问题

转自bujin888

第一个版本
        HShield反外挂方式应该向进程插入他们的反外挂钩子  拦截我们做外挂的必要函数
        我当时突破方法是ROOKIT技术,隐藏进程!
第二个版本
        HShield利用消息全局钩子插入他们的反外挂钩子 ,我是拦截了LOADLIBARY到
        自己的处理函数拒绝了他家反外挂钩子进入

第三个版本
       他家在LOADLIBARY上做了处理,但他们忽律了一个东西!那就是LOADLIBARYEX函数


第四个版本
       也就是现在这个版本!只能用变态来形容  一开始我用HOOK LOADLIBARYEX ,
       但是好多API仍然不能使用   我一开始以为LOADLIBARYEX 也被处理过了  
       于是我又拦截 RtlInitUnicodeString 因为每一个文件在底层传输字符处理中
       必须用到这个函数,但是发现HShield的DLL是全被拦截了,但getpixel等仍然没有作用,
       通过调试发现,ring3层代码完全没有被修改,那只能说明进了sysenter的ring0层!
       没办法,也只好自己写驱动对抗了,于是根据DDK资料里的mirro.sys
       重新写了我所需要的外挂函数驱动win32GDI.sys!完成了这次的反外挂的突破!

问题:
    win32GDI.sys是参考DDK驱动里的mirror驱动改写的,属于虚拟显卡的的方式!他有几个缺点
    一:不支持 directx游戏
    二:消耗的CPU比较大!
    看了驱动开发网的资料 hook int 2e  hook sysenter 和 国外rootkit方式中的另类
    hook   sysenter   仍然不能根本解决问题!
    因为如果  我HOOK  sysenter  然后启动游戏  游戏的驱动HOOK  又会把接口接管过去
    我如果恢复接口,游戏就会自动退出!   还有通过直接在原来sysenter地址里面写跳
    转代码来实现HOOK sysenter我感觉也  没什么用!因为sysenter已经被拦截了,根本
   运行不到我所写跳转的位置,就算运行到了又能如何呢?我总不能自己实现sysenter功
   能吧,如果能自己实现sysenter功能!我还不如直接ring3层hook kisystemcall
   目前我有新的想法  就是增加服务ID  就是增加系统的服务ID  假如getpixel最后调用
   的系统服务器ID为X 我们增加个系统的服务ID  Y,让Y的ID跳到X的ID里执行,从而欺骗
   反外挂系统!不知道大家有什么更好的办法

语文一直不及格!所以语言组织很差!大家见谅 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章