2009-07-26 11 views
0

Bitte sagen Sie mir, wie Neustart w2k3 auf dem Assembler (ohne Verwendung von RPC-Aufrufe, um es zu tun). Im voraus danke!Neustart w2k3 auf asm

+1

Warum sollten Sie jemals den Rechner von Assembler neu booten? Ich meine, da ist vielleicht etwas, was ich nicht sehe, also bin ich neugierig. –

+0

Eigentlich bin ich auch neugierig, wieso du "rpc-calls" erwähnst. RPC ist Remote Procedure Call, das je nach Kontext "API-Funktion" oder "von einem anderen Rechner über das Netzwerk" bedeutet. Vielleicht könnten Sie mehr darüber erklären, was Sie zu tun versuchen. –

+0

Ich meine lokalen RPC die Anforderung (nicht in einem Netzwerk). Aber wenn ich versuche, reboot/r/f auf Telnet zu machen, spricht es mit mir über das System, ist bereits, wird abgeschaltet, aber es zeigt es mir in einer aktuellen 3хх Stunden. Wenn ich versuche, etwas mit Telnet-Befehl net zu machen - das System spricht, dass unzugänglich ist rpc. –

Antwort

1

Die ExitWindowsEx Funktion kann sein, was Sie suchen. Während dies in einer höheren Programmiersprache wie C einfach aufgerufen werden kann, erfordert es mehr manuelle Arbeit, um es aus der Assemblersprache aufzurufen.

Sie können auch Beispiele für den Aufruf von Win32-Funktionen aus der Assemblersprache finden; Die Stücke zusammenzulegen, liegt ganz bei Ihnen.

+0

Das Programm ist für einen Remote-Server notwendig Der hat schon neustart gestartet, aber beim reboot geht etwas schief. Als Ergebnis habe ich nur Telnet-Zugriff + eine Dateiübertragung auf diesen Server. ExitWindowsEx funktioniert in diesem Fall nicht, genauso wenig wie Taskkill und alle anderen Aufrufe von RPC. Ich denke, um BSOD diesen Server neu zu starten, aber wie? –

1

Sie haben erwähnt, in einer der Kommentare ein BSOD verursacht das System zu bringen (auch bei verursacht ein Triple-Fehler aussehen könnte, das sind Spaß, haben aber keine API). Dies geschieht durch Aufruf von KeBugCheck aus dem Kernel Land (oder durch ein Problem wie eine Nullzeiger-Dereferenzierung).

Wenn Sie einen anderen Benutzer Land API-Aufruf versuchen möchten, mag ich InitiateSystemShutdown, Übergabe in TRUE für die letzten beiden Parameter (um das Schließen geschlossener Programme zu erzwingen bzw. neu zu starten).

0

Wenn Sie versuchen, ein Remote-System herunterzufahren und etwas schief geht und das Herunterfahren aufhört und Sie es immer noch neu starten möchten, könnten Sie sich vielleicht einen softwaregesteuerten Stromversorgungsschaltkreis ansehen. Sie könnten ein Signal senden, um die Stromversorgung für einige Sekunden abzuschalten, und dann wieder online schalten.