我在網上遇到這個關鍵記錄器,想知道下面這段代碼實際上做了什麼。有兩個連續的命令,令我困惑。那裏還有什麼命令? 全碼,可以發現: http://www.rohitab.com/discuss/topic/21205-asm-keylogger-in-4k-d/這段代碼是做什麼的?
下面是代碼摘錄(線295起):
get_name_of_key: ; no need for large table of pointers to get asciiz
mov esi, [lParam]
lodsd ; skip virtual key code
lodsd ; eax = scancode
shl eax, 16
xchg eax, ecx
lodsd ; extended key info
shl eax, 24
or ecx, eax
push 32
lea edi, [lpCharBuf]
push edi
push ecx
call GetKeyNameTextA ; get the key text