利用Python做絕地科學家(外掛篇)


i春秋作家:奶權

 

前言

Text 玩吃雞時間長的雞友們 應該都知道現在的游戲環境非常差 特別在高端局 神仙滿天飛 搞得很多普通玩家非常沒有游戲體驗

Text 因為吃雞的火爆 衍生出了一條巨大的外掛利益鏈 導致市面上出現了各式各樣的外掛http://news.17173.com/z/pubg/content/12072017/144924727.shtml

正是因為現在的神仙滿天飛 像我這種菜逼實在沒辦法生存下去 我的報復欲促使我開始了科學研究

Text 先給大家介紹一下現在市面上的外掛種類

傳統外掛

fps游戲都有一個共同的特點,大部分計算都是本地完成的,不可能每一個動作都和服務器交互,有幾個原因:

 

    • 會造成服務器負荷過大,提高運營成本
    • 在對槍殺人時,幾十ms的延遲可能會扭轉戰局
    • 會極大影響游戲體驗

信息安全的一個基本原則,永遠不要相信用戶的輸入。這里的輸入就是指在本地進行運算的結果。本地進行的計算越少,與服務器交互的越多,外掛利用難度更大。”>信息安全的一個基本原則,永遠不要相信用戶的輸入。這里的輸入就是指在本地進行運算的結果。本地進行的計算越少,與服務器交互的越多,外掛利用難度更大。由於大量的計算都是在本地完成的,而游戲又是運行在內存中,那么導致了我們有很多種方法進行利用。最簡單的就是用CE修改內存里的數據,常規的有注入和Hook,還有各種奇淫技巧。單以注入為例,就有五花八門的注入技術。下面是《游戲外掛攻防藝術》一書中的提到的一些方法:

 

    • 注冊表注入
    • 遠線程注入
    • 依賴可信進程注入
    • APC注入
    • 消息鈎子注入
    • 導入表注入
    • 劫持進程創建注入
    • LSP劫持注入
    • 輸入法注入
    • ComRes注入

修改本地文件的PUBG外掛

本篇文章就是基於這種方法實現的,原理是通過修改本地游戲資源(*.pak),來實現的各種功能,而PUBG采用BattlEye來實現反外掛,游戲運行時后台有個叫BEservice.exe的進程,進游戲后打開任務管理器就能看到兩個很明顯的PUBG logo的進程,另外一個叫TslGame.exe是游戲的進程。BEservice.exe對PAK修改的檢測十分嚴格,而且不斷在更新,這也是各種輔助有時在游戲更新后會失效的一個主要原因。而基本上一個外掛失效,也只用更新下過檢測(BEservice.exe),就能滿血復活了。

 

外掛介紹來自:https://bbs.ichunqiu.com/thread-37371-1-1.html?from=timeline&isappinstalled=0

科學研究

Text 上面說了基本上通過修改pak文件的外掛失效只需要更新一下過檢測就行了

自從前幾天的游戲大更后 市面上很多過檢測的方法都已經失效了 查了很多資料實驗了很多次后 找到了個目前來說還算是穩定的方法:

復制一份PUBG目錄 以下稱bypass目錄將PUBG目錄重命名為PUBG1使用mklink命令創建bypass目錄的軟鏈接命名為PUBG使用mklink命令創建功能pak文件的軟鏈接 將其放入PUBG這個軟鏈接中的paks目錄登steam 隨便開一局游戲 上飛機后 刪除第四步在paks目錄里創建的軟鏈接刪除第三步創建的PUBG軟鏈接將PUBG1目錄重命名回PUBG

Text 這樣就大功告成了 前4步是初始化 后3步才算是過檢測 復制完的bypass目錄在不進行大更新的情況下可以不刪除 也就是說如果你退出了游戲 就需要從第2步重新開始

發明科技

Text 要完成這個科技其實非常簡單 只需要一些簡單的文件操作基礎即可 這里就不多bb了 直接上成品

 

#! /usr/bin/env python # -*- coding: utf-8 -*- """ @ Author : NNNNNaiquan @ Mail   : misitenq@gmail.com """ import config import os import shutil class bypass():    def __init__(self, steamapps_path):        self.steamapps_path = steamapps_path        self.pubg_path      = steamapps_path + 'PUBG'        self.bypass_path    = steamapps_path + 'bypass'        if not os.path.exists(self.bypass_path):            l('Info',unicode('正在初始化','utf-8').encode('gbk'))            shutil.copytree(self.pubg_path,self.bypass_path)                    #step 1        shutil.move(self.pubg_path,self.steamapps_path + 'PUBG1')               #step 2        l('Info',unicode('初始化完成','utf-8').encode('gbk'))    def make_link(self, ):        pubg_pak_path = self.pubg_path + '\\TslGame\\Content\\Paks\\TslGame-WindowsNoEditor_ui1.pak'        l('Info',unicode('正在創建軟鏈接','utf-8').encode('gbk'))        os.popen('mklink /j "' + self.pubg_path + '" "' + self.bypass_path + '"')       #step 3        os.popen('mklink  "' + pubg_pak_path + '" "' + config.FUNC_PAK_PATH + '"')      #step 4        l('Info',unicode('軟鏈接創建成功','utf-8').encode('gbk'))    def clean(self, ):        bypass_pak_path = self.bypass_path + '\\TslGame\\Content\\Paks\\TslGame-WindowsNoEditor_ui1.pak'        l('Info',unicode('正在過檢測','utf-8').encode('gbk'))        os.remove(bypass_pak_path)                                          #step 5        os.popen('rd /s /q "' + self.pubg_path + '"')                       #step 6        shutil.move(self.steamapps_path + 'PUBG1',self.pubg_path)           #step 7        l('Info',unicode('成功過檢測 開始奔放吧','utf-8').encode('gbk')) def l(s,message):    print '[%s] %s'%(s,message) def main():    steamapps_path = config.STEAM_PATH + 'steamapps\\common\\'    if os.path.exists(steamapps_path + 'PUBG'):        obj = bypass(steamapps_path)        obj.make_link()        l('Info',unicode('上飛機后切回來按任意鍵開始過檢測','utf-8').encode('gbk'))        os.system('pause')        obj.clean()    else:        l('Warning',unicode('請檢查配置文件中的游戲目錄是否正確','utf-8').encode('gbk')) if __name__ == '__main__':    main()

Text 運行腳本前需要在同目錄下創建一個config.py文件 里面需要放steam與功能pak的路徑 格式:STEAM_PATH = '...\\Steam\\',FUNC_PAK_PATH = '...\\*.pak'

科學實驗

Text 用了個主播無后的pak來測試

 

Text

Text

最后

這里我就不提供帶功能的pak給大家了 雖然有心的話是能找到的 另外本人不敢保證不會封號 也不提倡大家使用外掛 就這樣

下期預告:我相信現在大部分玩家的Rank分都挺高的 進幾把前十再吃幾次雞 Rank就差不多到1500-1600這樣了 然后再要對槍對贏人就沒那么容易了 畢竟大家的分都差不多實力也就差不多 這時候掉分的作用就來了 掉到魚塘分段 體驗炸魚的樂趣 敬請期待 利用Python做絕地科學家(掉分篇)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM