逆向工程核心原理第七章----reverse stack.exe
2018-03-13 21:03
323 查看
stack.cpp:#include "stdio.h"
#include <stdlib.h>
long add(long a, long b)
{
long x = a, y = b;
return (x + y);
}
int main()
{
long a = 1, b = 2;
printf("%d\n", add(a, b));
system("pause");
return 0;
}注意要在项目属性---->C/C++---->优化中将优化选项禁用(/Od):
生成Release版本,拖进OD,进行调试。
OD采用吾爱破解专用版。
进入OD后EP如下图:
直接执行F9到暂停处:
用F7进入主函数:
上面的有些注释是我自己写的,读者可能有所不同。
我们顺序执行到add函数体内:
执行完add,主函数释放了栈空间,调用printf函数之后调用了system("pause"),然后程序结束。
#include <stdlib.h>
long add(long a, long b)
{
long x = a, y = b;
return (x + y);
}
int main()
{
long a = 1, b = 2;
printf("%d\n", add(a, b));
system("pause");
return 0;
}注意要在项目属性---->C/C++---->优化中将优化选项禁用(/Od):
生成Release版本,拖进OD,进行调试。
OD采用吾爱破解专用版。
进入OD后EP如下图:
直接执行F9到暂停处:
用F7进入主函数:
上面的有些注释是我自己写的,读者可能有所不同。
我们顺序执行到add函数体内:
执行完add,主函数释放了栈空间,调用printf函数之后调用了system("pause"),然后程序结束。
相关文章推荐
- 逆向工程核心原理学习笔记1-通过IAT手工定位notepad.exe中的导入函数
- 逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串
- 逆向工程核心原理学习笔记(九):小端序标记法2
- 逆向工程核心原理学习笔记(十四):栈帧1
- (逆向工程核心原理)小白初探逆向_1:逆向分析Hello World!程序
- 逆向工程核心原理学习笔记(十):IA-32寄存器基本讲解
- 《逆向工程核心原理》学习总结(四) - PE文件格式
- 逆向工程核心原理读书笔记-API钩取之计算器显示中文数字
- 逆向工程核心原理读书笔记-代码注入
- <逆向工程核心原理> 静态反调试技术总结
- 逆向工程核心原理学习笔记(七):总结
- 逆向工程核心原理学习笔记(二十四):abex'crackme #2 初探
- 00书逆向工程核心原理
- 逆向工程核心原理读书笔记-API钩取之记事本小写转大写
- 逆向工程核心原理学习笔记(八):小端序标记法1
- 逆向工程核心原理学习笔记(二十一):栈帧8:删除函数add()的参数(整理栈)
- 逆向工程核心原理学习笔记(二十六):abex'crackme #2 name的存取
- 逆向工程核心原理读书笔记-API钩取之隐藏进程(二)
- 逆向工程核心原理读书笔记-API钩取之计算器显示中文数字
- 逆向工程核心原理学习笔记(九):小端序标记法2