day06.1-堆栈图
一、画堆栈图(debug版)
1.准备工作
先要找到函数入口地址,但是现在还没有学PE文件格式,所以现在直接告诉你函数从哪个地址开始,打开OD,直接使用CTRL+G定位到地址即可在当前地址设置断点F2,再按F9让程序执行到此处停下现在就可以开始根据寄存区区域,堆栈区域,以及反汇编区域,开始分析堆栈,并且推出函数的功能
2.画出堆栈图
将helloworld程序用OD打开,第一个函数入口0x401168,定位到此处,并且让程序执行到此处停下 开始根据汇编指令推测堆栈的变化情况,然后依次F8单步执行,遇到call函数F7进入函数执行,验证推测是否正确
指令如下: 画出堆栈图并分析:
push 2和push 1操作一般是将函数要用到的参数赋值并压入栈中,后面函数可能要使用;call函数表示调用此函数,让CPU跳转到后面跟的地址,开始执行函数,先会经过jmp指令,起一个跳板的
day06.1-堆栈图最先出现在Python成神之路。
共有 0 条评论