标签:style blog color 使用 os io cti ar
by:比方
逆向反汇编第一章,基本函数调用
示例代码:
1 #include"stdio.h" 2 int function(int a,int b) 3 { 4 int c=a+b; 5 return c; 6 } 7 void main() 8 { 9 function(1,2); 10 getchar(); 11 }
反汇编结果:
1 #include "stdio.h" 2 3 int function(int a,int b) 4 5 {
00C213A3 sub esp,0CCh ;空出一片栈空间用来存储局部变量,本函数内部使用
1 ;int c= a+b;
00C213BE mov eax,dword ptr [a] ;mov eax,[ebp+8] 参数1即a 为什么加8,因为前面压入了8字节分别为main做的压入EIP和前面的Push ebp
00C213C1 add eax,dword ptr [b] ;add eax,[ebp+0ch] 参数2即b ebp里的值始终是esp原值
1 ;return c;
00C213C7 mov eax,dword ptr [c] ;eax始终用来存放返回值
}
00C213CA pop edi ;恢复环境
00C213CB pop esi ;恢复环境
00C213CC pop ebx ;恢复环境
00C213CD mov esp,ebp
标签:style blog color 使用 os io cti ar
原文地址:http://www.cnblogs.com/hailunchina/p/3885007.html