http://reboot.pro/files/file/232-regkeyfixer/ Details: The included tools utilizes some powerfull native functions in ntdll.dll. Theses functions are what lets you deal with invalid key names, because we can interact with the OBJECT_ATTRIBUTES structure; http://msdn.microsof...9(v=vs.85).aspx . Since it uses native NT functions, it does not work with user friendly registry names like HKEY_LOCAL_MACHINE, HKCU etc. It will only take the Windows internal registry names, those starting with \Registry\... Below is a listing of the most important translations: HKEY_LOCAL_MACHINE \registry\machine HKEY_USERS \registry\user HKEY_CURRENT_USER \registry\user\user_sid HKEY_CLASSES_ROOT \registry\machine\software\classes HKEY_CURRENT_CONFIG \Registry\Machine\System\CurrentControlSet\Hardware Profiles\Current The user sid is the one similar to this: S-1-5-21-2895024241-3518395705-1366494917-288 The syntax is: RegKeyFixer.exe path -switch1 -switch2 Path can be in the format specified above Switch1: -r switch is for renaming invalid key names -d switch is for deleting invalid key names -f switch is for just finding the invalid key names (just search, no repair) Switch2 -s switch is for recursive mode -n switch is for regular enumeration of subkeys Some examples: Recursively find and rename invalid keys found at HKLM\SOFTWARE and all its subkeys RegKeyFixer.exe \Registry\Machine\SOFTWARE -r -s Just find invalid key names at HKLM\SYSTEM\ControlSet001\services (no recursion, just enumerate 1 level down) RegKeyFixer.exe \Registry\Machine\SYSTEM\ControlSet001\services -f -n The tools have been tested on Windows 7 SP1 x64 and XP SP3 x86.