逍遥公子 发表于 2013-4-26 08:54:49

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

劲舞我也不记得从哪个版本开始弄了一个反智辅系统!有些人很奇怪我是怎么饶过反智辅系统的!
这里我想说一些我的方法!或许你有更好的方法请告诉我!

第一个版本
      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 2ehook sysenter 和 国外rootkit方式中的另类
    hook   sysenter   仍然不能根本解决问题!
    因为如果我HOOKsysenter然后启动游戏游戏的驱动HOOK又会把接口接管过去
    我如果恢复接口,游戏就会自动退出!   还有通过直接在原来sysenter地址里面写跳
    转代码来实现HOOK sysenter我感觉也没什么用!因为sysenter已经被拦截了,根本
   运行不到我所写跳转的位置,就算运行到了又能如何呢?我总不能自己实现sysenter功
   能吧,如果能自己实现sysenter功能!我还不如直接ring3层hook kisystemcall
   目前我有新的想法就是增加服务ID就是增加系统的服务ID假如getpixel最后调用
   的系统服务器ID为X 我们增加个系统的服务IDY,让Y的ID跳到X的ID里执行,从而欺骗
   反智辅系统!不知道大家有什么更好的办法

语文一直不及格!所以语言组织很差!大家见谅
页: [1]
查看完整版本: HShield游戏保护的对抗和新的问题