Reshacker,Replacer und Batchmod - Tutorial2

Aus Deskmodder Wiki

Aufgrund verschiedener Rückmeldungen auf das erste Tutorial zu Reshacker,Replacer und Batchmod,

GANT: Reshack,Replacer,Batchmod Teil 1

habe ich mich entschieden, ein zweites, hoffentlich besseres zu erstellen. Jetzt mit Screenshots und ausführlicheren Erläuterungen zur Arbeitsweise dieser drei Tools. Manche Sachen sind jetzt doppelt erklärt, aber da das erste Tutorial auch schon mehrmals als Hilfestellung verlinkt wurde, bleiben bis auf weiteres beide in der FAQ stehen. Alle Tips und Tricks beziehen sich auf WindowsXP

EINLEITUNG:

Jeder, der sich mit Deskmodding befasst, kommt früher oder später an den Punkt, seine Icons ändern zu wollen -jene kleinen bunten Bildsymbole, die uns auf optische Art und Weise helfen, unseren Weg durch den Desktop-, Startmenü- und Explorerdschungel zu finden.

Alle werden die einfachen Möglichkeiten kennen, die uns Windows mitgibt, um solche Änderungen vorzunehmen:

-Rechtsklick Desktop,Eigenschaften,Desktop,Desktop anpassen: 

Hier können die Symbole für Arbeitsplatz,Netzwerkumgebung,Eigene Dateien und Papierkorb (voll/leer) geändert werden.

Rechtsklick auf eine Verknüpfung,Eigenschaften,anderes Symbol: 

Auf diesem Weg können einfach die Symbole für Verknüpfungen ausgetauscht werden. Schon ein bißchen trickreicher ist die Möglichkeit, per Änderungen an der Registry, die Symbole für Laufwerke zu ändern. Das wird in folgendem Tutorial abgehandelt: Icons & Namen für Laufwerke im Arbeitsplatz andern. Der nächste Schritt, um noch mehr Icons an seine Vorlieben anzupassen, ist die Verwendung von Programmen, die einem diese Arbeit abnehmen. In erster Linie und auch weil es sich quasi als Standard durchgesetzt hat, ist da IconPackager zu nennen, ein Programm der Firma Stardock: http://www.stardock.com/products/iconpackager

Im WWW findet man unzählige sogenannte Iconpackages, die mit diesem Programm benutzt werden können, sodaß jeder etwas für seinen Geschmack finden dürfte. Aber es geht auch ganz ohne Hilfsprogramme, indem man die Icons dort austauscht, wo sie sitzen - nämlich in den

Systemdateien von Windows oder den EXE-Dateien von Programmen.

Für alle, die sich auf diesen etwas beschwerlichen , aber ressourcenschonerenden Weg machen wollen, ist dieses Tutorial gedacht.

Es zeigt auf, wie man mit den geeigneten Tools umfangreiche Änderungen an seinen Icons vornimmt, ohne extra ein Programm zu installieren.

Im Wesentlichen arbeitet man mit drei verschiedenen Tools - Reshacker,Replacer und Batchmod. Im folgenden möchte ich die Arbeitsweise dieser Tools erklären.

BEVOR ES LOSGEHT:

Arbeiten an den Systemdateien kann zu Fehlern führen, deshalb ist es ratsam, behutsam und konzentriert zu Werke zu gehen. Macht nur Sachen, die auch verstanden wurden und arbeitet mit Backups. Grade am Anfang empfiehlt es sich, ein Image der Systempartition anzulegen. Ich übernehme kein Garantie, daß es auch bei Euch so klappt und alles geschieht auf

 Eigene Gefahr! 

ERLÄUTERUNG

Was sind Systemdateien?

Wenn in diesem Tutorial von Windows Systemdateien gesprochen wird, sind hauptsächlich folgende Dateiendungen gemeint:

DLL (DynamicLinkLibrary) In ihnen sitzen oft viele Icons (hervorzuheben hier die shell32.dll), aber auch Bitmaps und AVIs.

Shell32.dll

Shell32 dll.jpg

CPL (ControlPanel)

Dateien mit dieser Endung rufen Module der Systemsteuerung auf, folglich findet man hier auch die Icons, die man dann in der Systemsteuerung sieht.

EXE (Executable)

Alle Programme haben eine EXE, mit der man das jeweilige Programm aufruft, bei Windows besonders interessant die Explorer.exe.

Iconformate

Um später insbesondere das Arbeiten mit Reshacker besser zu verstehen, hier ein kleiner Einwurf zu Icongrößen und Formaten. Moderne WindowsXP Icons haben eine Farbtiefe von 32bit und beinhalten mehrere Formate in sich, um an unterschiedlichen Stellen in verschiedenen Größen angezeigt werden zu können, ohne daß Windows erst skalieren muss. Gut sehen kann man es an folgendem Screenshot (Icon geöffnet in AxialisIconWorkshop):

Iconformat.jpg


So, genug der Vorbemerkungen, jetzt kommen die

Tools

Reshacker http://www.users.on.net/johnson/resourcehacker/

Zum Bearbeiten einer Systemdatei empfiehlt es sich, die jeweilige Datei irgendwo hinzuKOPIEREN und diese Kopie mit Reshacker zu öffnen. Reshacker legt zwar beim Abspeichern einer modifizierten Datei immer ein Backup an (zu erkennen an Dateiname_original ), dennoch ist es besser, so zu arbeiten: man kann gefahrlos testen und man umgeht beim Abspeichern am Originalort den Windows-Dateischutz (später mehr dazu)

Explorer.exe in Reshacker geöffnet:

ReshackExplorer.jpg

Nun, was sehen wir auf diesem Screenshot?

Links eine Liste aller Ressourcen, die in dieser Datei stecken - für unsere Zwecke interessant sind hier die Einträge Icon und Icon Group.

(Unter Bitmap findet man alle Bitmaps. Will man hier was austauschen, öffnet man den Baum an dieser Stelle, kann einzelne Bitmaps anklicken,dann ersetzen oder abspeichern (für den Fall, daß man erstmal wissen will, wie groß die Bitmap überhaupt ist). Ersetzen und Abspeichern übers Menü "Action": Save Bitmap bzw. Replace Bitmap) Nun zu den Icons:

Wir sehen 18 verschiedene IconGroups (100,101,...257), d.h. in der Explorer.exe stecken 18 Icons, die man austauschen kann.

Auf dem Bild ist die IconGroup 205 geöffnet: Wir erkennen, daß dieses Icon 6x angezeigt wird: es gibt 2 verschiedene Farbtiefen und 3 verschiedene Größen - 2x3 macht 6.

Würden wir den linken Verzeichnisbaum jetzt bei "Icon" öffnen, wären dort alle 6 Formate/Farbtiefen einzeln aufgeführt.

Um ein Icon jetzt zu verändern, geht man auf "Action" Replace Icon:

ReplaceIcon.jpg

Es öffnet sich ein neues Fenster:

Replace205.jpg

Durch einen Klick auf: "Open file with new icon" gelangen wir in den gewohnten Verzeichnisbaum unserer Festplatte, wählen dort ein Icon aus und klicken dann auf "Replace" Damit haben wir jetzt eine IconGroup ausgetauscht. Also nicht verwirren lassen von den Groups und vielen einzelnen Icongrößen im linken Verzeichnisbaum, der Weg über Action,Replace Icon klappt immer!

Aber die Formate?!

Streng genommen hätten wir jetzt ein Ersatzicon finden müssen mit genau diesen 3 Größen und 2 Farbtiefen. Aus meiner Praxis weiß ich aber, daß es außer etwas erhöhtem Speicherbedarf für die Dateien, nichts ausmacht, solche Icons einfach durch "normale" 8formatige WindowsXP Icons zu ersetzen. Man könnte in vielen Fällen auch mit 6 Formaten auskommen, da Größen wie 96x96 oder 128x128 in der Praxis selten auftauchen. Der Arbeitsaufwand, zu große Formate aus den Icons rauszulöschen, steht in keinem Zusammenhang zu den Nachteilen: Eure modifizierte Explorer.exe oder Shell32.dll wird durch zu großzügige Formate zwar größer als nötig, aber ich persönlich habe im Alltag dadurch noch keine Nachteile feststellen können.

Das machen wir mit allen Icons auf der rechten Seite (Nicht vergessen: Nach jedem Austausch auf Replace unten zu klicken!). Sind wir damit fertig, gehen wir auf "File-Save". Unsere modifizierte Datei wird abgespeichert und gleichzeitig eine Backup Datei angelegt. Genauso wie im Beispiel der Explorer.exe verfährt man, wenn man Icons in DLL oder CPL Dateien ändern will: die jeweilige Datei an einen beliebigen Platz kopieren (als Beispiel mal D: ),mit Reshacker öffnen, Action,Replace Icon,Icon auswählen,Replace,File-Save.

Wenn jetzt alles geklappt hat, haben wir auf D: jetzt 2 Dateien:

-explorer.exe - das ist Eure neue modifizierte Explorer.exe Datei mit Euren Lieblingsicons.

-explorer_original.exe - das ist die Original Explorer.exe, identisch mit der,die genauso jetzt noch an Ihrem Platz in C:windows liegt.

Und wie kommt jetzt meine modifizierte Explorer.exe nach c:Windows?? Dabei hilft Euch

REPLACER

http://www3.telus.net/_/replacer/

Replacer übernimmt für Euch jetzt den Job, Eure originalen Dateien durch die modifizierten Dateien zu ersetzen. Das geht ganz einfach und sei an folgenden Screens erklärt:

(nicht verwirren lassen, hab hier als Beispiel mit der Calc.exe gearbeitet)

Replacer1.jpg

Doppelklick auf Replacer.cmd öffnet dieses Fenster. Wie oben in Englisch erklärt, wartet dieses Fenster jetzt auf die Originaldatei,d.h. ich gehe jetzt im Arbeitsplatz nach c:windows, packe mir mit der linken Maustaste meine explorer.exe und mache Drag and Drop auf dieses Fenster, danach drücke ich "Enter":

Es erscheint ein anderes Replacerfenster:


Replacer2.jpg

Dort Drag and Drop mit meiner modifizierten Explorer.exe (die in unserem Beispiel auf D: ) und wieder Enter. Dann kommt

Replacer3.jpg

Die Frage: Continue? mit einem "y" beantworten und Enter. Es erscheint:

Replacer4.jpg

Beliebige Taste schließt das Replacerfenster und ich werde aufgefordert, mich neu anzumelden bzw. neu zu booten.

Mittlerweile werden Euch folgende Fenster vor der Nase rumtanzen:

Dateischutz1.jpg

Dateischutz2.jpg

Hierbei handelt es sich um den windowseigenen Dateischutz. Windows achtet ständig darauf, ob Systemdateien manipuliert werden oder sich verändern - aus diesem Grund ist auch von allen wichtigen Systemdateien eine Kopie in c:windowssystem32dllcache Diese Warnungen kann man getrost ignorieren, d.h. im ersten Fenster klicken wir auf "Abbrechen" und im 2.Fenster auf

"Ja".

So, jetzt noch ein Neustart und wir können unsere modifizierten Icons an den jeweiligen Stellen bewundern und das alles ohne ein Programm wie Iconpackager zu benutzen, weil wir direkt an der Basis gearbeitet haben.

Das einzige "Problem", was jetzt noch besteht, ist:

Wo finde ich die passenden Dateien zu speziellen Icons??

CPL und DLL Dateien finde ich in c:windows bzw. c:windowssystem32

EXE Dateien von Windows auch da, von anderen Programmen in den jeweiligen Programmordnern. Man kann natürlich auch einfach mal eine firefox.exe mit Reshacker öffnen, um das Firefox Icon direkt dort auszutauschen. Oder man begibt sich auf die Suche, wo Programme das Icon verstecken, was dieses Programm im Systray anzeigt, wenn es aktiv ist. Auch da ist es oft hilfreich, die DLLs im Programmordner mit Reshacker zu öffnen. Wer suchet, der findet!

Und nochwas: Replacer macht beim Ersetzen ein Backup,d.h. Ihr findet dann in c:windows eine explorer.exe und eine explorer.exe. backup

Aber woher weiß ich, wo welches Icon steckt, grade bei den Systemdateien von Windows?

Ein guter Thread, um diese Frage zu beantworten, findet sich hier:

http://www.chip.de/forum/thread.html?bwthreadid=397481&bwpage=16&bwsortorder=ascending Etwas runterscrollen zu den Erläuterungen von StefanKa, da findet man viele hilfreiche Tipps.

Als drittes und letztes Tool fehlt jetzt noch


BATCHMOD

http://cbw-clan.de/files/BATCHMOD.rar

Wozu das jetzt noch? Ich kann doch mit Reshacker alle Systemdateien bearbeiten und mit Replacer ersetzen?

Es gibt 2 Fälle, wo Batchmod seine Vorzüge zeigt:

1. Ein Bekannter schickt Euch 50 modifizierte DLL Dateien, die Ihr auch bei Euch benutzen wollt. 50x die Replacer Prozedur durchlaufen? Nö!

2. Ihr bekommt im Netz eine z.B. Shell32.dll (siehe Bild oben, die mit den vielen Icons), die Ihr auch benutzen wollt. Da hat sich also schon jemand die Arbeit gemacht, über 200 Icons mit Reshacker auszutauschen.Kein Problem, denkt Ihr: einmal Replacer anwenden und fertig.

Tja, es gibt aber einen Haken: derjenige wohnt nicht in Berlin, sondern in Paris, d.h. wenn Ihr seine Shell32.dll benutzt, sind auch alle Menütexte auf Eurem Rechner in französich. Uups, nicht so gut!

Aber es gibt ja Batchmod. Mit Batchmod kann man eben auf einen Klick hin beliebig viele Dateien "replacen" oder aus fremdsprachigen Dateien die "Ressourcen" (Bitmaps,Icons,AVIs) rausziehen, in Eure Dateien "einbauen" und die Originaldatei ersetzen und das mit wenigen Mausklicks.

Wir laden die Datei Batchmod.RAR runter und entpacken sie. Wir finden folgende Dateien:

_out 
resources 
tools 
js 
logs 
_SOURCE 
_IN 
copy.cmd 
auto.cmd 
modify.cmd 
extract.cmd 
replace.cmd 
restore.cmd 
README.txt

Das Wichtigste aus der Readme: Batchmod braucht als kleine Hilfsprogramme den Resource Hacker und den Replacer. Beide runterladen,entpacken und in den Ordner "tools" kopieren. D.H. wenn ich den Ordner "tools" öffne, finde ich dort jetzt 2 Ordner: einmal einen Ordner "Reshacker" und einen Ordner "Replacer" So, jetzt hat Batchmod alles, was er an Tools braucht.

Im Ordner "LOG" finden sich Logdateien, in denen später alle Vorgänge protokolliert werden und im Ordner "js" befinden sich die internen Befehlsdateien von Batchmod.

Zum Verständnis die Erklärung der Ordner:

  • _IN

In dem liegen oder landen IMMER Eure originalen Systemdateien, also die, die Ihr durch modifizierte ersetzen wollt.

  • _SOURCE

In diesen Ordner gehören die modifizierten Dateien, also die, aus denen Ihr die schönen Ressourcen haben wollt.

  • _OUT

Dort landen die Dateien, die später Eure Systemdateien ersetzen, also sind bereits modifiziert und warten darauf, "per Replacer" Eure originalen Dateien zu ersetzen. Resources Hier befinden sich die aus den modifizierten Dateien extrahierten Icons,Bitmaps oder AVIs, die dann in Eure Systemdateien "eingespeist" werden. Für jede Datei einen Ordner, der die jeweiligen Bilddateien enthält.

Dann gibts da noch 6 CMD Dateien: in logischer Reihenfolge:

  • COPY.CMD

Aufruf dieses Befehls kopiert alle modbaren Dateien aus Windows in den IN-Ordner.

  • EXTRACT.CMD

Holt aus allen Dateien, die im Source Ordner liegen, alle Icons,Bitmaps oder AVIs raus und packt diese in den Resource Ordner.

  • MODIFY.CMD

Nimmt jetzt alle Dateien aus dem IN-Ordner, modifiziert sie mit den Resourcen aus dem Resource Ordner und legt sie dann in den _OUT Ordner.

  • REPLACE.CMD

Nimmt alle Dateien aus dem _OUT Ordner und ersetzt damit Eure originalen Systemdateien in Windows, also genau wie Replacer, nur halt sehr viele auf einmal.

  • AUTO.CMD

Alle CMD bis jetzt kann man einzeln ausführen - auto.cmd macht das alles in einem Rutsch, arbeitet also copy.cmd,extract.cmd,modify.cmd und replace.cmd hintereinander ab.

  • RESTORE.CMD

Macht alles wieder rückgängig.

Ein Beispiel macht das jetzt natürlich verständlicher.

Ich nehme den interessanten Fall, daß man eine fremdsprachige Shell32.DLL bekommen hat und jetzt seine originale DLL mit den Resourcen aus dieser fremdsprachigen modifizieren will.

1.In den IN Ordner kommt meine normale shell32.dll

2.In den SOURCE Ordner kommt die fremdsprachige DLL.

Ich führe aus:

1.EXTRACT.CMD

Alle Bitmaps,Icons,Cursor und Avis aus der fremdsprachigen DLL werden extrahiert und in den Resourcenordner kopiert.

2. MODIFY.CMD

Meine DLL aus dem IN Ordner wird jetzt mit den Resourcen aus dem Resourcenordner modifiziert und danach in den OUT Ordner kopiert.

3.REPLACE.CMD

Macht ein Backup meiner originalen DLL in c:windows und ersetzt diese durch die deutsche modifizierte DLL aus dem OUT Ordner.

Wieder ein Neustart und fertig sind wir.

Sollte Batchmod sich melden mit Meldungen wie "Replace.txt nicht gefunden" oder ähnlichem, empfiehlt es sich, egal, was man vorhat, am Anfang einmal die COPY.CMD auszuführen.

So, ich hoffe, bei dem einen oder anderem jetzt die letzten Verständnisschwierigkeiten beseitigt zu haben und wünsche viel Spass beim "Modden"!

Tombik

PS: Tyler postete heute diesen Link zu einem GantShellPack, was unabhängig von der Sprache ist. Französisches Forum - zum Download ist Anmeldung erforderlich: http://www.trucsenvrac.com/forum/viewthread.php?tid=5569&page=1