偶爾逛逛本吧發(fā)現(xiàn)都是在求各種游戲修改方法的。。漫山遍野的小白。。。于是我就奮起講一點(diǎn)游戲修改的理論吧。[哈哈] 大觸可指出錯(cuò)誤,手機(jī)碼字,就不上圖了。
話說在前面:本帖方法多用于單機(jī)游戲,網(wǎng)游限制太多,本帖不做介紹
首先,我們要修改一個(gè)游戲要知道什么叫修改游戲,大家關(guān)注本吧就應(yīng)該知道,我們修改的是游戲數(shù)據(jù)。
那么我們所要修改的這個(gè)游戲數(shù)據(jù)是什么樣的呢?要怎么怎么找到它。
游戲數(shù)據(jù)跟游戲類型有關(guān),像角色扮演啊模擬經(jīng)營這類的游戲數(shù)據(jù)量大一些,可攻入的數(shù)據(jù)就會(huì)多一些,而一些什么動(dòng)作,競技類的我們不難想到數(shù)據(jù)就會(huì)不多。
數(shù)據(jù)保存在游戲內(nèi)存中,分動(dòng)態(tài)內(nèi)存和靜態(tài)內(nèi)存,動(dòng)態(tài)內(nèi)存是隨游戲進(jìn)行而時(shí)刻變化并隨游戲結(jié)束而停止的數(shù)據(jù),靜態(tài)內(nèi)存就是游戲存檔之類的文件數(shù)據(jù)了。
動(dòng)態(tài)修改
目前用的多的就是動(dòng)態(tài)修改了,把修改器后臺(tái)運(yùn)行然后運(yùn)行游戲進(jìn)行搜索,對(duì)此,再搜索,再對(duì)此,確定后修改或鎖定,比如游戲金錢,資源,體力,道具數(shù)量,這是種精確搜索,不多介紹
動(dòng)態(tài)修改還有聯(lián)合搜索,這個(gè)很好用,比如你看到商店有a,b,c三種商品,分別價(jià)格為100,200,300那么你就用修改器聯(lián)合搜索100,200,300中間用逗號(hào)隔開,或者100,200,300:256后面的“:256”是間隔,間隔范圍在8到4096
搜索出來后再搜索一遍剛才所搜索過的3個(gè)價(jià)格中的其中一個(gè),目的是縮小范圍
當(dāng)你確定數(shù)據(jù)后就可以修改的,一般修改為-9999999 什么的,然后購買你的錢就增加了,注意有的時(shí)候修改成負(fù)數(shù)過大會(huì)錯(cuò)誤,或者無效,所以再試下改成-1還有改成0和1
動(dòng)態(tài)修改介紹下個(gè)人認(rèn)為最好用的功能:模糊搜索
這種方法十分強(qiáng)大,可以在我們不知道數(shù)據(jù)的情況下對(duì)數(shù)據(jù)進(jìn)行查找,比如游戲時(shí)間,血條,技能持續(xù)時(shí)間,道具剩余時(shí)間,等等會(huì)發(fā)生變化的數(shù)據(jù),
例如:當(dāng)你釋放一個(gè)效果為角色攻擊速度增加的技能,這個(gè)技能會(huì)持續(xù)一段時(shí)間,你在技能效果施加成功的一剎那就暫停游戲(修改器也自帶暫停功能,需手動(dòng)開啟)然后模糊搜索,不確定類型的情況下選擇自動(dòng)匹配,等待搜索結(jié)束點(diǎn)擊繼續(xù)搜索最小化然后繼續(xù)游戲再暫停打開修改器搜索選擇變小了,以此類推,在技能失效前確定地址
解釋一下原理,你的這個(gè)技能是一個(gè)有時(shí)間限制的技能,當(dāng)你釋放技能以后游戲內(nèi)部增加一個(gè)時(shí)間軸,開始了倒計(jì)時(shí),比如是10秒,10秒后這個(gè)技能就會(huì)失效,于是我們第一步先模糊搜索一下,后面游戲時(shí)間倒計(jì)時(shí)的原因,這個(gè)時(shí)間軸縮短了,所以后面就是選擇變小了,或者可以在暫停游戲頁面不繼續(xù)游戲而再搜索一次無變化,因?yàn)槲覀儧]有繼續(xù)游戲,所以時(shí)間軸沒有發(fā)生變化。
這是一個(gè)不斷隨時(shí)間變化而變化的例子,我們也可以修改類似血條的數(shù)據(jù),血條我們是看不見的,但是可以通過受到攻擊掉血或者吃藥補(bǔ)血,可以想象到,攻擊掉血,血量下降,吃藥補(bǔ)血,血量增加,所以前者數(shù)據(jù)變化為變小了,后者為變大了
靜態(tài)修改講到這,順帶提一下,有些游戲數(shù)據(jù)的地址是會(huì)和實(shí)際數(shù)據(jù)不同的,比如1526的游戲幣實(shí)際數(shù)據(jù)為1525,所以,搜索不到可以用模糊搜索解決這一問題
還有,如果游戲有關(guān)卡倒計(jì)時(shí)什么的,在游戲上方或者下方有個(gè)倒計(jì)時(shí),這是個(gè)浮點(diǎn)數(shù)據(jù),我們精確搜索時(shí)不需要搜索小數(shù)點(diǎn)后面的數(shù)字,比如52.48我們搜索52就行了
后面我再講內(nèi)存修改,先講靜態(tài)修改,因?yàn)閮?nèi)存修改需要了解16進(jìn)制
靜態(tài)修改
首先必須要簡單了解下什么是十六進(jìn)制,話說現(xiàn)在初中都開始學(xué)十六進(jìn)制了,應(yīng)該不難理解,游戲中我們看到的數(shù)據(jù)都是十進(jìn)制,但是打開存檔或者內(nèi)存時(shí)可以發(fā)現(xiàn),這里會(huì)出現(xiàn)英文字母,十進(jìn)制是0,1,2,3,4,5,6,7,8,9十個(gè)數(shù)字,9再往大是0,但是前一位加一,這個(gè)大家都知道,十六進(jìn)制其實(shí)一樣,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六個(gè),后面的A,B,C,D,E,F分別對(duì)應(yīng)10,11,12,13,14,15十六進(jìn)制的F往大也是0,然后前一位加一
十六進(jìn)制數(shù)據(jù)是2個(gè)字符為一個(gè)字節(jié),每兩個(gè)字符都是靠在一起形成字節(jié)的,一個(gè)字節(jié)是0到255,2個(gè)字節(jié)就是0到65535,發(fā)現(xiàn)沒,用修改器搜索數(shù)據(jù)時(shí)讓我們選范圍就是這個(gè)數(shù)字,[噴] 那就說明一個(gè)數(shù)值的類型受他的最大值影響,比如等級(jí),等級(jí)一般以100級(jí)為滿級(jí),那么他只需要一個(gè)字節(jié)的位置就能表示,所以數(shù)據(jù)就是BYTE類型,范圍再0~255(就是2個(gè)F),如果是是在0~65535的數(shù)據(jù)(4個(gè)F),類型就是WORD,還有一個(gè)最大的,用的最多,就是DWORD類型,范圍是0~4294967295(6個(gè)F)這些出現(xiàn)在修改器中的數(shù)據(jù)就是受16進(jìn)制的限制而出現(xiàn)的還有些常用的要多記,比如十六進(jìn)制63是十進(jìn)制99,這些都可以用十六進(jìn)制計(jì)算器來算,但是用腦子記一些對(duì)你在一大堆內(nèi)存數(shù)據(jù)中尋找有用數(shù)據(jù)有很大作用[笑眼]
十六進(jìn)制還存在一種儲(chǔ)存方式,高低位轉(zhuǎn)化,這是游戲廠商為了防止數(shù)據(jù)溢出的方式,同時(shí)也給修改者一個(gè)檻,簡單講一下,比如一個(gè)16進(jìn)制數(shù)是1D5, 高低位換算后是D501, 因?yàn)榍懊嬲f過16進(jìn)制每兩個(gè)字符組成一個(gè)字節(jié),所以要再1前面添一個(gè)0補(bǔ)齊,就是01D5,高低位換算就是把數(shù)據(jù)從高到低重新反過來排列,剛才這個(gè)是WORD類型數(shù)據(jù),如果是DWORD類型,就要再添2個(gè)0,高低為換算就是5D0100,這個(gè)在32位游戲中廣泛應(yīng)用
簡單了解下16進(jìn)制和范圍,然后開始靜態(tài)修改吧[太開心]
靜態(tài)修改前面說過了,修改游戲存檔,首先要找到游戲存檔文件所在,
一般都在data/data/里面游戲?qū)?yīng)的文件夾。也有在android/data/里面
文件夾文件那么多,哪個(gè)是存檔呢,這個(gè)很簡單,運(yùn)行游戲,用文件管理看文件時(shí)間就行了
用修改器打開或者16進(jìn)制編輯器打開,打開后迎面而來的就是一大波16進(jìn)制數(shù)據(jù)了,在這里,你也可以搜索數(shù)值,編輯修改數(shù)值,有人說了,那樓主這和動(dòng)態(tài)修改沒的比吧,既麻煩又不實(shí)用
接下來講一下靜態(tài)修改絕對(duì)做不到的一個(gè)修改。
在動(dòng)態(tài)修改中我們可以通過模糊搜索對(duì)一個(gè)空背包的第一個(gè)位置不斷變化道具再搜索來尋找道具代碼(有變化無變化或者變大變小尋找),最后比如我們發(fā)現(xiàn)紅瓶對(duì)應(yīng)代碼為4287,那就讓我們買上幾個(gè),比如一個(gè)背包只帶了5個(gè)紅瓶,把4287轉(zhuǎn)化為16進(jìn)制是10BF,我們打開靜態(tài)內(nèi)存,然后搜索10BF或者10BF05,或者10BF0005因?yàn)椴恢罃?shù)據(jù)間有沒有間隔,所以多變化搜索一下 (高低位換算也要試) ,最后找到這個(gè)紅瓶的位置,接下來我們就可以修改這個(gè)05來修改紅瓶數(shù)量。但是我們通過觀察可以發(fā)現(xiàn)在這個(gè)這組數(shù)據(jù)后面有大量的00,聰明的你可能就發(fā)現(xiàn)了,這就是背包后面其他位置道具地址,通過添加代碼和數(shù)量達(dá)到憑空修改道具的目的![真棒]
通常很多數(shù)據(jù)相差不會(huì)太遠(yuǎn),血量地址旁邊經(jīng)常出現(xiàn)魔法值地址
結(jié)合動(dòng)態(tài)的模糊搜索然后用內(nèi)存修改可以達(dá)到很多目的,比如修改人物性別,變化寵物,改變裝備附魔等等難以預(yù)計(jì)的變化