Hallo zusammen, Ich bin auf der Suche nach einen oder mehreren Programmen, die das editieren von .exe Dateien ermöglichen. Ich habe keine besonderen "Sauereien" vor, ich ärgere mich nur, das ich mal von einem Kollegen so ein Programm bekommen habe und es jetzt nicht mehr finden kann. Er konnte damit in englischsprachigen Dateien sozusagen seine persönliche Übersetzung anfertigen. Das ist sicher nicht im Sinne des Erfinders, ich würde mich nur auch gern mal daran versuchen - mehr zum Spaß als alles andere. Es war auch nur ein kleines Programm, einen besonderen Funktionsumfang um komerzielle Software zu hacken hatte es sicher nicht, es wahr aber wie gesagt in der Lage innerhalb eines Programms die Fenstertexte und Hilfedateien zu editieren. Vielleicht hat einer ne Idee wonach ich suchen muß?
So etwas lässt sich bei Windows mit einem Resource Editor erledigen. Der lässt auch nachträgliches Bearbeiten von Dialogen, Menüs und Texten zu, sofern diese in einer Resource gespeichert sind. Ansonsten geht auch ein Hexeditor, allerdings musst Du dann sehr genau wissen, was Du da anstellen willst. Im Gegensatz zum Resource-Editor, der unterschiedliche Stringlängen anpassen kann, müssen diese beim Hexeditor peinlichst genau eingehalten werden. Einen kurzen durch einen längeren Text ersetzen ist beispielsweise damit nicht möglich; wo soll der Speicherplatz dafür herkommen?
@Rufus: > Einen kurzen durch einen längeren Text ersetzen ist beispielsweise damit > nicht möglich; Bin nicht sicher, ob es für exe-Dateien zutrifft (ich glaube aber ja), die Strings haben bisweilen vorangestellt einen 8- oder 16-Bit Wert, der die Länge des Strings angibt. Trotzdem gilt, wie du bereits gesagt hast, man muss wissen was man tut... Ralf
Ralf wrote: > @Rufus: > >> Einen kurzen durch einen längeren Text ersetzen ist beispielsweise damit >> nicht möglich; > Bin nicht sicher, ob es für exe-Dateien zutrifft (ich glaube aber ja), > die Strings haben bisweilen vorangestellt einen 8- oder 16-Bit Wert, der > die Länge des Strings angibt. Und, was hilft dir das, wenn String an String dicht gepackt im Speicher aufeinanderfolgt? Die Startadressen aller Strings müssen gleich bleiben. Du kannst die nicht einfach verlegen ohne das Programm zu analysieren, wo die entsprechenden Zeiger im Code vorkommen, um die ebenfalls zu verändern. Wenn du Pech hast, dann ist im EXE eine Prüfsumme kodiert, die bei jeglicher Änderung im EXE ebenfalls angepasst werden muss :-)
Hallo nochmal, Ich hab meinen Kollegen mal wegen der Programme angeschrieben, ich hoffe er kann mir die noch mal schicken. Ich sag dann noch mal was dazu wie das genau geht. Ich erinnere mich nur soweit, das er damit die Fenster und auch interne Hilfsfunktionen von englisch ins deutsche übersetzt hat. da waren die Texte sozusagen fei,ich denke nicht, das er die bit für bit wie z.B. beim Hexeditor umgesetzt hat - zumal die deutsche Sprache je meißt etwas umfangreicher ist wenn es darum geht etwas einfaches anzuzeigen oder zu beschriften. Das ist wie gesagt nur "nice to have" ich kann auch gut mit fertigen englischsprachigen Programmen leben.
Was du ändern kannst, sind Stringtabellen, die als Resource in das Programm hineinkompiliert wurden. Wie Rufus bereits sagte, kann man diese (und alle anderen Resourcen, wie z.B. die Programm-Icons) mit einem Resource Editor bearbeiten. Google anwerfen und passendes auswählen.
Thorsten Legrand wrote: > Hallo nochmal, > > Ich hab meinen Kollegen mal wegen der Programme angeschrieben, ich hoffe > er kann mir die noch mal schicken. Ich sag dann noch mal was dazu wie > das genau geht. > Machs nicht komplizierter als es ist. Geh zu Google, such einen Hex-Editor und öffne mit ihm das EXE. Der Hex Editor zeigt normalerweise die Bytes als Hexadezimalzahl an und rechts daneben als ASCII Interpretation. Du scrollst durch das EXE, bis du in der ASCII Spalte die Texte siehst. Dann gehst du mit dem Cursor des HEX-Editors in diese Spalte und gibst deinen neuen Text ein, wobei du darauf achtest, auch wirklich nur den dort bereits vorhandenen Text zu überschreiben. Vorher siehst du dir noch einen der Texte genauer an. Entweder ist nach dem letzten Byte des Textes ein 00 Byte oder vor dem Text ist ein Byte mit einer kleinen Zahl drinnen, welche die Textlänge repräsentiert. Hast du den Fall: hinten noch eine 0, dann machst du das ganze auch bei deinem Austauschtext. Hast du den Fall: vorne steht die Textlänge, dann zählst die die Buchstaben deines neuen Textes und trägst sie an der richtigen Stelle als Hex-Zahl ein. Ach ja: bevor du loslegst unbedingt ein Backup vom EXE machen. Und erst mal einen Text probehalber umändern und das so entstandene neue EXE ausprobieren! Bei einem Programm mit vielleicht 50 Texten wärst du schon längst fertig! Bei Windows Programmen funktioniert allerdings auch das Werkzeug "WinTrans" ausgezeichnet. Ist hervorragend geeignet, wenn man während der Entwicklungphase eines Produkts mehrere fremdsprachige Versionen benötigt.
so, da bin ich wieder.. Resource Hacker nennt sich das Tool. Ich hab grad mal eine ausfürbare Datei damit geöffnet und find das schon recht interessant, wie das Teil das Programm in seine Bestantteile zerlegt und nach Bitmabs, Codes und Symbolen sortiert anzeigt. Was spezielles will ich auch gar nicht damit machen, es ging mir hauptsächlich um den Umstand, das ich ein Programm nicht wiederfinden konnte, welches ich schon mal hatte. Jetzt ist wieder alles gut. Danke für die vielen Antworten, einen oder mehrere Hexeditoren besitze ich auch, aber das Programm hier ist schon irgendwie anders.
Hallo zusammen, hab´s mal kurz ausprobiert. Ist ja ein freches Tool!!! MfG Ak Tronik
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.