反汇编翻译
本帖最后由 wow7jiao 于 2018-6-23 22:43 编辑下面是翻遍,我尝试逐条翻译,有错误请前辈指点
int main(void)
{
010BF840push ebp//备份堆栈指针入堆栈
010BF841mov ebp,esp//堆栈指针复制给备份堆栈指针
010BF843sub esp,0D8h//为函数申请一段空间
010BF849push ebx//
010BF84Apush esi//
010BF84Bpush edi//寄存器压栈,保留现场
010BF84Clea edi,//这是减负数吗,然后把值给edi
010BF852mov ecx,36h//计数器54
010BF857mov eax,0CCCCCCCCh
010BF85Crep stos dword ptr es:
int a = 100;
010BF85Emov dword ptr ,64h
int *p = &a;
010BF865lea eax,
010BF868mov dword ptr ,eax
printf("%d\n", *p);
010BF86Bmov eax,dword ptr
010BF86Emov ecx,dword ptr
010BF870push ecx
010BF871push 1153E50h
010BF876call 010BBD9B
010BF87Badd esp,8
return 0;
010BF87Exor eax,eax
}
其实就是8D BD 40 FF FF FF
不同的翻译选项会翻译出不同的结果 加一个负数,等于减一个正数
010BF84Clea edi,
010BF84Clea edi,
请问一下es是标志位寄存器吗? 请问一下es是标志位寄存器吗? 请问一下es是标志位寄存器吗? 请问es是标志位寄存器吗 wow7jiao 发表于 2018-6-23 23:08
请问es是标志位寄存器吗
es 是段寄存器
本帖最后由 wow7jiao 于 2018-6-23 23:18 编辑
vs2017里面有标志寄存器的窗口吗?
edi, 有没有可能是无符号数,反汇编一般都是有符号数吗?
页:
[1]