当我notepad.exe在 Windows XP 中使用 ollydbg 时,初始寄存器是esp:7FFC4和ebp:7FFF0。
stack
...
0007FFC4  7C817067  kernel32.7C817067 <--- ESP
0007FFC8  7C940208  ntdll.7C940208
0007FFCC  FFFFFFFF
0007FFD0  7FFDB000
0007FFD4  80546BFD
0007FFD8  0007FFC8
0007FFDC  81D22DA8
0007FFE0  FFFFFFFF                    <--- EBP
0007FFE4  7C839AC0  kernel32.7C839AC0
0007FFE8  7C817070  kernel32.7C817070
0007FFEC  00000000
0007FFF0  00000000
0007FFF4  00000000
0007FFF8  0100739D notepad.<ModuleEntryPoint>
0007FFFC  00000000
...
我首先猜测初始堆栈是空的,但是通过 process 参数(例如, argc, argv),我认为它可以有一些值。
EBP和之间的初始堆栈是什么意思ESP?- 运行时堆栈
ESP可以低于7FFE0(超过作为值)notepad.exe?换句话说,esp 可以指向0007FFF8?