是从ss段的ebp+8这里开始,复制4个字节到eax寄存器。
在32位环境下,这一句一般是将函数第一个参数的值放到eax寄存器中。
楼上的写法应该是错误的,lea只负责加减乘除运算,没有取内容的用法。
你说的那句用nasm来写可以写成
mov eax,dword ptr [ebp + 8]
理由:ebp和esp默认是ss段,所以根本不用显式说明。eax,ebx,ecx,edx,edi,esi默认是ds段,eip默认是cs段。
mov是一个赋值语句,这句话的意思是:将ebp寄存器的值减1ch,然后在ss(堆栈段)寻址,找到ebp-1c这个地址的值,然后将这个值转换成
dword类型,也就是32位,取4字节,然后存在eax这个寄存器里。
这里是把基址为堆栈段SS,偏移地址为EBP加8的连续8个字写入EAX。方法很多。
哦做免杀啊?