在程序源代码中,我看到了以下内容。这段代码究竟做了什么?
.CODE
FOO PROC
nop
nop
push rax
push rax
mov rax, 545h
mov [rsp+8], rax
pop rax
ret
FOO ENDP
END
然后像这样用于dll导出:
extern "C" void __stdcall FOO(void);
答案 0 :(得分:1)
它会推送两个值,修改其中一个,但只弹出一个。这为ret
留下了一个值。
目前还不清楚这比jmp 545h
更好。