【发布时间】:2017-07-14 21:03:36
【问题描述】:
当ecx+5C 等于我为其提供立即值的特定地址时,我正在尝试在程序中执行一些字节注入以执行特定任务。我正在尝试执行以下操作:cmp [ecx+5C], 1D59D3BC。但是我得到一个错误。有谁知道我如何将寄存器+偏移地址与 x86 程序集中的立即地址进行比较?
【问题讨论】:
-
你得到什么错误?
-
查看Addressing in Assembler 并获取答案中引用的.pdf。 (对您的问题的简短回答是删除
[ ]s 以比较地址——而不是存储在该地址的值......) -
你在找
cmp ecx, 1D59D3BCh - 5Ch吗? -
是要比较地址,还是比较这些地址指向的内存内容?正如 Paul H 所说,地址就像整数一样,您可以与
cmp进行比较。 (通常最有意义的是事后检查标志的上方/下方,而不是签署更大/更少。nvm,您只是在寻找相等)
标签: assembly code-injection disassembly opcode