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

  • Bedankt. Aber /OLD bringt trotzdem ne Warnung und bricht ab, jedenfalls bei 2.28 :(
    Sowohl interaktiv als auch CLI. Obwohl auch hier dokumentiert.

    Ja, stimmt, ist mir auch gerade aufgefallen. Ich habe das Datum einfach auf 1998 zurückgesetzt. Tut ja nicht weh. ;)


    Ich glaube das /OLD funktioniert maximal bei einem Delta von ein paar Monaten, aber nicht 21 Jahren. :D

    root42 auf YouTube


    80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, GUSar Lite & TNDY & SnarkBarker, PC MIDI Card + SC55 + MT-32, XT CF Lite, OSSC 1.6

  • @Ranger85, @root_42

    Ich glaube das /OLD funktioniert maximal bei einem Delta von ein paar Monaten, aber nicht 21 Jahren.

    nope, grad nochmal getestet am K6: Datum 21.11.19, Fprot 3.16 mit /old gestartet: lüppt

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Super Daryl, da sparst du mir ja nun etwas Arbeit.

    ich hab seit meinem ersten Post in diesem Thread mehrere F-PROTS auf meinem Arbeits-Lappi. War also kein Ding das hochzuladen.
    Ansonsten lass ich Dich gerne etwas Arbeit machen :whistling:


    nope, grad nochmal getestet am K6: Datum 21.11.19, Fprot 3.16 mit /old gestartet: lüppt

    yapp! Hab ich auch so erlebt. Bei der 3.16 klappt der /OLD-Parameter; bei der 2.28b obwohl er dort bekannt sein sollte, nicht ?(


    vG; Daryl_Dixon

  • Hmm.... vielleicht....
    3.16 = /old (alt)
    2.28 = /age-old (uralt)


    :D

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Gouda :bump

    Meine Vintagerechner: XT (NEC V20) & Book8088 (v2, VGA) #-# Epson XT portable #-# HighScreen 286@16MHz #-# L&P 286-20MHz #-# Cyrix 386DRx²-33/66 #-# ESCOM Black Slim Am386DX@40MHz #-# SCT Proline Cyrix486DX2@66 #-# Cyrix 5x86@100 VIP #-# Libretto 50CT #-# && 1x Sockel 8 & 3x Sockel4 (60MHz + 66MHz)

  • Lustig, als ich das hier gelesen habe musste ich mich erstmal auf die Suche machen ob man den Virus, den ich als 16-jähriger Anfang der 90er geschrieben hatte noch irgendwo runterladen kann - leider nur noch ein Treffer
    https://archive.org/download/vxheaven-dos-virus-collection
    Viel Verbreitung hat er wohl nicht mehr gefunden, dafür war ich zu spät dran... :-p


    Aus welchem Programm/Version soll der Nervbildschirm raus? Kann mich mal dran probieren um zu sehen ob ichs noch drauf habe :D

  • @gamma pöser, pöser Junge :mrgreen:D:P

    "..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 ;)

  • Aus welchem Programm/Version soll der Nervbildschirm raus? Kann mich mal dran probieren um zu sehen ob ichs noch drauf habe

    Aus dem F-Prot 2.28 der unnötige Datumscheck, der guckt, ob unsere Retro-Virendefinitionen nicht veraltet sind. :D Also vielleicht an der Stelle, wo er den Datums-Interrupt macht, würde ich raten? Leider habe ich sowas auch noch nie gemacht und habe nicht die Werkzeuge dazu …

  • OK, habe es mir angesehen ;) Nach der Installation in meinem PCem kam ne lustige Fehlermeldung


    Habe mir das näher angesehen und ups...mein eigener Virus hat sich da selbstständig gemacht und ich habe es nicht gemerkt :D Egal, habe es erstmal auf nen Floppy-image und die das Image schreibgeschützt.


    Das Patchen der Datumsabfrage ist ziemlich einfach:

    In dem markierten Call wird das alles abgefragt. _Eigentlich_ muss man also nur den Aufruf in der EXE-Datei durch "NOPs" ersetzten. Also im HEx-Editor öffnen, nach "9ABB05972E" suchen und durch "9090909090" ersetzen (90h = NOP"). Die Zeichenfolge gibts in der F-FPROT.EXE aber nicht. Ich schätze die Datei ist eine komprimierte EXE. Also muss die EXE erst ausgepackt werden. Da gibts Programme für, habe aber grad keins...


    Danach muss dann noch die Abfrage rausgemacht werden, dass die Datei modifiziert wurde (s.o.), sollte aber kein großes Problem sein.


    Ich denke einfacher ist es eine kleine BAT zu schreiben: Datum runtersetzen, F-PROT ausführen, Datum zurücksetzen...


    Meinen Virus hat das Teil übrigens nicht gefunden, aber vielleicht war das auch ne alte Version die ich nicht auf die Menschheit losgelassen hatte ;) Hat sich auf jeden Fall gut versteckt bisher. Irgendwann im März wird dann der MBR gelöscht wenn ich mich richtig erinnere :D

  • :mrgreen bist schon ein Scherzkeks :thumbup: Selbstinfektion - fehlt mir noch zu meinem nicht existierenden Immunsystem :Clap


    grinsende Grüsse duncan

    "..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 ;)

  • OK geschafft. Cool dass ich das nach ca 25 Jahren noch drauf habe ;) Datumsabfrage ist weg!


    EXE entpacken ging hiermit
    http://unp.bencastricum.nl/


    Dann die Bytes wie oben geschrieben ändern.


    Mit dieser EXE kommt dann natürlich wieder der "Datei modifiziert" Fehler.


    Diese Abfrage ist hier

    Ebenfalls in der EXE suchen und durch NOP ersetzten.


    Fertig, läuft :)
    FPUNP.rar
    Wer glaubt dass ich einen Virus unterjubeln will (geht schneller als man denkt) möge die EXE selbst entpacken und mit meinen Upload vergleichen - dürften nur max 12 Bytes unterschiedlich sein. So klein ist kein Virus ;) Oder halt die Änderungen selbst machen...

  • Nicht schlecht. Magst du uns den Weg dahin erklären? Vielleicht lernen wir ja was dabei. Also im Stile von:


    - man nehme das Tool x
    - ...

    Das Tool ist schon mal der Turbo Debugger, würde ich sagen. Aber ja, ein kleiner Walkthrough wäre unterhaltsam. Vor allem WIE man auf die Stellen kommt, die relevant sind. So in der Art "die RTC wird mit dem INT XYZ abgefragt, daher suchen wir jetzt mal nach allen Stellen, wo INT XYZ aufgerufen wird...".

    root42 auf YouTube


    80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, GUSar Lite & TNDY & SnarkBarker, PC MIDI Card + SC55 + MT-32, XT CF Lite, OSSC 1.6

  • Ja genau, das Tool ist Borlands Turbo Debugger (TD). Gibt noch eine Menge andere, aber das war der einzige den ich seinerzeit hatte und ist eigentlich sehr komfortabel und einfach zu bedienen.


    Das hier war eigentlich die einfachste Aufgabenstellung, also leicht zur Übung ;) Die gesuchte Abfrage mit dem Datum ist ganz am Anfang beim Programmstart. Schwieriger wirds wenn man zB ein Passwortschutz mitten im Spiel entfernen will...
    Es ist eigentlich auch gar nicht unbedingt notwendig (aber hilfreich) sich mit X86-Programmierung auszukennen. Man braucht eigentlich nur die Kommandos
    - CALL (Unterprogramm wird aufgerufen)
    - RET/RETF (aus Unterprogramm zurück)
    - JMP (Sprung)
    - JE, JA, JNE, ... (Sprung mit Bedingung)
    - NOP (nichts machen)


    Zuerst die .EXE (oder halt .COM) im TD laden. Für die Aufgabe "F-PROT" habe ich eigentlich nur folgende Tasten benötigt:
    - F8 Ausführen, nicht in Unterprogramme (CALL) einsteigen
    - F7 Ausführen, in Unterprogramme einsteigen
    - F4 Go To: Wenn man in einem Loop gefangen ist und es mit F7/F8 ewig dauert: Cursor am Ausgang des Loops platzieren und F4 drücken, Ausführung hält dort an und man kann weitermachen
    - Alt-F5 User Screen: Aktuelle Ausgabe ansehen


    Was macht man also? Mit F8 durchs Programm gehen. Irgendwann landet man bei einem CALL, der die gewünschte Programmfunktion aufruft. Meist kehrt man dann aber nicht zum Debugger zurück, sondern das Programm wird weiter ausgeführt bis man es beendet. Dann muss man in diesen CALL weiter einsteigen. Also nochmal mit CTRL-F2 das Programm neu laden. Wieder mit F8 zum (vorher gemerkten) CALL gehen. Dann aber nicht mit F8 sondern mit F7 den CALL weiter untersuchen. Die Adressen, an denen ich F7 drücke, notiere ich mir immer.
    Ziel ist es, den CALL zu finden, der das Fenster mit der Datumswarnung aufpoppen lässt und anschliessend wieder zum Debugger zurückkehrt. Dann muss man schauen wie man den Aufruf wegbekommt. Hier konnte man es einfach rauslöschen (ebenfalls einfachster Fall).


    Ich glaube hier habe ich ca. 30x F8/F7 gedrückt und mir 5 Adresse gemerkt bis ich am Ziel war...dauert 15 Minuten.


    In komplizierteren Fällen kann man noch viel mehr machen, zB Breakpoints setzen oder einfach erstmal das Programm laufen lassen, an der gewünschten Stelle CTRL-Pause drücken um den TD aufzurufen und dann weiterschauen...


    Nach irgendeinem Interrupt habe ich noch nie gesucht. Es gibt zig Möglichkeiten das Datum auszulesen und noch mehr Möglichkeiten das ins Programm umzusetzen. Das findet man bei einem 200kb Programm im Leben nicht ;) Zumal F-Prot nicht in Assembler sondern in irgendeiner Hochsprache geschrieben ist. Da kann/sollte man vermeiden auf die Ebene mit Interrupts herunter zu gehen...

  • Also zusammengefasst nochmal: Die F-PROT.EXE mit UNP (http://unp.bencastricum.nl/) nach FPUNP.EXE entpacken. Dann mit einem Hex-Editor die u.g. 10 Bytes ändern und unter FPUNP-p.exe speichern.


    fc /b FPUNP.EXE FPUNP-p.EXE
    Comparing files FPUNP.EXE and FPUNP-P.EXE
    00005400: 9A 90
    00005401: 03 90
    00005402: 00 90
    00005403: 36 90
    00005404: 19 90
    00005664: 9A 90
    00005665: BB 90
    00005666: 05 90
    00005667: A7 90
    00005668: 00 90


    So läufts zumindest erstmal...es gib aber noch einen kleinen Fehler in meinem Patch den ich gestern Nacht gar nicht bemerkt habe...eigentich müsste das Ganze so abstürzen aber zufällig läuft es trotzdem :D Überlasse ich dann euch es zu berichtigen ;)

    Einmal editiert, zuletzt von gamma ()

  • So läufts zumindest erstmal...es gib aber noch einen kleinen Fehler in meinem Patch den ich gestern Nacht gar nicht bemerkt habe...eigentich müsste das Ganze so abstürzen aber zufällig läuft es trotzdem Überlasse ich dann euch es zu berichtige

    Hmm ;) Weil du den CALL der Subroutine mit der Datumsabfrage zwar auskommentiert hast, aber trotzdem versucht wird, das Ergebnis abzugleichen (CMP + JNE); anstatt lieber diesen Abgleich auszukommentieren?

Jetzt mitmachen!

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