前往
大廳
主題

【程式入門】單機版的修改器是怎麼做出來的?

小櫻純真可愛 | 2024-03-05 07:55:33 | 巴幣 4 | 人氣 99

上週我去面試了一份海外工作,並成功拿到了offer。未來應該就沒時間撰寫文章,將進入半導體業。也希望大家能夠多學習外語,海外的工作薪資和待遇相當優厚。如果我有空的話,也會分享一些我在海外工作的心得。這個系列把之前許下的承諾都寫完,然後停止更新了,這將是這系列最後一篇文。


深入解析修改器:打開遊戲世界的鑰匙


在現代遊戲社群中,遊戲逐漸速食化,已經沒有了以前那種一個禮拜都在打同一個關卡的時間,因此單機版的修改器就是一個廣泛使用的工具,它使玩家能夠修改電腦遊戲的內容,從而獲得更多的樂趣和挑戰。在本文中,我們將深入探討修改器的原理、使用方法和應用場景,以及如何通過逆向工程來創建。

逆向工程


逆向工程是一種通過分析和解剖已有的產品或技術來了解其運作原理的技術。在遊戲開發和修改領域中,逆向工程技術可以幫助我們深入了解遊戲的內部結構和數據格式,從而創建出強大的修改工具。

查找和修改記憶體數據:


修改器可以通過掃描遊戲進程的記憶體,查找和修改特定的遊戲數據,比如玩家的生命值、金錢數量等。


創建和編輯腳本:


使用修改器可以創建自定義的腳本,用於自動化一些常見的操作,比如無限生命、無限金錢等。


內存監視器:


修改器還提供了一個內存監視器,可以實時監視遊戲內存中的數據變化,從而幫助玩家更好的理解遊戲的運作方式。

舉例


修改遊戲屬性:


通過修改器,玩家可以輕鬆修改遊戲中的各種屬性和數據,比如玩家的等級、技能、裝備等。


解鎖隱藏功能:


有些遊戲中可能存在一些隱藏的功能或道具,使用修改器可以解鎖這些功能,讓玩家有更多的探索空間,

沒錯幻獸帕魯的那些隱藏道具就是被這樣做出來的,像是雷達球,真是惡劣的外掛玩家

通常遊戲都會自帶一些混淆的程式碼,或是防外掛程式,但帕魯太相信人類了,所以兩者都沒做,導致遊

戲剛出那時,一堆素質國火箭隊玩家橫行,把公共伺服器炸的寸草不生。

單機遊戲的外掛大致上長成這個樣子


沒錯,這種外掛就是用逆向工程的方式去寫的,它的原理其實很簡單,

首先你需要用修改器尋找出對應的"值",這個值的搜尋方式很多種,

像是都不變的數,或是有變動的數,你需要去不斷的搜尋將數據都進行排除,

直到對的那個,但你找出來的這個"值"只是記憶體上的而已,他並不是根源(指針),

也就是說你只要重開遊戲記憶體上的這個值就會變動,這樣要如何去做修改器呢?

沒錯,就是找到指針後去算值的偏移量,並且指針是沒有那麼好得出的,舉例像幻獸帕魯來說,

指針會偏移四次,也就是說你需要有一定的遊戲框架與一些基本邏輯的基礎,才有辦法順利的找到值與正

確偏移,這就是逆向工程最大的坎,而這道坎是決定你能不能當逆向工程師關鍵,網路上資源說真不多,

特別是2000、2010年代,如果你沒辦法找到指針那你是100%沒辦法開發出一套修改器的,你做到的

只是將記憶體中的參數進行修改而已,現在網路上資料很多了,因為這還有第二道坎,就是遊戲從32位元

進化成64位元,在64位元系統上,指針的長度更長,這意味著需要更多的位元來表示記憶體中的地址。

因此,在進行逆向工程時,計算偏移量會更加複雜,因為你需要考慮更多的位元。偏移量是指在記憶體中

從一個位置到另一個位置的距離。在64位元系統上,指標和數據的地址會比在32位元系統上更大,

這意味著需要更多的位元來表示地址之間的距離。因此,在計算偏移量時,需要考慮到更多位元,

這會增加複雜性,這也是為什麼近年修改器教學越來越多原因之一,因為門檻太高水太深了,反正這些已

經沒辦法成為少部分人的收入,那就會放上來做些學術探討,此外現在大多數人都選擇使用機器學習的方

式,不僅僅是比較不容易被檢測到,對遊戲的平衡也比較沒有巨大的影響,在遊戲體驗方面也會比較好

機器學習能做到的就是看到的畫面進行動作,而逆向工程做的事是"質變",隔空吸物、全圖打等,

因此如果你對修改器有興趣且也喜歡逆向工程,可以玩玩單機32位元的進行一些簡單的修改器開發,

線上遊戲就真的不建議了,影響別人體驗不說,封號的機率也是非常高,千萬不要把你的快樂建築在別人

的痛苦上。


文章僅供學術交流使用如有法律糾紛與我並無關聯

本人在此特地聲明,謹此宣告,絕不自殺,絕不發生意外。 本人樂觀開朗,身體健康,近期至未來五十年之人生規劃都已妥當,交友廣闊,身無隱疾,且家中尚有老父老母需奉養,絕無任何自殺輕生之意圖。近期也未規劃前往外地旅遊踏青,生活作息正常,更無機會接觸木炭、毒藥、槍砲彈藥等危險管制物品。 本人並無任何使我困擾之慢性病或心理疾病,故絕不可能做出任何看似自殺之行為。 本人從無睡眠困擾,故不需服用安眠藥,更不會有服用過量的問題。 本人強調個人不酗酒也不吸毒。 。本人近期嚴守其身絕不會接近下列地點,例如: 1. 開放性水域以及偏郊積水攤 2. 任何無救生員之游泳池 3. 有高壓、危險氣體,或密閉式未經抽氣處理之地下室、蓄水池、水桶等 4. 無安全護欄之任何高處 5. 任何施工地點(拆政府除外),包括製作消波塊之工地 6. 任何以上未提及但為一般人正常不會前往之地點 。本人恪遵下列事項: 1. 開車或騎摩托車之前會檢查煞車部件、油門線等,並會在加油前關閉車輛電源與行動電話。 2. 絕不擅搶黃燈、闖紅燈。 3. 乘坐任何軌道類交通工具,本人一定退到警戒線後一步以上,直到車輛停妥。 4. 騎乘機車必戴安全帽;乘車必繫安全帶。 5. 絕不接近任何會放射對人體有立即危害的輻射之場所(如核電廠)或設備。 6. 颱風天不登山、不觀浪。 。本人將盡可能注意居家電器、瓦斯、火源之使用。 。本人居住之房屋均使用符合法規之電路電線,絕無電線走火之可能; 。本人絕對不在家中置放過量可燃性氣體或液體。 。浴室中除該有之照明外,不放置任何電器用品, 。睡覺前會關閉大量耗能電器,僅保持電燈、冰箱、電扇外之所有電器開關。 。本人絕不會與隨機的不明人士起衝突,並盡可能保護自我人身安全。 若本人被發現死亡,且現場無外力及打鬥掙扎痕跡,如在車內房間等等隱蔽場所,絕非本人自殺。 若網友在看完此聲明之後,近期或將來發現此帳號不再上線,請幫我討回公道,謝謝。


送禮物贊助創作者 !
0
留言

創作回應

更多創作