[原创]关于某美公司的CSGO保护驱动逆向分析(一):初见庐山真面目
2023-5-20 03:15:0 Author: bbs.pediy.com(查看原文) 阅读量:7 收藏

[原创]关于某美公司的CSGO保护驱动逆向分析(一):初见庐山真面目

2023-5-20 03:15 6041

[原创]关于某美公司的CSGO保护驱动逆向分析(一):初见庐山真面目

这段时间迷上了CSGO,想着研究一下关于它的反作弊,于是便有了今天这篇帖子

那么众所周知,国内的CSGO平台三巨头分别是某美,某E,某马桶,后两个不说了,一个直接开转,一个号太贵,所以我选择了某美平台

起初我以为会十分顺利,结果彻底各种被各种爆栈和回溯恶心到了,再无数次拉闸与被AC调戏过后,选择写篇帖子来找找存在感

现在进IDA看看,可以看到只有少部分代码是被vm的,但是恕我这个菜鸡搞不定vm,所以只能挑可以一键F5大法的地方,很多内容可以到导入表直接交叉引用来查看,这里只挑关键的地方(由于刚开始逆,部分地方没有仔细看,只是大概内容,可能有些地方逆错了,还请大佬们指出)

反作弊驱动名:MessageTransfer.sys,开机自启动,对自身和系统文件都有校验,不可以修改类似dxgkrnl.sys的系统驱动,大概可以确定是使用FltSendMessage进行通讯

1.全线程堆栈回溯-RtlWalkFrameChain


DPC定时器循环下发APC爆栈,老生常谈了,这里不作过多解释

2.对于进程的APC相关操作
这里还没有时间仔细去看插入进程APC的全部代码,但是大概看了上下文代码反作弊不是无脑插APC,应该动了手脚,这使得如果你试图去修改Thread+0x74的QueQue标志位绕过APC检查,那么你的进程会崩溃(实际测试中所发生,问题应该在此处,尚未确定进程崩溃与反作弊有关,后续会更新),在往里面走就是一堆循环,目前不清楚是做什么的

3.通讯 (FltSendMessage)

4.最后来个彩蛋(虽然可能你们都知道)

以前的我:反作弊应该不会用VT吧?
现在的我:麻麻我要回家

关于这个驱动的更多详细信息,大家请自行探索,不要干不好的事哦~
(第一次体会vm少到代码逆不完的感觉,点名批评某蓝色的熊),不过感觉vm仍然是绕不过去的一道坎,如该驱动的关键部分(比如上报)仍然是被vm所保护起来了的

LLVM与代码混淆技术


文章来源: https://bbs.pediy.com/thread-277287.htm
如有侵权请联系:admin#unsafe.sh