从注册表中读取的拦截值

时间:2015-09-23 13:00:14

标签: c++ winapi registry hook

我正在加载第三方DLL,它从HKCU读取一些自己的设置,我想通过改变它读取的几个值来改变它的行为。

假设它只在第一次加载时读取,我可以将更改的值写入注册表,然后加载DLL然后再次更改值。但是在短时间内,这也会影响可能加载相同DLL的任何其他进程。

有没有办法改变它在我自己的过程中读取的值?

2 个答案:

答案 0 :(得分:2)

  

有没有办法改变它在我自己的过程中读取的值?

使用DLL调用的Win32 API函数绕道从注册表中读取。有许多绕行库可以促进这一点。

答案 1 :(得分:1)

你可以使用firefox的windowsdllinteceptor,这是一个仅用于api钩子的dll拦截器。

更改vml标记值的示例代码:

  UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
                        [button setTitle:@"X" forState:UIControlStateNormal];
                        [button sizeToFit];
                        button.center = CGPointMake(self.img1.frame.origin.x+self.img1.frame.size.width,self.img1.bounds.origin.y);