Assembly stosd在汇编中是如何工作的?

Assembly stosd在汇编中是如何工作的?,assembly,x86,reverse-engineering,analysis,malware,Assembly,X86,Reverse Engineering,Analysis,Malware,很抱歉问这个问题。。只是想了解EAX为零时stosd在汇编中是如何工作的 mov ecx, 41 lea edi, [variable] xor eax, eax rep stosd 我用这些指令调试了一个恶意软件,每次在转储中跟踪edi时,我都能看到windows目录路径 但是,当EAX为零且未引用任何变量时,这些目录将从何处提交?您将看到已存储在由edi指向的数组中的指针,然后每个stosd将其覆盖为零 (假设未设置DF标志,通常是这样) 该代码段相当于memset(变量,0,41*4)在

很抱歉问这个问题。。只是想了解EAX为零时stosd在汇编中是如何工作的

mov ecx, 41
lea edi, [variable]
xor eax, eax
rep stosd
我用这些指令调试了一个恶意软件,每次在转储中跟踪edi时,我都能看到windows目录路径


但是,当EAX为零且未引用任何变量时,这些目录将从何处提交?

您将看到已存储在由
edi
指向的数组中的指针,然后每个
stosd
将其覆盖为零

(假设未设置
DF
标志,通常是这样)


该代码段相当于
memset(变量,0,41*4)

在每次
stosd
将指针覆盖为零之前,您将看到
edi
指向的数组中已经存储的指针

(假设未设置
DF
标志,通常是这样)


该代码段相当于
memset(变量,0,41*4)

rep stosd
wmemset(edi,eax,ecx)
-它只在您的情况下存储零。但它也会增加EDI,使其指向缓冲区的末尾。谢谢@彼得。。现在我明白了。
rep stosd
wmemset(edi、eax、ecx)
-它只在您的案例中存储零。但它也会增加EDI,使其指向缓冲区的末尾。谢谢@彼得。。现在我明白了。