-
-
[旧帖]
[求助]反汇编问题!!!
0.00雪花
-
发表于:
2008-3-16 19:38
4136
-
将一个简单A+B程序反汇编了一下
程序如下
#include <stdio.h>
int main ()
{
int a,b;
a = 1;
b = 2;
a += b;
return 0;
}
反汇编程序如下;
我有以下疑问?请帮忙解决
:00401010 55 push ebp
:00401011 8BEC mov ebp, esp
:00401013 83EC48 sub esp, 00000048 ;
这里给局部变量留下存储空间,如何确定为48H?:
:00401016 53 push ebx ;
作用是什么?
:00401017 56 push esi
:00401018 57 push edi
:00401019 8D7DB8 lea edi, dword ptr [ebp-48]
:0040101C B912000000 mov ecx, 00000012
;作用是什么貌似和A+B没有任何联系,为什么是00000012H?:
:00401021 B8CCCCCCCC mov eax, CCCCCCCC ;
问题同上为什么是,后面用到EAX,应该ROX,EAX EAX 才对,清空EAX的值??
:00401026 F3 repz
:00401027 AB stosd
:00401028 C745FC01000000 mov [ebp-04], 00000001
:0040102F C745F802000000 mov [ebp-08], 00000002
:00401036 8B45FC mov eax, dword ptr [ebp-04]
:00401039 0345F8 add eax, dword ptr [ebp-08]
:0040103C 8945FC mov dword ptr [ebp-04], eax
:0040103F 33C0 xor eax, eax
:00401041 5F pop edi
:00401042 5E pop esi
:00401043 5B pop ebx
:00401044 8BE5 mov esp, ebp
:00401046 5D pop ebp
:00401047 C3 ret
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!