能力值:
( LV15,RANK:440 )
|
-
-
2 楼
ESP 为栈顶指针
EBP:通常标准的用法是栈桢寻址,也可以用于一般的通用寄存器。
因为用ESP也可以对栈桢进行寻址(替代EBP的功能),所以在编译优化中通常用ESP直接对栈桢进行寻址,而将EBP省下来留作他用。debug编译中不允许优化,而release中可能你的设置默认开了编译优化功能,从而出现你描述的情况。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
记得 看雪10周年上一位前辈 写的一篇文章是讲基础知识的。。
上面对寄存器的介绍。。感觉很不错啊。。
引用:
"EAX、EBX、ECX、EDX、ESP、EBP、EDI、ESI 是通用寄存器。其中eax到ebx 是数据寄存器。
而ESP、EBP、EDI、ESI这四个呢,就只能用字来访问,它们的主要用途就是在存储器寻址时,提供偏移地址。因此,它们可以称为指针或变址寄存器。话说回来,从386以后,所有的寄存器都可以用来存储内存地址。(这里给你讲一个小知识,你在破解的时候是不是看到过[EBX]这样的形式呢?这就是说此时EBX中装的是一个内存地址,而真正要访问的,就是那那个内存单元中所存储的值)。
ESP称为堆栈指针寄存。堆栈是一个很重要的概念,它是以“后进先出”方式工作的一个存储区,它必须存在于堆栈段中,因而其段地址存放于SS寄存器中。 "
希望对楼主有帮助。
|
|
|