Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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 ?

share|improve this question
    
Why are you trying to read a registry entry from an Installer? –  Ramhound Jan 25 '12 at 13:57
    
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 Jan 25 '12 at 14:10
add comment

3 Answers

up vote 3 down vote accepted

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

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
2  
Not 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). –  grawity Jan 25 '12 at 14:37
    
Indeed, I was attempting for a slightly more agnostic answer regarding non-string data; also the key there "properly written". –  Turix Jan 25 '12 at 15:47
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.