數據更新遇到 DB 碼怎麼辦?
此文章部分術語非正統 ASM 用詞... 簡單教學黑黑請略過 <(_ _)>
本來沒打算寫這篇來著,可是有人不會更新只有 DB 的數據 030
DB 是什嗎?
DB - Define Byte. 8 bits
DW - Define Word. Generally 2 bytes on a typical x86 32-bit system
DD - Define double word. Generally 4 bytes on a typical x86 32-bit system
所以 DB 其實就是以 byte 寫入的意思,也就是 AoB..
以這篇來舉例
補張圖好理解點...
所以就 Go to 0A820000 看看這樣...
本來沒打算寫這篇來著,可是有人不會更新只有 DB 的數據 030
DB 是什嗎?
DB - Define Byte. 8 bits
DW - Define Word. Generally 2 bytes on a typical x86 32-bit system
DD - Define double word. Generally 4 bytes on a typical x86 32-bit system
所以 DB 其實就是以 byte 寫入的意思,也就是 AoB..
以這篇來舉例
Alloc(NoDelayICS, 64) NoDelayICS: DB 81 BC 24 C4 00 00 00 0A E6 C2 00 75 0B C7 84 24 0C 33 00 00 01 00 00 00 8B FF 55 8B EC A1 98 80 F9 00 83 C0 05 FF E0 KERNEL32.InterlockedIncrement: Jmp NoDelayICS注入數據後觀察記憶體,Opcode 即是你看得懂的組語...
cmp [esp+000000C4],00C2E60A jne 45B50018 mov [esp+0000330C],00000001 mov edi,edi push ebp mov ebp,esp mov eax,[00F98098] add eax,05 jmp eax怎麼看到這個?你可以從你 Hook 的地方跳過去,或者設定 RegisterSymbol 標記跳過去等等...
補張圖好理解點...
所以就 Go to 0A820000 看看這樣...
感謝洋蔥大的分享
回覆刪除照著步驟走之後有得到
36260000 - cmp [esp+000000C4],MapleStory.exe+82E60A
3626000B - jne 36260018
3626000D - mov [esp+0000330C],00000001
36260018 - mov edi,edi
3626001A - push ebp
3626001B - mov ebp,esp
3626001D - mov eax,[MapleStory.exe+B98098]
36260022 - add eax,05
36260025 - jmp eax
這是Auto Assemble 167.2 遊戲
因為Auto Assemble 167.1 CEM
會出現error
不過接下來的疑問是位址好像都不固定
不知道如何更新數據