數據更新遇到 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..
這篇來舉例
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 看看這樣...



留言

  1. 感謝洋蔥大的分享
    照著步驟走之後有得到

    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
    不過接下來的疑問是位址好像都不固定
    不知道如何更新數據

    回覆刪除

張貼留言

本月最夯