724894

Systemverändernde Maßnahmen

Als Patch bezeichnet man das Manipulieren von Programm- und Systemdateien. Ein Patch dient zum einen dazu, nachträglich Fehler im Programmcode auszubügeln. Oft genug ist es aber auch möglich, über einen Patch die Funktionsweise eines Programms nachträglich zu verändern.

Anforderung

Fortgeschrittener

Zeitaufwand

Hoch

Als Patch bezeichnet man das Manipulieren von Programm- und Systemdateien. Ein Patch dient zum einen dazu, nachträglich Fehler im Programmcode auszubügeln. Oft genug ist es aber auch möglich, über einen Patch die Funktionsweise eines Programms nachträglich zu verändern. Und Sie können damit versteckte und nicht vorgesehene Programmoptionen aktivieren. Die Werkzeuge: Da Programme im Binärformat vorliegen, reicht zum Patchen ein einfacher Editor nicht aus. Als geeignetes Bordmittel wird mit DOS und Windows seit eh und je das kryptische DEBUG.EXE mitgeliefert. Debug erlaubt zwar nahezu unbegrenzte Zugriffe auf Speicher und Dateisystem, unerfahrene Anwender sollten es aber nur nach Anleitung benutzen. Ein etwas ungewöhnliches, aber effizientes Werkzeug zum Patchen ist WRITE.EXE von Windows 3.x. Mit der kleinen Textverarbeitung lassen sich auch unter Windows 95 zuverlässig Programmdateien editieren. Der Windows-95-Nachfolger Wordpad steht für solche Dienste nicht mehr zur Verfügung, die Datei WRITE.EXE im Windows-Verzeichnis ist - wohl aus Kompatibilitätsgründen - lediglich der Starter für WORDPAD.EXE. Wer ein zuverlässiges und handliches Hilfsmittel zum Patchen sucht, sollte externe Programme benutzen. Ein Klassiker ist Nortons Diskedit, das seit frühen DOS-Zeiten ein Bestandteil der Norton Utilities ist. Diskedit hat als DOS-Programm einige Vorteile gegenüber Windows-Editoren. So scheitert das Editieren unter reinem DOS nicht an geöffneten EXE- oder DLL-Dateien, außerdem sind nur unter DOS direkte Festplattenzugriffe möglich. Eine gute und auch etwas komfortablere Windows-Alternative ist der Shareware-Editor Hex Workshop (JDS-Software, Varel, Tel. 04451/959195, Fax 959196, Registriergebühr 65 Mark; herunterladen unter http://www.bpsoft.com). Grundlagen und Techniken: Bevor Sie eine Programm- oder Systemdatei verändern, müssen Sie immer zuerst eine Sicherungskopie erzeugen. Hex Workshop nimmt Ihnen diese Aufgabe ab, indem es Sie beim Abspeichern fragt, ob es ein Backup erstellen soll. Wollen Sie unter Windows eine geöffnete Datei patchen, etwa die EXPLORER.EXE, müssen Sie zuvor eine Kopie der Datei erzeugen, den Patch an der Kopie durchführen und diese anschließend im MS-DOS-Modus umbenennen oder zurückkopieren. Wollen Sie nicht nur Dateien patchen, sondern direkt auf die Festplatte zugreifen, beispielsweise auf den Bootsektor oder das Dateisystem, so müssen Sie das unbedingt im DOS-Modus tun. Unter DOS 7.x scheint - anders als bei den früheren Versionen - der direkte Zugriff auf die Festplatte nicht mehr möglich zu sein. Bevor Sie hier ungestört die Bytes auf Ihrer Platte verbiegen können, müssen Sie mit dem internen Befehl LOCK den direkten Datenträgerzugriff einschalten. Eine weitere Besonderheit ist unter Windows 95 zu beachten. Unter Windows 3.x sind Dateien mit dem Zubehör WRITE.EXE nicht nur im Handumdrehen geöffnet, auch das Suchen von patch-würdigen Passagen mit der Suchen-Funktion ist dank der 1-Byte-Codierung einfach. Unter Windows 95 sind die Textinformationen in den Systemdateien weitgehend mit 2 Bytes codiert. Bei der 2-Byte-Codierung scheidet das übliche Text-Suchverfahren aus, der Editor muß hier zusätzlich zur Ascii-Eingabe die Hex-Eingabe erlauben. Diese hexadezimale Suchfunktion bieten nur Hex-Editoren.

Beispiele: Als gutes Beispiel für einen typischen Windows-95-Patch bietet sich die Modifizierung des Startknopfs an. Kopieren Sie die Datei EXPLORER.EXE im Windows-Verzeichnis nach EXPLORER.BAK. Öffnen Sie die Datei im Diskeditor, und geben Sie im Suchen-Menü zunächst den Ascii-String "Start" ein. Wechseln Sie mit der <Tab>-Taste in die Hex-Eingabe, und fügen Sie dort zwischen alle bisherigen Hex-Werte die Ziffern "00" ein. Wenn Sie nun die Suche starten, werden Sie tatsächlich an mehreren Stellen den Text "S.t.a.r.t" finden, genau an Offset 185.482 die Stelle, die für den Start-Knopf zuständig ist. Wollen Sie den "Start"-Text ändern, müssen Sie die geänderte Datei EXPLORER.BAK außerhalb von Windows im MS-DOS-Modus umbenennen in EXPLORER.EXE. Ein weiterer lohnenswerter Patch betrifft die DOS-Kernel-Datei IO.SYS. Ein kleiner Fehler in nicht-amerikanischen Versionen von Windows 95 B hat die Auswirkung, daß im MS-DOS-Modus oder in DOS-Boxen 40 KB weniger Speicher zur Verfügung stehen. Der Verschwender ist HIMEM.SYS, das nicht wie üblich in den oberen Speicher geladen wird. Die Speicherverschwendung durch HIMEM.SYS läßt sich leicht abstellen. Editieren Sie IO.SYS oder eine Kopie davon, gehen Sie zu Adresse 51F6 und ändern Sie den Hex-Wert (normalerweise "BC") in "58". Sollte der IO.SYS-Patch schiefgehen, reicht nach dem Booten von Diskette der Befehl "sys c:".

PC-WELT Marktplatz

724894