MASM ExitWindowsEx auf Win9x
-
Hi ...
Welche Befehle muss ich aufrufen ohne
die DLL-Funktion zu nutzen (ExitWindowsEx) ?
Sprich: Was muss ich pushen und popen?
Bisher mache ich es wie folgt:.... ;par von ExitWindowsEx von rechts nach links übergeben push offset 0 ;0 push 1 ;shutdown call ExitWindowsEx ;funktionsaufruf (ExitWindowsEx) ....
Hoffe Ihr könnt mir helfen ...
bis denne
Assembler-Newbie
-
Irgendwie versteh ich deine Frage nicht. Du willst ExitWindowsEx aufrufen ohne die Funktion aufzurufen?!? Oder suchst du jetzt eine Möglichkeit den Code für ExitWindowsEx selbst zu schreiben?
-
Ich glaube er will das Gleiche erreichen (PC herunterfahren) nur ohne die Funktion ExitWindowsEx.
Glaube ich zumindest
-
Hi ...
Was Ihr beide sagt ist genau was ich machen möchte.
Bis jetzt kann ich nur die Funktion von der
WinApi nutzen, mittels des Aufrufes von
call ExitWindowsEx,aber ich möchte ohne diese
Funktion auskommen, also soll die Funktion
durch die normalen Assemblerbefehle für das
Herunterfahren ersetzt werden.bis denne
Assembler-Newbie
-
Windows ist ein Betriebssystem, das den Prozessor im Protected-Mode betreibt. Das bedeutet für dich, dass du mit Assembler nicht mehr erreichen kannst als mit C++.
Den Rechner herunterzufahren ist unmöglich, da Windows alle Versuche auf die ACPI-Hardware zuzugreifen blockt.Was spricht denn gegen ExitWindowsEx?
-
Hi ...
cd9000:
Ich programmiere gern mit C/C++ und möchte jetzt
hinter die einzelnen Befehle
(wie ExitWindowsEx und readdir() und ....)
die ich aufrufe schauen und das mit ASM.
An dem Befehl an sich (nur dem
Funktionsaufruf mit call Funktionsname und vorher
dem pushen :))
ist nichts auszusetzen.
Ich möchte aber gern Wissen was hinter diesem Befehl
abläuft und nicht immer einen Funktionsaufruf nutzen
den ich im Grunde gar nicht kenne.
Danke für den Tipp mit dem
"Advanced Configuration and Power Interface".bis denne
Assembler-Newbie
-
*gg* Wenn du wirklich einige Funktionen selbst schreiben willst, bist du aber bei der Windows-Programmierung mit Assembler falsch.
Da musst du dann schon auf DOS umsatteln, da kannst du alles bis ins Kleinste zerbasteln.
In Windows gibt es, wie cd9000 bereits sagte, keine Alternative zu den WinAPI-/Treiber-Funktionen, wenn du auf Systemfunktionen (also zB. auch Windows beenden)/Hardware zugreifen willst - von daher ist Windows-Programmierung mit Asm IMHO auch weitgehend witzlos."Hinter die Funktionen schauen" kannst du in Windows zB. mit Soft-Ice. Das ist ein Debugger, mit dem du sogar Treiber und den Kernelcode disassemblieren kannst.
Aber wie gesagt: Den Code, den du da liest, kannst du nicht einfach abschreiben und in deine Windows-Programmen einbauen.
-
Hi ...
Nobuo T:("Hinter die Funktionen schauen" kannst du in Windows
zB. mit Soft-Ice. Das ist ein Debugger, mit dem du sogar
Treiber und den Kernelcode disassemblieren kannst.)-->Danke für den Tip, aber ein wenig teuer ist das schon, wenn Du
das meinst was ich gefunden habe.
http://www.compuware.com/products/buyit/buyit.aspOder meinst Du ein anderes Programm ?
bis denne
Assembler-Newbie
-
Jupp
Hier die offizielle Site:
http://www.microway.com.au/compuware/softice.stmTja, vielleicht findeste ja im Netz eine *GRATIS-TEST-VERSION*
muhahaha
*scnr*
-
Hi ...
Danke..... für Eure Antworten, aber ich werde
erstmal ASM mit Win9x und Linux lernen,
und dann mit DOS weiter machen, da Win9x
ja einen DOS-Kern hat.
Wenn ich damit fertig bin habe ich eventuell
selbst die Möglichkeit solch ein Prog zu tipseln,
wie SOFTIce es ist.
Zumindest werde ich daran arbeiten.Gratistestversion in DOS z.B. DEBUG.
Egal.... danke...für Eure Antworten...bis denne
Assembler-Newbie
-
Ich hab noch ne Idee:
Da du ja unter Win9x programmierst kannst du mal versuchen auf Ring0 Ebene zu kommen int dann einfach ein int19h auslösen, damit rebootest du den PC.
Tutorials dazu solltest du in Virii-Magazinen finden, Stichworte sind: Codebreakerz, *a21*, ...
*Link zensiert*[edit]Bitte keine Links/Hinweise zu derart fragwuerdigen Seiten posten, danke.
[/edit]
-
Hi...
Danke HAR für den Tip.
Werde ich ausprobieren.bis denne
Assembler-Newbie