tags:

views:

180

answers:

3

Hello! Please tell me how to cause reboot w2k3 (Without using rpc-calls to do it) on the assembler. In advance thanks!

+1  A: 

The ExitWindowsEx function may be what you're looking for. While this is easy to call in a high level language like C, it takes more manual work to call it from assembly language.

You can also find examples of calling Win32 functions from assembly language; putting the pieces together is up to you.

Greg Hewgill
The program is necessary for a remote serverWhich has already begun reboot, but during reboot something goes wrong.As a result i have ONLY telnet access + a file transfer to this server.ExitWindowsEx does not work in this case, also as well as taskkill also as well as any other calls to RPC.I think to cause BSOD to reboot this server, but how?
+1  A: 

You mentioned causing a BSOD in one of the comments to bring down the system (you might also look at causing a triple-fault, those are fun, but have no API). This is done from kernel land by calling KeBugCheck (or by causing a problem like a null-pointer dereference).

If you want to try another user land API call, I like InitiateSystemShutdown, passing in TRUE for the last two parameters (to force closing hung programs, and to restart, respectively).

mrduclaw
A: 

If you're trying to shut down a remote system and something goes wrong and the shutdown hangs, and you still want to reboot it, perhaps you could look at a software-controlled power control circuit. You could send a signal to cut power to the machine for a few seconds, then bring it back online.

Greg Hewgill

related questions