栈帧生成: 栈帧随着函数被调用而生成。 栈帧创建初期 通过PUSH EBP指令保存老栈帧的栈底 一般 看到 push ebp 就说明 要调用函数了 通过 MOV EBP ,ESP 指令 将EBP指向新栈帧的栈底 ...
分类:
其他好文 时间:
2016-05-08 13:25:43
阅读次数:
113
单步的实现 就是之前设置的TF标志位 步出则是在ebp+4的地址设置断点 步过则是获得下一条指令长度,在下下条指令下断点 然后关于之前硬件断点的问题,发现设置1个字节的断点就能断下来,不过在断点恢复的时候,设置TF恢复就不能正常运行 也有点问题。 这个调试器也拖了很久没弄了,感觉放下了就很久不会弄, ...
分类:
其他好文 时间:
2016-04-24 20:13:25
阅读次数:
247
//函数声明:
#define_CRT_SECURE_NO_WARNINGS1
#include<stdio.h>
#include<stdlib.h>
#defineSTACK_INIT_MEMORY100
#defineSTACK_GROW_MEMORY10
typedefintElemType;
typedefstructstack
{
ElemType*esp;
ElemType*ebp;
intsize;//记录当前栈内空间最多能存几..
分类:
其他好文 时间:
2016-04-23 15:08:10
阅读次数:
173
来自:http://blog.163.com/liuguang_123/blog/static/816701920105262543890/ 理解调用栈最重要的两点是:栈的结构,EBP寄存器的作用。首先要认识到这样两个事实:1、一个函数调用动作可分解为:零到多个PUSH指令(用于参数入栈),一个CA ...
第一周总结1.存储程序计算机 + 函数调用堆栈 + 中断机制 2.堆栈:C语言程序运行时候必须的一个记录调用路径和参数的空间(函数调用框架/提供局部变量/传递参数/保存返回地址) 不同指令可能实现相同的功能 3.堆栈相关:esp ebp ;操作: push pop; ebp在C语言中用作记录当前函数 ...
分类:
系统相关 时间:
2016-04-18 18:33:00
阅读次数:
182
本笔记是针对ximo早期发的脱壳基础视频教程,整理的笔记。本笔记用到的工具下载地址:
http://download.csdn.net/detail/obuyiseng/9466056
EXE32PACK
1.ESP定律
1、将程序加载到OD中,发现有大段的加密指令,我们先单步走,到达关键指令,push ebp
2、单步运行到cmp...
分类:
其他好文 时间:
2016-04-17 23:13:27
阅读次数:
318
Following images are from http://www.xuebuyuan.com/528715.html
In general, the process of calling function is put the parameters into the stack, move the EBP and ESP (jump into another function),...
分类:
编程语言 时间:
2016-04-01 18:13:34
阅读次数:
297
计算机是如何工作的?(总结)——三个法宝 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构; 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能; enter pushl %ebp movl %
分类:
系统相关 时间:
2016-03-06 20:51:35
阅读次数:
214
计算机是如何工作的? 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构; 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能; enter --pushl %ebp --movl %esp,%e
分类:
系统相关 时间:
2016-03-06 19:11:16
阅读次数:
225
计算机如何工作 三个法宝:存储程序计算机、函数调用堆栈、中断机制。 堆栈 函数调用框架 传递参数 保存返回地址 提供局部变量空间 堆栈相关的寄存器 Esp 堆栈指针 (stack pointer) Ebp 基址指针 (base pointer) 堆栈操作 Push;pop Ebp用作记录当前函数调用
分类:
系统相关 时间:
2016-03-06 17:32:05
阅读次数:
188