2008-03-07
来源:互联网 发布:家庭网络打印机共享 编辑:程序博客网 时间:2024/06/12 00:03
可执行数据区:这一区域常常即包括预初始化数据也包括全局变量,预初始化数据指的是程序中的各种常量、硬编码信息,一些预初始化数据直接置于代码中,但 是,在数据量非常大的情况下,编译器会将这些数据存放在程序可执行部分中的某一个特殊区域,并生成通过地址引用这些数据的代码,另一种常见情况是,当程序 定义了全局变量时,数据就存放在可执行数据区,全局变量提供长时间的存储,对于预初始化数据,为了访问全局变量,编译器必须使用硬编码内存地址,这就是为 什么在逆向程序时全局变量很容易被识别的原因
源操作数与目的操作数中最多只能有一个存储器地址,多数指令只能接收一个存储器操作数,也有少数意外
CMP OPT1, OPT2:实际上CMP指令只是简单的将操作数OPT1减去OPT2并放弃结果,而将能正确反映该剑法运算结果的所有相关标志位设置好
CALL指令将当前指令指针压入堆栈,并跳转到规定的地址
RET指令弹出CALL压入堆栈的指令指针,并从该处开始执行,另外,RET指令中可以明确给出字节数来指示弹出指令后ESP的增量,这会在恢复ESP到在当前函数被调用以及参数压入堆栈之前的初始位置的时候用到
源操作数与目的操作数中最多只能有一个存储器地址,多数指令只能接收一个存储器操作数,也有少数意外
CMP OPT1, OPT2:实际上CMP指令只是简单的将操作数OPT1减去OPT2并放弃结果,而将能正确反映该剑法运算结果的所有相关标志位设置好
CALL指令将当前指令指针压入堆栈,并跳转到规定的地址
RET指令弹出CALL压入堆栈的指令指针,并从该处开始执行,另外,RET指令中可以明确给出字节数来指示弹出指令后ESP的增量,这会在恢复ESP到在当前函数被调用以及参数压入堆栈之前的初始位置的时候用到
- 2008-03-07
- 2008-07-03 日志:遭遇VS2008的Bug
- Linux一句话精彩问答--2008/03/07更新--20071212pdf版本下载
- 05/07/03
- 06/03/07
- 2006-03-07
- 06/03/07
- 07-03-08
- 2009-07-03 TIPTOP
- 2010-03-07
- 10-03-07 BRT
- 2010-07-03
- 10 07 03 月末
- 10 07 03 月末
- java 2011-03-07
- 2011.05.03 ~ 2011.05.07
- 07---多线程03
- 2012-03-07
- SqlHelper类(VB.NET版)
- 关闭U盘自动运行,防止插上U盘就中毒
- 2008-03-04
- 2008-03-05
- 2008-03-06
- 2008-03-07
- 2008-03-04
- 2008-03-05
- 用google翻译来转换你的blog成英文
- DBGridEH 组件在Borland开发工具中应用全攻略
- cpu 技术参数
- 2008-03-06
- 华章与数据挖掘大会同行——2008年(第五届)中国数据挖掘大会现场报道
- c# 枚举基础 与 枚举属性的访问