0

我有这个 NASM 代码

extern GetStdHandle 
extern WriteFile 
extern AllocConsole 
extern FreeConsole 
extern SetConsoleTitleA 
extern SetConsoleCursorPosition 
extern Sleep 
extern ExitProcess 
extern ExitWindowsEx


import GetStdHandle kernel32.dll 
import WriteFile kernel32.dll 
import AllocConsole kernel32.dll 
import FreeConsole kernel32.dll 
import SetConsoleTitleA kernel32.dll 
import SetConsoleCursorPosition kernel32.dll 
import Sleep kernel32.dll 
import ExitProcess kernel32.dll 
import ExitWindowsEx user32.dll

. 
section .text use32 

..start: 

call [ExitWindowsEx]

当我执行它时,它不会执行关闭计算机的功能。我读到它需要参数,但是我们如何在 C# 中传递这样的参数

在此处输入图像描述

4

1 回答 1

3

我假设您使用的是 32 位 Intel 架构。在这种情况下,您必须在堆栈中传递参数。

mov eax, 1
mov ebx, 0
push eax
push ebx
call [ExitWindowsEx]
于 2013-02-27T15:30:14.583 回答