- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
劲舞我也不记得从哪个版本开始 弄了一个反智辅系统!有些人很奇怪我是怎么饶过反智辅系统的!
这里我想说一些我的方法!或许你有更好的方法请告诉我!
第一个版本
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里执行,从而欺骗
反智辅系统!不知道大家有什么更好的办法
语文一直不及格!所以语言组织很差!大家见谅 |
|