【发布时间】:2011-09-26 18:43:58
【问题描述】:
我在论坛的 asm 中遇到了一个键盘记录程序。我想我可能会自己创建一个键盘记录器。当我阅读代码以查看该程序中实际发生的情况时,我遇到了一些有趣的事情。
1.程序几乎从不将变量压入堆栈。它将变量的值移动到寄存器,然后压入寄存器。 例如。
;hInst:DWORD 4
lea esi, hInst
push esi
2.程序使用stosd清除数组。 例如:
;array1 BYTE 256 DUP(?)
lea edi, array1
push 256/4
xor eax, eax
rep stosd 3
程序使用push-pop来赋值,如上例。
以上约定的优点是什么?
【问题讨论】:
标签: assembly masm masm32 keylogger