2019年3月8日星期五

绝地求生PAK绕过的漏洞讨论

大周末的,本想好好玩玩吃鸡,被外挂虐惨了,于是到处搜索,发现可以通过修改PAK文件的方法实现一些功能
于是决定折腾一下。
最开始我在github上面看到了章鱼的一套源码,利用的是minifliter来实现的,原理就是注册一个微过滤驱动,并且在读
的回调里,判定操作对象和上线文,对PUBG访问PAK进行拦截,但是好像这种方法已经被和谐,我试着编译了一个,果然
牺牲了一个绝地的号,然后我就想,绝地肯定是要读这个文件的,我又尝试用独占PAK的方法来锁,但是但是现在ban的非
常厉害 基本都是在线25 全局封禁。
我专门抓了一下 知道了大概的思路
微软提供的Procmon还是蛮好用的 不会被反调试检测到...但是功能比较弱 对付PAK检测流程足够了
首先 在PUBG init的时候 有一个动作 很少见
createfile \paks
createfile可以打开设备对象 文件 其实还有目录
我知道可以打开目录 但是真正的从来没有用过
PUBG用这种方式把所有的pak文件读入内存 如果丢进去一个编辑过的PAK文件 可以实现各种什么无后座 除草遁地
其实我一直觉得这样读文件真TM S B...但是也可能是这个位置代码不好改 一动就动全身 不过讲道理 你每次更新恨不
得比游戏本体都大 这点代码不会改?
PUBG在这里加了一个检测
第一个圈缩完的时候 差不多这个时候吧 检测开始
createfile 
ntqeuryinfomationfile
这两个函数,那么思路来了,做掉这两个函数 应该就能规避掉他的检测。
参数我也找出来了
5和14 
MSDN我查了一下
FileStandardInformation和FilePositionInformation
具体见 https://docs.microsoft.com/en-us ... ueryinformationfile
看起来没什么比较特殊的 具体内部不知道 但是应该不会上传服务器验证 只是本地一个校验 我没有去搞反反调试 我的WIN7除了点问题 我不想在物理机上各种加载驱动
这次抓了一下API CALL以后差不多想通了PUBG的SB思路了。
createfile遍历 然后读取整个目录的文件 依次读出来 然后进行验证 这就给了隐藏文件的用处
隐藏文件内核里面走的API其实是ntquerydrietoryfile.根据infomation会返回不同结构 大部分结构中都包含一个链表
其实只要写一个minifilter驱动 把链表中的文件移出去 就跟以前隐藏进程一样 就能实现隐藏文件

方法的确是有效的 但是ban的也快 我觉得是特征码被抓了
于是我尝试了加壳 隐藏驱动 删服务 删注册表 都无效
我说句实话 PUBG这个游戏敢去扫内核内存?我是不太信的...这事实在是有点太危险了...在隐藏驱动之后(pchunter查不到)的情况下 想抓出来一个驱动很难 扫内核内存?你不怕蹦么..
所以我开始甩锅给minifilter 我觉得是检查了微过滤的特征
然后我饶了一条远路 艹PG 然后上内核钩子
结果还真的绕过去了...
上图
就做了个除草,染色,无后座。
 
性感双排,在线吃鸡,本来想把这个拿去换点钱的,想想还是算了,具体代码我就不公布了,贴个思路而已

至于具体怎么过滤,windbg挂上去,看看这两个函数的参数 ,大概就懂了!

从中午开始玩,到现在发帖,我的号依旧坚挺,期间尝试了一把遁地,然后0杀吃鸡,还是没有被Ban ,蓝洞真JB弱智!

睡觉睡觉,MD 头都秃了

没有评论:

发表评论