反汇编一个简单的C程序并分析
C 源码:
int g(int x)
{
return x+1;
}
int f(int x)
{
return g(x);
}
int main(void)
{
return f(2) + 3;
}
汇编源码:
1 g:
2 pushl %ebp
3 movl %esp, %ebp
4 movl 8(%ebp), %eax
5 addl $1, %eax
6 popl %ebp
7 ret
8 f:
9 pushl %ebp
10 movl %esp, %ebp
11 subl $4, %esp
12 movl 8(%ebp), %eax
13 movl %eax, (%esp)
14 call g
15 leave
16 ret
17 main:
18 pushl %ebp
19 movl %esp, %ebp
20 subl $4, %esp
21 movl $2, (%esp)
22 call f
23 addl $3, %eax
24 leave
25 ret
执行过程:(从 main 开始)




本文详细介绍了如何反汇编一个简单的C程序,并对其执行过程进行了深入分析,从main开始,探讨了程序在汇编层面的运行细节。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



