了解RegOpenKeyExA参数

时间:2011-07-07 02:41:43

标签: c++ visual-c++ reverse-engineering

我正在看一些反汇编,我发现了以下部分: -

push eax
push 0F003Fh
push ebx
push ecx
push 80000002h
mov [esp+70h+var_4], ebx
call ds:RegOpenKeyExA

为了理解这些参数,我查看了API调用here的文档。

hkey的可能值似乎是HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS。推入堆栈的最后一个参数似乎是80000002h;因此我假设hkey的各种值被定义为某处的宏。有人可以帮我找到它们或解释如何将推送到堆栈的参数转换为正确的值吗?

1 个答案:

答案 0 :(得分:3)

http://www.serverwatch.com/tutorials/article.php/1476831/Managing-Windows-Registry-with-Scripting-Part-1.htm

Const HKEY_CLASSES_ROOT     = &H80000000
Const HKEY_CURRENT_USER     = &H80000001
Const HKEY_LOCAL_MACHINE    = &H80000002
Const HKEY_USERS        = &H80000003
Const HKEY_CURRENT_CONFIG   = &H80000005

虽然你可以在其他地方找到它们(包括在SDK中)。

在这种情况下,它是HKEY_LOCAL_MACHINE。