Lokalisierte String-Umleitungsressourcen in Windows suchen

402
cdlvcdlv

Angenommen, Sie möchten herausfinden, wo sich in der Registrierung ein Menü befindet, das angezeigt wird, wenn Sie mit der rechten Maustaste auf ein Element klicken.

In englischer Sprache wird beispielsweise "Befehlsfenster hier öffnen" angezeigt. Wenn die Sprache Ihres Systems Spanisch wäre, würden Sie "Abrir ventana de comandos aquí" sehen.

Jetzt möchten Sie wissen, welche Elemente in der Registrierung dieser Nachricht zugeordnet sind (sind). Das Durchsuchen der Registrierung nach einer dieser Zeichenfolgen wäre zwecklos, da Sie nach dieser suchen sollten @shell32.dll,-8506(in Windows 7 kennen Sie keine anderen Versionen). Sie finden dann mehrere Elemente in Windows Explorer, die die Option bieten, ein Befehlsfenster (Laufwerk, Ordner usw.) zu öffnen.

Dies wird als "Zeichenfolgenumleitung" bezeichnet und ist hilfreich, um zu verhindern, dass viele Registrierungseinträge geändert werden, wenn Sie die Sprachen in einem System wechseln.

Sobald ich Ihnen die String-Ressource "shell32.dll" erzählt habe, haben Sie leicht alle Stellen gefunden, an denen sie verwendet wurde. Was aber, wenn Sie nur Ihre lokalisierte Zeichenfolge kennen? Gibt es eine Möglichkeit, herauszufinden, wie in der Registry darauf verwiesen wird, und alle Assoziationen einer Aktion zu erfahren? Nehmen wir in unserem Beispiel an, Sie möchten das Befehlsfenstermenü verbessern und keines der Menüs verlassen.

(Dies ist nur ein Beispiel, denn in diesem speziellen Fall würden Sie nachschauen, cmd.exeaber Sie haben den Punkt verstanden - die Verfolgung von CLSID kann komplizierter sein, so dass Sie nur die Menüzeichenfolge kennen.)

Kann ein Tool zum Auflisten aller String-Ressourcen einer .dll sein? Obwohl es viele Werkzeuge gibt, um alle Arten von Ressourcen aus Programmen und Bibliotheken zu extrahieren, habe ich keine gefunden, um eine solche Liste zu generieren, sodass Sie sie dann durchsuchen können.

0
Lesen Sie [Die Binärdatei knacken (aka So öffnen Sie .MUI-Dateien?)] (Http://archives.miloush.net/michkap/archive/2007/10/05/5284413.html) JosefZ vor 6 Jahren 1
@JosefZ Danke. [Resource Hacker] (http://www.angusj.com/resourcehacker/) erledigt den Job. +1 und wenn Sie als Antwort näher eingehen wollen, akzeptiere ich sie. cdlvcdlv vor 6 Jahren 0

1 Antwort auf die Frage

1
JosefZ

Microsoft verwendet die so genannte Multilingual User Interface- Technologie, um die Anzeige der Windows-Benutzeroberfläche in verschiedenen Sprachen zu ermöglichen. Grundsätzlich verwendet die MUI- Technologie Ressourcen, die in binären Dateien mit der .muiErweiterung gespeichert sind . Zum Beispiel shell32.dlllokalisierte Zeichenfolgen in Menüs, Dialogen, Meldungen usw.:

==> dir %systemroot%\system32\shell32.dll* /B /S C:\WINDOWS\system32\shell32.dll C:\WINDOWS\system32\cs-CZ\shell32.dll.mui C:\WINDOWS\system32\en-GB\shell32.dll.mui C:\WINDOWS\system32\sk-SK\shell32.dll.mui 

Man kann eine .muiDatei mit zB öffnen