为了开挂,无所不能不其用
绝地求生可以通过修改PAK
文件的方式能实现诸如无后座、人物上色、早都不是什么秘密了。这也是很多市面上的插件用的方法,但是对于PAK
文件如何修改
无论国内外都鲜有介绍的教程。
PAK
,并综合了UnknownCheats论坛的论坛的一些成果。
目前知道的信息:
- 1.吃鸡正式服截止目前时间
UE4
引擎版本为4.16
故PAK
打包及解包方式都应基于此版本(目前还无法使用UE4
引擎修改PAK
)
- 2.目前的
PAK
加密及解密key
为45DD15D6DD2DA50AEB71CE7A5284CF8EA498B2EC3D52B7E336F3EA0071CE44B3
- 3.解包要通过
QuickBms
以及一个bms
的脚本和上面的key实现解密。打包需使用UE4
引擎自带的UnrealPAK.exe
来进行。
解包结果如下: 这是一个提取自插件的无后座PAK
解包 包含两个文件夹Blueprints
和Animations
图为Blueprints
内的文件
- 4.对
PAK
的修改是研究的重点。UnknownCheats
论坛上有人这么说:使用十六进制编辑器对解密出来的武器uexp
文件 在160h-200h
修改即可修改武器后坐力。
- 5.
PAK
的加载机制。遍历游戏目录content\PAKs\
下的所有PAK
文件后 全部加载。
问题:
1.游戏自带的252
个PAK
文件目前还未发现包含类似上图的文件。(是给枪械附加了一条无后座数据吗?而非修改武器文件的方式吗?)
2021.1.20研究进展
- 1.游戏对
PAK
的加载分为同步加载和异步加载2种。
- 2.后坐力文件位于
PAKchunk1000-WindowsNoEditor_bps.PAk
现在来看是原本的.PAK
文件内后坐力文件被覆盖了实现的无后座。
- 3.大更新后/
PAK
s/目录下多了 一个.js文件 如需添加PAK
文件必须在js文件内加入自己的PAK
文件名。
发点不知道有什么用的东西。 写了个SSDT
钩子监视PAK
文件的加载情况。读取同一个文件会对同一个文件打开四次 即产生四个文件句柄。
目测其中有玄机.... 待研究..
2021.2.2研究进展
到处搜索,最开始我、在github
上面看到了章鱼的一套源码,利用的是minifliter
来实现的,原理就是注册一个微过滤驱动,并且在读的回调里,判定操作对象和上线文,对PUBG
访问PAK
进行拦截,但是好像这种方法已经被和谐,我试着编译了一个,果然牺牲了一个绝地的号,然后我就想,绝地肯定是要读这个文件的,我又尝试用独占PAK
的方法来锁,但是但是现在ban的非常厉害 基本都是在线25 全局封禁。
我专门抓了一下 知道了大概的思路,微软提供的Procmon
还是蛮好用的 不会被反调试检测到...但是功能比较弱 对付PAK
检测流程足够了
首先 在PUBG
init的时候 有一个动作 很少见。
createfile \`pak`s
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
挂上去,看看这两个函数的参数 ,大概就懂了!
2021.2.28研究进展
现在绝地求生对PAK
修改的检测越来越严,导致很多辅助不能用了,现在来说一下现在的一些过检测方法。
吃鸡是一款通用游戏引擎制作的游戏,这款引擎跟经典游戏植物大战僵尸引擎极其相似。
该引擎会指定一个资源文件夹(吃鸡里就是PAK
s文件夹),搜索该文件夹及子目录里面所有PAK
文件然后加载,加载顺序是按照文件名排序的,当出现重名文件时,新加载的文件会覆盖旧加载的文件。
于是在最早没有PAK
检测的版本,最早的吃鸡无后坐方法就是用修改后的PAK
文件放进去,游戏就会自动加载。
然后为了对抗这种无后坐,吃鸡团队开始检测PAK
文件。
最早的检测方法很简单:看看PAKs
文件夹里面有没有多余的PAK
文件,于是当时的方法就是进游戏以后删掉修改过的PAK
文件。
那么问题来了:文件正在占用,怎么删掉? 当时本人做了第一个方法:mklink
建立软链接,进游戏后解除软链接就可以了。
这个方法发现是受到网吧下载的Steam
启发——吃鸡是不允许放在中文文件夹的,但是网吧的可以。盖伦下载器下载的吃鸡在中文文件夹,但是不影响运行。研究发现是因为用软链虚拟到C:\steam
里面了。
这个方法稳定了很长时间,直到方法被人抄袭传的遍网都是,这个方法基本上凉凉了。 因为吃鸡开始检测PAK
文件夹有没有软链。
于是有人发现了新方法(别人发现的):把PAK
文件夹复制一份重命名,进游戏前修改的文件夹改名PAK
S放进修改的文件,进游戏后文件夹名字改回来。 这个方法稳定了得有一个半月,直到2月22更新后,这个方法作废了。
其实还有个办法,但是该办法不稳定:
进游戏跳伞落地以后,暂停BEservice.exe
进程(冻结,不是终止),打完一局退出以前再终止该进程重启BEservice
服务。该方法目前仍然能用,但是冻结时机必须好好掌握,否则很容易出现提示:BEservice反作弊服务没有运行。
有国外大神提供方法,不是冻结进程,而是冻结线程:BEservice的主线程是保留的,只把检测线程暂停。 苦于本人能力有限,不知道怎么做到全自动实现这个功能,只能按照国外方法手动冻结。 到现在已经过去一个多月,该方法目前是否有效不得而知。
2月22日更新后,放入PAK
和修改PAK
S文件夹的方法也凉了,现在初始加载就会记录加载了多少个PAK
文件,有多余的PAK
文件是不行的。并且吃鸡会着重检测两个重要的PAK
文件有没有修改
细心的发现:
- 1:
TslGame-WindowsNoEditor_erangel_lod.PAK
这个文件是多余的,可以删掉。 - 2:
TslGame-WindowsNoEditor_ui.PAK
这个文件不会被检测是否修改 - 3:
TslGame-WindowsNoEditor_ui.PAK
调用很晚,可以修改。
于是新方法诞生了: 第一步:删掉原来的TslGame-WindowsNoEditor_erangel_lod.PAK
文件 ,第二步,将原来的TslGame-WindowsNoEditor_ui.PAK
改名为TslGame-WindowsNoEditor_erangel_lod.PAK
,第三步:将修改文件(比如无后坐文件)改名为TslGame-WindowsNoEditor_ui.PAK
放入PAKs
文件夹。
说下为什么不直接把修改文件改名为TslGame-WindowsNoEditor_erangel_lod.PAK:
因为上面说了,PAK
文件是按顺序加载,新加载的文件会覆盖旧文件,TslGame-WindowsNoEditor_erangel_lod.PAK
加载顺序比较靠前,修改后的文件会被后加载的原版文件覆盖失效。
网上也有软件利用改文件同时实现无后坐和除草2个功能,需要安装python-2.7
,其实知道的的人都知道,python-2.7可以用来打包PAK
文件的,他用的方法就是把需要的功能(无后坐、除草)的文件解压出来,通过python-2.7的u4PAK
.py打包成PAK
文件,然后重命名为TslGame-WindowsNoEditor_ui.PAK
,放入PAKs
文件夹。
删掉TslGame-WindowsNoEditor_erangel_lod.PAK
然后修改TslGame-WindowsNoEditor_ui.PAK
这个方法已经传开了,估计不久就会封掉。不知道下个版本,又能想出什么过检测的方法、东西已经放在网盘里了,有需自取。
13 comments
PUBMOBILE的有吗?有的话给我个网址谢谢。
没咯,早就没玩了 哈哈哈
网盘地址是啥
p.tiax.cn
我有问题想要请教,可以加你的QQ吗
好的哟!
QQ上给你留言了,兄弟
原来大佬会内核编程和反汇编,实属牛逼
哈哈,都是看着网上的教程改的,我也不会,都是现学,献丑了。老哥
现在还能使不?会不会秒封。再说你说放网盘,网盘链接呢
啊哈哈,忘记上传了,https://p.itggg.cn/ZIP(网盘地址)
现在还可以使,亲测过,但是没有敢玩多久,使用请小心,建议使用压枪脚本什么的,比较稳定,我几乎也是用的压枪脚本。
我想提取PUBG皮肤图片,但是我死活不会,可以教教吗
皮肤?在哪个页面的?