【问题标题】:How stosd works in assembly?stosd 在装配中是如何工作的?
【发布时间】:2020-07-25 16:45:30
【问题描述】:

抱歉这个问题..只是想了解当 EAX 为零时 stosd 在汇编中的工作原理

mov ecx, 41
lea edi, [variable]
xor eax, eax
rep stosd

我正在使用这些说明调试恶意软件,并且在每个 stosd 中,当在转储中跟踪 edi 时,我可以看到 Windows 目录路径。

但是当 EAX 为零且不引用任何变量时,这些目录从哪里来?

【问题讨论】:

  • rep stosdwmemset(edi, eax, ecx) - 它只是在您的情况下存储零。但它也会增加 EDI,使其指向缓冲区的末尾。
  • 谢谢 ... @Peter .. 现在我明白了。

标签: assembly x86 reverse-engineering analysis malware


【解决方案1】:

您看到指针已经存储在edi 指向的数组中,之前每个stosd 都会用零覆盖它们。

stosd writes eax to edi and increments it by four(假设未设置DF 标志,通常是这种情况)。

那个sn-p相当于memset(variable, 0, 41*4)

【讨论】:

    猜你喜欢
    • 2011-03-10
    • 2020-11-19
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多