这些说明是什么意思? (拆卸)

时间:2016-03-24 23:33:09

标签: assembly x86 reverse-engineering disassembly objdump

我几乎可以确定ebp+0x8指向一个字符串(程序实际上是通过提示来提示它,但我不确定它存储在哪里)。线条的一般概念是什么?为什么在ebp + 8的32位部分添加1?

 mov    eax,DWORD PTR [ebp+0x8]
 movzx  eax,BYTE PTR [eax]
 mov    BYTE PTR [ebp-0x11],al
 add    DWORD PTR [ebp+0x8],0x1
 mov    eax,DWORD PTR [ebp+0x8]
 movzx  eax,BYTE PTR [eax]
 test   al,al

1 个答案:

答案 0 :(得分:2)

EBP寄存器用于您的函数变量。

我认为EBP + 0x8是你的第一个函数参数。和add DWORD PTR [ebp+0x8],0x1是这样的:

proc01(char *c01){
''''
c01++;//add DWORD PTR [ebp+0x8],0x1
...
}