关于搜索kernel32的基址
罗云彬的书上搜索kernel32的基址时,把[esp]放入edi中后,与0ffff0000h与,书上解释说要按64K对齐,而后面又说按页搜索时递减10000h。为什么要按64K对齐,不是应该按一页大小对齐吗?还有按页搜索时不是应该减1000h吗?为什么减10000h。
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
_PageError:
sub edi,010000h . break .if edi < 070000000h
.endw