C 函数调用过程Ollydbg 反汇编分析 Demo int add(int,int)
2011-06-29 22:00
465 查看
待分析Demo代码:
编译,不优化
这里参数0xBB,0xAA压栈 push eax,push ecx
说明这里默认的调用约定是__stdcall
然后去调用函数int add(int,int)
Ollydbg F7执行进add函数
调用前两个参数0xBB,0xAA已经入栈
这里前两行,ebp即esp,是栈顶。
ebp+8 是 0xAA
ebp+C 是 0xBB
做加法后返回,retn自动恢复堆栈平衡
返回到值到eax=0x165
int add(int a,int b) { return a+b; } int main() { int a=0xaa; int b=0xbb; printf("a+b=%d",add(a,b)); }
编译,不优化
这里参数0xBB,0xAA压栈 push eax,push ecx
说明这里默认的调用约定是__stdcall
然后去调用函数int add(int,int)
Ollydbg F7执行进add函数
调用前两个参数0xBB,0xAA已经入栈
这里前两行,ebp即esp,是栈顶。
ebp+8 是 0xAA
ebp+C 是 0xBB
做加法后返回,retn自动恢复堆栈平衡
返回到值到eax=0x165
相关文章推荐
- C 函数调用过程Ollydbg 反汇编分析 Demo int add(int,int)
- 函数调用过程(反汇编分析)
- 堆栈、栈帧与函数调用过程分析
- c函数调用过程原理及函数栈帧分析
- c函数调用过程原理及函数栈帧分析
- <深入浅出>函数调用过程堆栈变化分析
- 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程
- 栈帧与函数调用过程的分析
- x86_64架构下函数调用过程分析
- linux-i2c驱动 之 i2c设备层的注册过程probe函数如何被调用分析
- 通过反汇编来分析简单函数调用过程(***)
- C函数调用过程原理及函数栈帧分析
- 高级语言函数调用的反汇编分析
- c函数调用过程原理及函数栈帧分析
- 从最简单的add函数调用过程分析函数栈桢创建和销毁的过程
- ARM架构下函数调用过程分析
- c函数调用过程原理及函数栈帧分析
- 汇编学习:函数调用过程中的堆栈分析
- 【CSAPP读书笔记】过程及其相关操作的分析(经典:包括函数调用过程详解)
- C++反汇编代码分析--函数调用