Finding localized string redirection resouces in Windows

0

Let's say you want to find out where in the registry is a menu you see appearing when you right-click an item.

Using English language you see, for example, "Open command window here". But if the language of your system were Spanish you would see "Abrir ventana de comandos aquí".

Now you want to know what item(s) in the registry is (are) associated with this message. Searching the registry for any of these string would be futile because you should look for @shell32.dll,-8506 (in Windows 7, don't know about another versions). You'll find then there are several items in Windows explorer that offer the option to open a command window (drive, folder, etc.).

This is called "string redirection" and is useful to avoid changing lots of registry entries when you switch languages in a system.

Once I told you the "shell32.dll" string resource, you easily found all the places where it's used. But what if you only know your localized string? Is there a way to find out how is referenced in the registry and learn all the associations of an action? In our example, let's say you want to improve the command window menu and don't want to leave behind any of the menus.

(This is just an example because in this particular case you would look for cmd.exe but you get the point -- things may be way more complicated involving CLSID's to track so you simply know nothing but the menu string.)

May be a tool to list all the string resources of a .dll? Though there are many tools to extract all kind of resources from programs and libraries, I found none to generate such list so you can then search it.

cdlvcdlv

Posted 2018-02-11T12:16:29.053

Reputation: 703

1

Read Cracking the binary (aka How to open .MUI files?)

– JosefZ – 2018-05-04T23:07:09.373

@JosefZ Thank you. Resource Hacker will do the job. +1 and if you want to elaborate as answer I'll accept it.

– cdlvcdlv – 2018-05-05T16:57:18.097

Answers

1

Microsoft uses so-called Multilingual User Interface technology to allow the Windows interface to be displayed in different languages. Basically, MUI technology uses resources saved in binary files with .mui extension. For instance, shell32.dll localized strings in menus, dialogs, messages etc.:

==> 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

One can open a .mui file using e.g.

JosefZ

Posted 2018-02-11T12:16:29.053

Reputation: 9 121