Jump to content

Dealing with invalid registry keys


joakim
 Share

Recommended Posts

The issue is that win32 api can't handle names with embedded null characters. That's certainly an issue when it comes to registry keys, because such keys are not deletable by OS shipped registry tools.

Here's the more complete description; http://reboot.pro/files/file/232-regkeyfixer/

Code for PoC to create invalid keys are attached as CreateInvalidKey.au3

Code for the tool to fix these keys are attached as RegKeyFixer.au3

Option for recursive search is on the todo list.

CreateInvalidKey.au3

RegKeyFixer.au3

Link to comment
Share on other sites

  • 3 weeks later...

Made some changes to it, like recursive search and modification, as well as including another PoC that will create a different set of registry keys proving to be somewhat impossible to handle: http://www.mediafire.com/download.php?65gcjxvtln291yx

Let me know if you figure out how to deal with those tricky long named keys. :) I certainly did not..

Link to comment
Share on other sites

  • 1 year later...
  • 7 months later...

joakim,

First off, you do great work, with this and rawcopy.  But I ran into an issue

attached is empty registry .dat with one key that I can not access.

It looks like a key with null char was created and then strip of permissions

I ran your tool and it is getting this

Startkey: registrymachineakey1key2key3
Invalid keyname in hex: 010000000100
Number of invalid charaters in keyname: 3
Location: registrymachineakey1key2key3***
Error in NtOpenKey 3 : 0xC0000022 -> Access is denied.
 
So reviewing what you wrote, you are trying to open a handle to the invalid keyname, but since there is no permissions on the key, it is failing, 
 
I look at adjusting the permissions using Fred (FredAI)'s permission UDF, but he needs stringname or handle to adjust the permissions. so the keyname is invalid and cannot get a handle on the key..
 
So any ideas?

reg.zip

Link to comment
Share on other sites

I doubt that I'll do more with that tool, so what I would suggest is to try running tool from the local system account, or as trustedinstaller. It's a quick workaround that usually gives you access to any registry key.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...