摘要:
调试程序调试到系统库函数的代码时,总会发现系统函数都是从一条MOV EDI, EDI指令开始的,紧接着这条指令下面才是标准的建立函数局部栈的代码。对系统DLL比如ntdll.dll进行反汇编,可以发现它的每个导出函数都是如此,并且每个导出函数开始处的MOV EDI, EDI上面紧接着5条NOP指令。... 阅读全文
摘要:
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。比方说:add eax,-2; //可以认为是给变量eax加上-2这样的一个值。这些32位寄存器有多种用途... 阅读全文
摘要:
空程序:int main(){00411360pushebp;压入ebp00411361movebp,esp;ebp = esp,保留esp,待函数调用完再恢复,因为函数调用中肯定会用到esp.00411363subesp,0C0h ;esp-=0C0h(192);为该函数留出临时存储区;将其他指针... 阅读全文