滴水逆向笔记(九)

1.DTDebug中的按键操作
F2下断点 F7单步步入(call指令使用) F8单步步过
2.下断点
在这里插入图片描述
在断点处,如上标识的中间一列的十六进制会变为0xCC,右一列相当于int 3

2.函数:一系列指令的集合,主要是重复使用特定的功能
例如向寄存器赋值,或者执行两数加减指令等

3.如何向传入十个参数?
通用寄存器总共有八个,这个时候就不能再用通用寄存器了,可以通过堆栈的方式,将参数压入栈内
在这里插入图片描述
在这里插入图片描述
4.堆栈平衡
我自己理解就是用了个函数,在ret指令执行后,栈顶esp原来是什么,现在就应该还是什么,当然如果栈底ebp也改变了,也是让它变回来
下面是实操
在这里插入图片描述
接下来执行后
在这里插入图片描述可以看到eax值为4,且esp的值地址没有改变

猜你喜欢

转载自blog.csdn.net/m0_51295934/article/details/122896908