holk_leng
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2005-04-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1806回复:4

why I failed in hook registry functions like regmon does on Windows XP?

楼主#
更多 发布于:2004-05-12 12:03
I use the same way to hook registry operation in my filter driver,
but it fails on Windows XP, on windows 2000 everything is ok,
why?

I based my code on regmon 4.0 for NT, maybe XP doesn\'t allow being hooked,
but as far as I know, regmon 6.0 can work on XP, how does it do that? I have
no source code of regmon 6.0, so everything maintains mysterious for me.

please help and thanks!


wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-05-12 13:05
what is your  fails  mean??
is it bugcheck or something else??
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
holk_leng
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2005-04-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-13 09:21
我看到一个文章说xp对核心态注册表函数地址写保护,也就是说如果改写该地址会出错,好像regmon6绕过了这个保护机制,请问有什么办法吗?
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-13 12:32
是指禁用写保护吗
unsigned long CR0VALUE = 0;

/*++

  Routine Description:

  禁用Windows NT/2000/XP的内存保护,使只读内存区可写

  Arguments:
 
  Return Value:
  
--*/
void DisableProtection()
{
__asm
{
mov eax,cr0
mov CR0VALUE,eax
and eax,0fffeffffh
mov cr0,eax
}
}


/*++

  Routine Description:

  恢复Windows NT/2000/XP的内存保护

  Arguments:
 
  Return Value:
  
--*/
void EnableProtection()
{
__asm
{
mov eax,CR0VALUE
mov cr0,eax
}
}
holk_leng
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2005-04-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-05-13 22:05
thanks, I will try
游客

返回顶部