Abstürze in ASM



  • Das heißt, unter einem vernünftigen Betriebssystem sollte ein Anwenderprogramm keine Abstürze verursachen können?



  • Wenn du Absturz als hängen des Rechners bezeichnest, ja. Bzw. jein. Hänger können von allen Teilen des OS verursacht werden, also auch Treiber, d.h. das OS kann noch so gut sein, wnen ein Treiber im Kernelmodus mist baut ist alles fürn Eimer 🙂



  • Oder wenn ein Programm unendlich oft neue threads erstellt, und jeder Thread eine Endlosschleife mit MessageBox() darin ausführt... 😃



  • LOL in der Tat eine nette Möglichkeit 😉 Aber ein vernünftiges OS sollt trotzdem noch zulassen, dass man den Prozess kicken kann 😉



  • Ausserdem muss der Rechner nich immer abgestürzt sein.
    Du kannst auch einfach sachen irgendwo falsch hingeschrieben haben und damit div. Hardware ausgeschaltet haben!
    (Ich hab z.B. mal über "debug" unter Win 98 n falsches byte ans Keyboard gesendet, und das wartete auf ein weiteres Byte, das ich aber nicht eingeben konnte, da das KB auf das Byte wartete und solange die TastenMatrix ausgeschaltet hatte 😉

    Apropros gutes PMode OS:

    Ein Absturz unter Windows NT/XP wird ja wenigstens noch immer gut dokumentiert 🙂

    glaubst aber nur du!
    Ich hab gestern erst so mit TEdit (OWL) rumgespielt (das kann man in der Sektion "andere Compiler" nachlesen), wobei ich feststellte das mein WinNT 4.0 (Build 1381: Service Pack 6, RC 1.5)
    bei dem übermäßigen einfügen via Insert(), schnell sämtliche PMode Grundsätze vergisst und wild Speicher überschreibt und hängt!

    mfg
    -bg-



  • das is ganz einfach. unter win9x geht es z.B. mit 3 Byte:

    StartLabel:
    CLI
    Jmp Short StartLabel

    Und schon wars das. Oder "Start->Ausführen->C:\NUL\NUL" da verabschiedet sich win9x auch mit ein paar bluescreens... *g*



  • Einen Absturz unter Win9X geht auch mit einer Instruktion.
    Macht mal ein Programm, das NUR ein POP ESP ausführt 😉



  • 😕 und wo war da jetzt der krasse Absturz? Das gibt 'ne Exception und fertig...
    Nene, da muss man sich schon etwas mehr anstrengen, um win9x richtig zum Absturz zu bringen.
    Dieses 4 Byte Grosse Programm, das einmal cli ausfuehrt und dann in eine endlosschleife springt ist dagegen schon besser, da bleibt nur reset 😃



  • Wenns schön sein soll, kann man auch die API Funktion WriteProcessMemory() (oder so ähnlich) nutzen, und dann einmeal wild den Speicher aller Programme neu "gestalten" das ist sicher auch lustig.

    [ich liebe es derartig konstruktive Beitäge zum entwickeln eines effizienten und sicheren Programmierstils zu leisten *g*]



  • @Nobuo_T: Also bei mir klappte das mit dem POP ESP ganz gut.
    Da kamen unter Win9X nur noch Bluescreens und man war gezwungen
    den Rechner neu zu starten. Wie gesagt: das Programm sollte
    Standalone ASM sein und NUR ein POP ESP ausführen.
    Logischerweise sollte es auch für Windows und nicht für DOS sein.


Anmelden zum Antworten