0
我試圖做一些字節注入程序來執行一個特定的任務ecx+5C
等於一個特定的地址,我提供了一個立即值。我正在嘗試執行如下操作:cmp [ecx+5C], 1D59D3BC
。但是我得到一個錯誤。有誰知道我可以如何將寄存器+偏移地址與x86彙編中的直接地址進行比較?如何比較x86程序集中的兩個地址?
我試圖做一些字節注入程序來執行一個特定的任務ecx+5C
等於一個特定的地址,我提供了一個立即值。我正在嘗試執行如下操作:cmp [ecx+5C], 1D59D3BC
。但是我得到一個錯誤。有誰知道我可以如何將寄存器+偏移地址與x86彙編中的直接地址進行比較?如何比較x86程序集中的兩個地址?
我正在嘗試做如下操作:
cmp [ecx+5C], 1D59D3BC
。
但是我得到一個錯誤。
可能的原因,爲什麼這會失敗:
嘗試以下任何一種(取決於你的彙編):
cmp dword ptr [ecx + 5Ch], 1D59D3BCh
cmp dword ptr [ecx + 0x5C], 0x1D59D3BC
cmp dword [ecx + 5Ch], 1D59D3BCh
cmp dword [ecx + 0x5C], 0x1D59D3BC
有誰知道我怎麼能寄存器+偏移地址與在x86彙編立即地址?
lea eax, [ecx + 5Ch] ;put the address in EAX
cmp eax, 1D59D3BCh ;compare with the immediate
但作爲較短顯示PaulH在註釋:
cmp ecx, 1D59D3BCh - 0000005Ch
你什麼錯誤? – zx485
看看[**在彙編程序**中尋址](https://stackoverflow.com/questions/2364162/addressing-in-assembler)並獲取答案中引用的.pdf。 (對你的問題的簡短回答是*刪除'[]'s *來比較地址 - 而不是存儲在該地址的值....) –
可能你正在尋找'cmp ecx,1D59D3BCh - 5Ch'? –