eip寄存器为32位,每增加一条新指令就会递增。那么当它达到32位数的最大值时会发生什么:4294967295。
答案 0 :(得分:6)
通常情况下,你不要让它发生。 %eip不会无条件地增加;它受流控制指令的影响(如jmp
,call
,bcc
等。
实际上,这种行为是不可预测的。在某些CPU上,%eip溢出会导致故障。在其他一些方面,它默默地回归到零。
这些差异导致(原始)Xbox引导ROM的着名利用,因为开发套件使用AMD CPU(故障包围),而生产硬件使用Intel CPU(没有)。有关详细信息,请参阅第140页的Hacking The Xbox: An Introduction to Reverse Engineering。