[原创]关于某美公司的CSGO保护驱动逆向分析(一):初见庐山真面目
2023-5-20 03:15 6041
起初我以为会十分顺利,结果彻底各种被各种爆栈和回溯恶心到了,再无数次拉闸与被AC调戏过后,选择写篇帖子来找找存在感
现在进IDA看看,可以看到只有少部分代码是被vm的,但是恕我这个菜鸡搞不定vm,所以只能挑可以一键F5大法的地方,很多内容可以到导入表直接交叉引用来查看,这里只挑关键的地方(由于刚开始逆,部分地方没有仔细看,只是大概内容,可能有些地方逆错了,还请大佬们指出)
1.全线程堆栈回溯-RtlWalkFrameChain
DPC定时器循环下发APC爆栈,老生常谈了,这里不作过多解释
2.对于进程的APC相关操作
这里还没有时间仔细去看插入进程APC的全部代码,但是大概看了上下文代码反作弊不是无脑插APC,应该动了手脚,这使得如果你试图去修改Thread+0x74的QueQue标志位绕过APC检查,那么你的进程会崩溃(实际测试中所发生,问题应该在此处,尚未确定进程崩溃与反作弊有关,后续会更新),在往里面走就是一堆循环,目前不清楚是做什么的
3.通讯 (FltSendMessage)
4.最后来个彩蛋(虽然可能你们都知道)
以前的我:反作弊应该不会用VT吧?
现在的我:麻麻我要回家
关于这个驱动的更多详细信息,大家请自行探索,不要干不好的事哦~
(第一次体会vm少到代码逆不完的感觉,点名批评某蓝色的熊),不过感觉vm仍然是绕不过去的一道坎,如该驱动的关键部分(比如上报)仍然是被vm所保护起来了的