使用匯編語(yǔ)言設(shè)計(jì)游戲程序修改器,既能學(xué)習(xí)匯編語(yǔ)言,還可以修改自己喜歡的高難的游戲,可謂是一石二鳥(niǎo)之計(jì)。
首先,讓大家了解一下,什么是“機(jī)器指令”,什么是“匯編指令”,什么是“代碼地址”,請(qǐng)看下圖:
每條匯編指令與機(jī)器指令是一一對(duì)應(yīng)的,比如上圖中,最上面那條指令:8b c1和mov eax,ecx的含義是相同的,都是把寄存器ecx中的數(shù)據(jù)送入eax。每一條指令都有一個(gè)地址,我們稱(chēng)之為代碼地址。代碼地址有靜態(tài)和動(dòng)態(tài)之分,靜態(tài)的又叫模塊地址,動(dòng)態(tài)的若要修改則必須找到特征碼。
修改游戲有兩種方式。方式1:修改數(shù)據(jù);方式2:修改指令。在CE問(wèn)世前,我們用《金山游俠》、《gamemaster》等修改器修改游戲時(shí),修改的就是數(shù)據(jù),F(xiàn)在有了CE,CE除了可以修改數(shù)據(jù),還可以修改指令,指令包括機(jī)器指令和匯編指令。我們用以下方式寫(xiě)CEAA腳本,修改的就是機(jī)器指令,請(qǐng)看下圖:
用代碼注入方式寫(xiě)CEAA腳本,修改的就是匯編指令。本教程以修改匯編指令為主。
引言就說(shuō)到這里,下一篇正式開(kāi)始修改。
另外,為了讓大家懂得匯編語(yǔ)言,本人正在撰寫(xiě)《零基礎(chǔ)入門(mén)學(xué)習(xí)CE匯編》這篇教程,教程的內(nèi)容主要是匯編指令,都和游戲修改有關(guān),請(qǐng)大家期待一下。