-
-
[旧帖]
[求助]程序刚开始运行时esp指向的内容是指向PE文件头的IMAGE_DOS_HEADERS?
0.00雪花
-
发表于:
2009-2-20 17:27
3870
-
[旧帖] [求助]程序刚开始运行时esp指向的内容是指向PE文件头的IMAGE_DOS_HEADERS?
0.00雪花
刚刚学习本论坛的精华帖子http://bbs.pediy.com/showthread.php?t=51357 它一开始来了这么一句:
invoke _GetKernelBase,[esp]
从后面的定义来看,好像[esp]指向PE文件头,不知是不是这样
函数定义如下
_GetKernelBase proc _dwKernelRet
local @dwReturn
pushad
mov @dwReturn,0
call @F
@@:
pop ebx
sub ebx,offset @B
mov edi,_dwKernelRet
and edi,0ffff0000h
.while TRUE
.if WORD ptr [edi] == IMAGE_DOS_SIGNATURE
mov esi,edi
add esi,[esi+003ch]
.if WORD ptr [esi] == IMAGE_NT_SIGNATURE
mov @dwReturn,edi
.break
.endif
.endif
sub edi,010000h
.break .if edi < 070000000h .endw
popad
mov eax,@dwReturn
ret
_GetKernelBase endp
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课