┌∩┐(◣_◢)┌∩┐VIRENSCHUTZ UND SICHERHEIT UNTER DOS ! ! !

  • Nicht ganz. Aber wenn man den Inhalt der EXE-Datei...
    00005400: 9A 03 00 36 19
    00005665: 9A BB 05 A7 00
    ...mit dem Code im Debugger...
    0190: 9A 03 00 26 47 call 4726:0003
    03F4: 9A BB 05 97 2E call 2E97:05BB
    ...vergleicht, sieht man, dass die jeweils letzten beiden Bytes nicht übereinstimmen. Erklärung: Die werden während der Ausführung des Programms im RAM nochmal verändert. D.h. man darf das hier nicht einfach mit NOP überschreiben, sonst kommt am Ende Datenmüll raus. Genau das ist hier passiert, aber aus purem Glück läuft es trotzdem.


    Lösung: Nur die jeweils 3 Bytes benutzen, die nicht mehr verändert werden. Da schreibt man dann rein
    0190: JMP 0195
    03F4: JMP 03F9
    Das Kommando verbraucht jeweils nur 2 Bytes und die folgenden 3 Bytes werden bei der Ausführung einfach übersprungen. So kann dann nichts mehr passieren, auch ohne Glück ;)


    Also mir macht sowas Spaß :D

  • Nee, das muss durch das Programm selbst passieren. Bei EXE Programmen verteilt DOS beim Ausführen zwar die Daten im RAM, aber am Inhalt wird nichts verändert.

  • hage hage !


    Habe mir heute (bzw gestern (*erschrocken auf die Uhr guck*)) Gedanken gemacht über die letzten und daher "aktuellsten" DOS-
    Virenwächter anderer Anbieter. AVAST! ist mir da als Erstes in den Sinn gekommen.


    AVAST! hat so um die Jahre 2004/2005 den Support ihres DOS-Virenwächters eingestellt. In dieser Zeit konnte man ihn auf der
    Homepage des Herstellers gratis herunterladen. Den nötigen Key zur Freischaltung konnte man kostenlos per eMail anfordern.
    Die letzte DOS-Version ist die AS770 und die meines Erachtens letzte dazu passende Virendefinition ist vom 26. Mai 2005. In der
    nachfolgend beigefügten ZIP findet Ihr nicht nur den besagten Virenscanner (der übrigends keine Datumsabfrage macht *zwinker*)
    sondern auch die integrierte letzte Virendefinition plus einem englischen Handbuch als PDF.


    Da zuletzt beim Hersteller zwar noch der Download; nicht aber mehr die Key-Abfrage angeboten wurde ist der Key in der Datei
    Serial.txt hinterlegt. Um das Programm nun in allen Funktionen freizuschalten ist ist die Option "Registration" zu wählen und der
    Key einzugeben. Dass die Eingabe korrekt war wird indes nicht angezeigt. Die Option wird wortlos geschlossen und man befindet
    sich wieder im Hauptmenue.

    DOWNLOAD pfeil_rot_nachrechts_transp.gifAVAST770.ZIP


    vG; Daryl_Dixon

  • hage hage !


    Ein relativ unbekannter aber auch und gerade in Hinsicht auf DOS-Systeme heute noch recht aktiver Virenschutzexperte ist die
    österreichische Firma ROSE. Die meisten der (zum Download) angebotenen Sicherheits-Tools sind Freeware. Unter der Bezeich-
    nung VirScanPlus gibt es auch eine portable Version die keinerlei Installation benötigt. Der Blick auf die aktuelle Download-Seite:



    Die VirScanPlus-Suite wird durch die Batchdatei Starten.BAT gestartet und durchläuft dann verschiendenste Scan-Methoden.


    Hier der Link zur Homepage: http://rose.rult.at/


    vG; Daryl_Dixon

  • Ein relativ unbekannter aber auch und gerade in Hinsicht auf DOS-Systeme heute noch recht aktiver Virenschutzexperte ist die
    österreichische Firma ROSE.

    Wieder einmal besten Dank, jetzt weiß ich, wie ich den DOS-Server regelmäßig auf Viren scannen kann! :super
    Mal wieder eine Perle, die du da gefunden hast!

    Meine Posts enthalten meine persönlichen Meinungen und Erfahrungen.

    Es besteht kein Anspruch auf Richtigkeit oder Vollständigkeit! :D


    Daily Privat: i5-10400F // 16 GB // 1x 512GB + 1x 1TB SSD - 2x var. HDD in Bays // GTX 1660 Super // Linux Mint 21.3

    Daily Work: i7-4770 // 24 GB // 2x 480GB SSD // GTX 750 Ti


    Retro 1: HP Vectra VL2 4/66 // 486 DX2-66 // 16 MB // 6GB // CL-GD5428 1MB // Vibra 16C // 3,5" & 5,25" Floppy // DOS 6.22 // WfW 3.11

  • :mrgreen habs auch gleich runtergeladen :super

    "..seid ihr in etwa Anarchisten" "Nein, SOWEIT entwickelt sind wir noch nicht" (R.A.Wilson)


    JEDE Zentralisierung ist Machtmissbrauch!!


    ...ich kann IMMER Iomega ATAPI ZIPs brauchen - schaut doch mal nach bitte ;)

  • Du kannst Kommandos eintippen wie Du willst.
    NOP <enter>
    NOP <enter>
    ...


    Wenn Du ein Kommando mit 4 Bytes auslöschen willst musst Du auch 4x NOP (+enter) eintippen. TD springt nach jedem Enter automatisch zur nächsten Adresse.

  • Vielleicht kann ein Mod das ja mal ins Programmier Forum verschieben. Dankeschön.
    Nachdem sich erste Erfolge mit selbst kompilierten Pascal Dateien eingestellt haben, versuche ich nun, das ganze mal nachzuvollziehen, also f-prot im TD zu laden und scheitere schon beim simplen run mit F9 mit einem out-of-memory. Mein Versuch: td.exe unter dosbox. Hast du tdh386.sys auf nem realen Gerät benutzt?

  • ohne die drölf Seiten zu lesen:


    -hat wer die total dos collection 14 und das "exodos" Archiv mal mit den alten scannern getestet?
    Falls einer der scanner auf windows 2000 laufen sollte, kann ich über Netzwerk scannen ^^ kann allerdings dauern, glaub das sind 140GB

  • 0190: 9A 03 00 26 47 call 4726:0003
    03F4: 9A BB 05 97 2E call 2E97:05BB
    ...vergleicht, sieht man, dass die jeweils letzten beiden Bytes nicht übereinstimmen. Erklärung: Die werden während der Ausführung des Programms im RAM nochmal verändert. D.h. man darf das hier nicht einfach mit NOP überschreiben, sonst kommt am Ende Datenmüll raus. Genau das ist hier passiert, aber aus purem Glück läuft es trotzdem.

    Bist du dir sicher? Heisst das nicht lediglich, dass das Code Segment der Funktion, die du eh nicht aufrufen willst, dynamisch ist? NOP x5 sollte imho safe sein, weil du ja die komplette Instruction (sowohl Opcode wie auch Operand) ueberschreibst. Wenn du deine Variante mit dem unbedingten Sprung implementierst, bleiben je zwei Bytes Datenmuell zurueck.

    Disclaimer: Das hat sich ein asm noob so zusammengereimt. Wenn ich Unrecht habe und du das richtigstellst, habe ich was gelernt.

  • Hehe stimmt nur so halb. Wenn Du Dir das Ganze hinterher im Debugger ansiehst hast Du eben nicht mehr 5xNOP dastehen - sondern 3xNOP und 2x irgenwelche zufälligen Bytes.


    Die letzten beiden NOPs werden ja trotzdem überschrieben. Der Rest des Programms weiß nichts davon dass wir hier etwas verändert haben...probier es einfach mal im TD aus.


    Und so wie ich es erst gemacht habe werden diesen beiden zufälligen Bytes dennoch ausgeführt und sollten das Programm eigentlich zum Absturz bringen. Mit meiner Variante mit dem JMP werden diese beiden Bytes übersprungen, es ist als völlig wurscht was da steht oder verändert wird.

  • Noch eine Frage. Woher wusstest du, dass du 9A 03 00 36 19 aendern musstest? Im TD stehen ja bei Byte 4 und 5 ganz andere Werte, so dass sich, wenn man nach den ganzen 5 Bytes sucht, in der entpackten f-prot.exe nichts finden laesst. Sucht man nach den ersten 3 Bytes findet man mehrere Suchergebnisse. Musstest du dich dafuer an der Instruktion danach orientieren oder hast du einen anderen Kniff?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!