2015年1月24日 星期六

超簡易數據閱讀註釋

作者:Onion
備註:如果作者不希望被轉帖到此處,請告知,小弟會馬上刪帖。
-------------------------------------------------------------------------------------

一般我們所謂的數據,其實就是給CheatEngine使用的修改目標記憶體之組合語言(應該可以這樣說吧?)

那我們舉這版(TwMS v146.1)的完全無敵(物理)數據當作範例

以下大小寫沒有差異

[Enable]
Registersymbol(AwesomeMan) //CE申請名稱AwesomeMan,不必須
Alloc(AwesomeMan,64) //申請記憶體空間
Registersymbol(Invincible) //CE申請名稱Invincible,不必須,在這段數據中可用label(標籤)取代
Alloc(Invincible,64)

00D3D794: //Call的esp暫存點
DD AwesomeMan  //Long寫入我們的數據

AwesomeMan:
Cmp [Esp],005EA13F //比對暫存器中是否為我們要修改之位置
Jne IsrectEmpty //不是的話跳還原點
Mov [Esp],Invincible //是的話就將數據位址移入暫存器
Jmp IsrectEmpty //還原

Invincible: //一個標籤(申請的空間)
Test Eax,Eax //原本的記憶體位置,抄下來,Test處裡
Jmp 005EA143 //我們實際修改之位置,Nop掉他的跳轉達到無敵的效果,此處使用jmp

[Disable]
00D3D794:
DD IsrectEmpty //還原(此文api點所以在CE當中能夠使用他的名)一般會是一個地址adr
Dealloc(AwesomeMan) //釋放申請之記憶體
UnRegistersymbol(AwesomeMan) //取消申請的名
Dealloc(Invincible)
UnRegistersymbol(Invincible)

沒有留言:

張貼留言