Are these crazy values in Windows Registry?

2

0

While trying to fix a bizzare error message from a software package, I was poking around in the registry, and noticed that some values looked 'crazy'.

For example:

HKEY_CLASSES_ROOT\Installer\Components\71CE92CC2CB71D119A12000A9CE1A22A

contains:

signer.dll  REG_MULTI_SZ  
OC~jzh?Vl@K]-%4u9Xx!Intel_VBA_English>ZqT]jI{jf(=1&L[-81-]

Quite a few other entries have this style of gibberish. To me, this looks more like something has gone wrong than a real data value. Is this likely to be a sign that the registry is somehow corrupt ?

Rocketmagnet

Posted 2012-01-25T12:29:26.347

Reputation: 193

Why are you trying to read a registry entry from an Installer? – Ramhound – 2012-01-25T13:57:12.643

I'm not particularly, I'm actually trying to fully uninstall Office which seems to be messing up Solidworks, and I happened to discover a bunch of entries like this. – Rocketmagnet – 2012-01-25T14:10:35.857

Answers

3

That all looks reasonable enough. The registry is designed to contain machine readable data after all.

leonigmig

Posted 2012-01-25T12:29:26.347

Reputation: 161

0

That is nothing to worry about. In fact, the 'normal' values you see are binary or hexadecimal values, converted to something we can easily read.

Simon Verbeke

Posted 2012-01-25T12:29:26.347

Reputation: 3 553

0

The key will be storing binary or hexidecimal data, which does not necessarily directly convert into readable characters; so when you try and view it as text the program will do its best effort to convert it into a string using the default character set for the machine (1 character generally is 1 byte) which will lead to gibberish since the data was not input in character form.

Binary and Byte data can represent any number of things depending on how you decide to interperet it; for example if you take a random 32-bit integer, lets say 1,342,749 as binary this would be 00000000 00010100 01111101 00011101 which as hexidecimal would be 0x00147D1D now if we try to read this as characters using the Ascii character set we would get ??}? (more exactly, NUL - DC4 - } - GS); which appears to be complete gibberish.

Low level data, especially when stored at bit and byte level has no garenttee that it is viewable as characters, but this does not make the data gibberish by any means - quite often it is most efficent/secure/etc for programs to save data directly in bit/byte formats; specifcally for example compression techniques.

Turix

Posted 2012-01-25T12:29:26.347

Reputation: 691

2Not entirely correct. Windows Registry has a few data types such as "string" or "dword" or "binary"; it will not attempt to display REG_BINARY as text, and properly written programs will not attempt to store raw binary data as REG_SZ either ("SZ" means a zero-terminated string, which is not suitable for binary data). – user1686 – 2012-01-25T14:37:49.540

Indeed, I was attempting for a slightly more agnostic answer regarding non-string data; also the key there "properly written". – Turix – 2012-01-25T15:47:38.970