想看一下main函数的反汇编程序,分析一下:
int main()
{return 0;
}
反汇编:
1: int main()
2: {
00401010 55 push ebp ;将ebp压入栈
00401011 8B EC mov ebp,esp ;把esp赋值给ebp
00401013 83 EC 40 sub esp,40h ;esp减少40h
00401016 53 push ebx ;ebx也入栈
00401017 56 push esi ;esi压入栈
00401018 57 push edi ;edi入栈
00401019 8D 7D C0 lea edi,[ebp-40h] ;将ebp-40h的值赋值给edi
0040101C B9 10 00 00 00 mov ecx,10h ;ecx赋值为10h
00401021 B8 CC CC CC CC mov eax,0CCCCCCCCh ;eax赋值为0CCCCCCCCh
00401026 F3 AB rep stos dword ptr [edi]
3: return 0;
00401028 33 C0 xor eax,eax ;将eax赋值为0
4: }
0040102A 5F pop edi ;出栈的数据赋值给edi
0040102B 5E pop esi ;出栈的数据赋值给esi
0040102C 5B pop ebx ;出栈的数据赋值给ebx
0040102D 8B E5 mov esp,ebp ;将ebp的值传给esp
0040102F 5D pop ebp ;出栈的数据赋值给ebp
00401030 C3 ret
如果不认识rep和stor指令,可以看一下这篇文章
rep和stos指令