我有以下带有注释的函数序言的反汇编。我不清楚作者在这行反汇编"lea edi,[ebp-0xcc] ; 获取堆栈帧的最低地址" 中的意思。转储可执行文件的标头 我在 OPTIONAL HEADER VALUES 中看到以下内容:100000 堆栈保留大小 1000。Windows线程默认堆栈大小为 1MB,因此我相信 dumpbin 中的值以 Kilo 为单位。
你能澄清一下这个说法吗: lea edi,[ebp-0xcc] ; 获取栈帧的最低地址
push ebp ; establishing stack frame
mov ebp,esp ; save stack pointer in ebp
sub esp,0xcc ; creating stack frame for local variables
push ebx ; saving registers that might be used
push esi ; outside
push edi ;
lea edi,[ebp-0xcc] ; getting the lowest address of stack frame
mov ecx,0x33 ; filling stack frame with 0xCC
mov eax,0xcccccccc ;
rep stosd ;