溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么利用Python制作游戲外掛

發(fā)布時(shí)間:2021-12-04 10:31:34 來(lái)源:億速云 閱讀:3815 作者:柒染 欄目:網(wǎng)絡(luò)安全

怎么利用Python制作游戲外掛,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

前言

怎么利用Python制作游戲外掛 先給大家介紹一下現(xiàn)在市面上的外掛種類

傳統(tǒng)外掛

fps游戲都有一個(gè)共同的特點(diǎn),大部分計(jì)算都是本地完成的,不可能每一個(gè)動(dòng)作都和服務(wù)器交互,有幾個(gè)原因:


    • 會(huì)造成服務(wù)器負(fù)荷過(guò)大,提高運(yùn)營(yíng)成本

    • 在對(duì)槍殺人時(shí),幾十ms的延遲可能會(huì)扭轉(zhuǎn)戰(zhàn)局

    • 會(huì)極大影響游戲體驗(yàn)

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


    • 注冊(cè)表注入

    • 遠(yuǎn)線程注入

    • 依賴可信進(jìn)程注入

    • APC注入

    • 消息鉤子注入

    • 導(dǎo)入表注入

    • 劫持進(jìn)程創(chuàng)建注入

    • LSP劫持注入

    • 輸入法注入

    • ComRes注入

修改本地文件的PUBG外掛

本篇文章就是基于這種方法實(shí)現(xiàn)的,原理是通過(guò)修改本地游戲資源(*.pak),來(lái)實(shí)現(xiàn)的各種功能,而PUBG采用BattlEye來(lái)實(shí)現(xiàn)反外掛,游戲運(yùn)行時(shí)后臺(tái)有個(gè)叫BEservice.exe的進(jìn)程,進(jìn)游戲后打開(kāi)任務(wù)管理器就能看到兩個(gè)很明顯的PUBG logo的進(jìn)程,另外一個(gè)叫TslGame.exe是游戲的進(jìn)程。BEservice.exe對(duì)PAK修改的檢測(cè)十分嚴(yán)格,而且不斷在更新,這也是各種輔助有時(shí)在游戲更新后會(huì)失效的一個(gè)主要原因。而基本上一個(gè)外掛失效,也只用更新下過(guò)檢測(cè)(BEservice.exe),就能滿血復(fù)活了。

科學(xué)研究

怎么利用Python制作游戲外掛 上面說(shuō)了基本上通過(guò)修改pak文件的外掛失效只需要更新一下過(guò)檢測(cè)就行了
自從前幾天的游戲大更后 市面上很多過(guò)檢測(cè)的方法都已經(jīng)失效了 查了很多資料實(shí)驗(yàn)了很多次后 找到了個(gè)目前來(lái)說(shuō)還算是穩(wěn)定的方法:

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

怎么利用Python制作游戲外掛 這樣就大功告成了 前4步是初始化 后3步才算是過(guò)檢測(cè) 復(fù)制完的bypass目錄在不進(jìn)行大更新的情況下可以不刪除 也就是說(shuō)如果你退出了游戲 就需要從第2步重新開(kāi)始

發(fā)明科技

怎么利用Python制作游戲外掛 要完成這個(gè)科技其實(shí)非常簡(jiǎn)單 只需要一些簡(jiǎn)單的文件操作基礎(chǔ)即可 這里就不多bb了 直接上成品
#! /usr/bin/env python# -*- coding: utf-8 -*-"""
@ Author : NNNNNaiquan
@ Mail   : misitenq@gmail.com
"""import configimport osimport shutilclass 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('正在創(chuàng)建軟鏈接','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('軟鏈接創(chuàng)建成功','utf-8').encode('gbk'))

   def clean(self, ):       bypass_pak_path = self.bypass_path + '\\TslGame\\Content\\Paks\\TslGame-WindowsNoEditor_ui1.pak'       l('Info',unicode('正在過(guò)檢測(cè)','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('成功過(guò)檢測(cè) 開(kāi)始奔放吧','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('上飛機(jī)后切回來(lái)按任意鍵開(kāi)始過(guò)檢測(cè)','utf-8').encode('gbk'))
       os.system('pause')
       obj.clean()
   else:
       l('Warning',unicode('請(qǐng)檢查配置文件中的游戲目錄是否正確','utf-8').encode('gbk'))if __name__ == '__main__':
   main()
怎么利用Python制作游戲外掛 運(yùn)行腳本前需要在同目錄下創(chuàng)建一個(gè)config.py文件 里面需要放steam與功能pak的路徑 格式:STEAM_PATH = '...\\Steam\\',FUNC_PAK_PATH = '...\\*.pak'

科學(xué)實(shí)驗(yàn)

怎么利用Python制作游戲外掛 用了個(gè)主播無(wú)后的pak來(lái)測(cè)試

怎么利用Python制作游戲外掛

怎么利用Python制作游戲外掛

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

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI