当我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?