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