Aber /OLD bringt trotzdem ne Warnung und bricht ab, jedenfalls bei 2.28
Das tut F-Prot immer, beim heutigen Datum... Das ist ihm einfach "zu Lang her".
Date-Commando hilft
Aber /OLD bringt trotzdem ne Warnung und bricht ab, jedenfalls bei 2.28
Das tut F-Prot immer, beim heutigen Datum... Das ist ihm einfach "zu Lang her".
Date-Commando hilft
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.
An die Stirn fass. Alles klar. Meine Sharewareverlängerungszeitraum-Zeiten sind wohl doch schon was her
Wo ist denn der gute Herr aus irgendeinen anderem Forum, der VGA-Copy um den Nervbildschirm erleichtert hat (nachdem es Freeware wurde)? Kann er hier nicht auch Hand anlegen? Aber nicht dass F-Prot dann losjammert, dass es virenverseucht wurde …
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
Fprot 3.16 mit /old gestartet: lüppt
Es ging um die 2.28 zuletzt. Die macht das nicht mit.
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
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)
Gouda
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
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. 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 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
bist schon ein Scherzkeks Selbstinfektion - fehlt mir noch zu meinem nicht existierenden Immunsystem
grinsende Grüsse duncan
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
- ...
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...".
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 Überlasse ich dann euch es zu berichtigen
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?
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!