好友
阅读权限20
听众
最后登录1970-1-1
|
本帖最后由 huoji120 于 2018-10-13 00:38 编辑
长话短说,我看到国内某些人把这种最简单的技术拿去"卖"而且卖到几千元一个月的时候我觉得是时候必要的献丑一下了.
这技术本来就不难,我之前的av killer(其实是handlemaster)其实也是这个这个.让我慢慢来讲解一下:
0x1 背景:
在Windows Vista之前的系统(包括WIN7 32) 正常商业软件(注意是正常商业软件)是可以进行SSDT HOOK的.
什么是SSDT HOOK建议百度.
然而在Windows Vista以及WIN 7 x64之后引入了一个叫做PG(PatchGuard)的系统
虽然可以绕过,但是如果商业软件比如杀毒软件,反作弊软件这样做了,被举报了,微软会吊销他们的数字签名。所以SSDT HOOK可以说在这之后就 没软用了
那么失去SSDT HOOK怎么能保护杀毒软件、反作弊的游戏进程呢?
答案是ObRegisterCallbacks这个回调。杀毒软件/反作弊软件通常会在这个回调处理程序打开的句柄,把你的打开进程的句柄降级为最低级.这样你就无法对进程进行读写操作了.起到了"保护作用".
0x2 handletable背景/思路:
每个进程都有一个叫做进程句柄表(HANDLETABLE)的东西。这里面放着这个进程的全部句柄以及各种详细句柄信息.包括 句柄权限 所以既然我们不能直接remove掉ObRegisterCallbacks(会被反作弊发现)所以我们直接修改句柄表里的我们的句柄权限达到让"进程保护"失效的目的
0x3 基本知识:
在win7下
handletable是_EPROCESS + 0x200(windbg下看符号表名字为ObjectTable)
有人好奇为什么有几个0x000
因为前几个是一个union结构.
而那些就是我们的句柄
而位于0x008的GrantedAccess,就是权限,也就是我们需要修改的东西
我们只需要:
1.遍历句柄,找到和用户传来要提权的句柄一样的句柄
2.修改GrantedAccess为0x1FFFFF(最高权限)
here we go:
这个方法是能解决掉所有的杀毒软件/反作弊软件包括所谓的BE EAC TP NP XXX的降权处理
have fun
如果你想私聊问我源码/怎么编译/怎么用.
你需要配置一个WDK驱动开发环境 + vmware虚拟机调试环境
剩下的百度 : ) |
免费评分
-
查看全部评分
|