我有一个供应商DLL,它在HKLM注册表分支中查找值以更改DLL的行为。它是传递给API的简单布尔标志的可怕替代品。有没有办法从运行时设置的变量的“本地”版本读取DLL?
答案 0 :(得分:1)
您可以通过第三方dll的导入表修补来挂钩注册表API。您需要修补RegCreateKey(Ex)/RegOpenKey(ex)
和RegGetValue
,每次调用第一个时,都需要查看路径是否是您要查找的路径。如果是这样 - 保存生成的HKEY并检查以下RegGetValue调用以查看是否传递了HKEYEY。如果是,并且值的名称与您要查找的名称匹配 - 只需将结果替换为您需要的任何内容。
http://www.codeproject.com/Articles/2082/API-hooking-revealed http://www.codeproject.com/Articles/6265/Process-wide-API-spying-an-ultimate-hack