MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
阅读:5011回复:21

请教为什么恢复了CNNIC的INLINE-HOOK却仍然无法删除Root下的键?

楼主#
更多 发布于:2007-02-08 16:10
  为什么恢复了CNNIC的INLINE-HOOK却仍然无法删除Enum\Root下的注册键?

其它的注册键恢复后到是可以删除了~~如Services下面的可以删除~

偶是先恢复了它HOOK的SSDT,又恢复了对NtDeleteKey、NtDeleteValueKey的INLINE-HOOK(其它无关的INLINE_HOOK没有恢复),但删除Enum\Root下面的键时依旧返回错误~

请高手们指点,它还搞了什么花样呢?

用Windbg顺着NtDeleteKey一直反汇编下去,除了开头的JMP修改外,也的确没发现其它的HOOK痕迹~

另外,恢复NtCreateKey后,过几秒种就会蓝屏~蓝在了NtCreateKey函数内,不知啥原因。
xikug
驱动小牛
驱动小牛
  • 注册日期2001-09-25
  • 最后登录2013-09-27
  • 粉丝1
  • 关注0
  • 积分1001分
  • 威望169点
  • 贡献值0点
  • 好评度168点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2007-02-08 17:57
ZwOpenKey, NtOpenKey没恢复?
http://www.debugman.com
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-02-08 18:40
嘿,忘记说了,恢复NtOpenKey跟NtCreateKey一样,过上几秒种就蓝~
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地板#
发布于:2007-02-08 18:43
直接调用内部的CM系列函数,或者用DARKSPY删除.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-02-08 19:07
这是恢复前取得:

lkd> u nt!NtOpenKey
nt!NtOpenKey:
805694d5 e9f5482e79      jmp     f984ddcf
805694da fd              std
805694db 4c              dec     esp
805694dc 0fe011          pavgb   mm2,mmword ptr [ecx]
805694df e8aea5f7ff      call    nt!_SEH_prolog (804e3a92)
805694e4 33f6            xor     esi,esi
805694e6 33db            xor     ebx,ebx
805694e8 895dd8          mov     dword ptr [ebp-28h],ebx

_____________________________________________________________
下面是尸体检报告:

BugCheck 8E, {c0000005, 805694dc, f9caacdb, 0}

Probably caused by : ntoskrnl.exe ( nt!NtOpenKey+7 )

Followup: MachineOwner
---------

kd> u 805694dc
nt!NtOpenKey+0x7:
805694dc 0fe011          pavgb   mm2,mmword ptr [ecx]
805694df e8aea5f7ff      call    nt!_SEH_prolog (804e3a92)
805694e4 33f6            xor     esi,esi
805694e6 33db            xor     ebx,ebx
805694e8 895dd8          mov     dword ptr [ebp-28h],ebx
805694eb 8975e4          mov     dword ptr [ebp-1Ch],esi
805694ee 668975dc        mov     word ptr [ebp-24h],si
805694f2 33c0            xor     eax,eax
kd> u f9caacdb
f9caacdb 64ad            lods    dword ptr fs:[esi]
f9caacdd caf9dc          retf    0DCF9h
f9caace0 94              xchg    eax,esp
f9caace1 56              push    esi
f9caace2 80000d          add     byte ptr [eax],0Dh
f9caace5 dbbafce70600    fstp    tbyte ptr [edx+6E7FCh]
f9caaceb 80a85c6b81c8a4  sub     byte ptr [eax-377E94A4h],0A4h
f9caacf2 3be1            cmp     esp,ecx
kd> u nt!NtOpenKey
nt!NtOpenKey:
805694d5 6894000000      push    94h
805694da fd              std
805694db 4c              dec     esp
805694dc 0fe011          pavgb   mm2,mmword ptr [ecx]
805694df e8aea5f7ff      call    nt!_SEH_prolog (804e3a92)
805694e4 33f6            xor     esi,esi
805694e6 33db            xor     ebx,ebx
805694e8 895dd8          mov     dword ptr [ebp-28h],ebx

+++++++++++++++++++++++++++++++++++

呵呵~~主要是想学习嘛~~想弄明白为何会这样子~~偶也看了看CmDeletekey,没发现有被HOOK的痕迹~
对了,请老大指点一下,Cm*系统的函数如何调用啊?偶从没直接用过~~哪里有相关资料给个链接也行,谢谢了~~
xikug
驱动小牛
驱动小牛
  • 注册日期2001-09-25
  • 最后登录2013-09-27
  • 粉丝1
  • 关注0
  • 积分1001分
  • 威望169点
  • 贡献值0点
  • 好评度168点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2007-02-08 19:53
你的恢复有问题。。。

805694d5 e9f5482e79     jmp   f984ddcf
805694da fd         std
805694db 4c         dec   esp
805694dc 0fe011       pavgb   mm2,mmword ptr [ecx]
这几条指令都需要恢复
http://www.debugman.com
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2007-02-08 20:57
CNNIC病毒感染了前面7个左右的字节,我的驱动恢复前16字节,呵呵,楼主要把CNNIC改过的全恢复掉哦

CM系列函数貌似需要暴力搜索~~为了稳定还不用,呵呵这个版里有个U88的驱动,那里面就有搜索CmEnumerateKey 的代码,
驱动开发者 呵呵
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-02-08 22:50
哦呵~原来这样啊~~汗~`一直以为就感染了前5个字节呢~~
谢谢各位老大 ^_^


CM系列的学习学习,多学点东西总是好的~~能不能自然是不用了~~去找U88瞧瞧去~~

还要麻烦指点一下,调用CM函数时的参数有没有化呢?有这一方面的资料么?在NativeAPi的资料中好像并没有见到的有关CM开头函数的,如果想查询调用格式及参数说明应该在哪里找资料呢?
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
8楼#
发布于:2007-02-08 23:01
CM系列是未导出的函数,IDA一下看参数什么的啦
驱动开发者 呵呵
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-02-09 08:31
呵呵,谢谢~~

在各位老大的指点下,已经可恢复并删除CNNIC的各项注册表值及结束应用层进程了~~
可以把Services下的删除再将Root下的删除~再将Run下的删除~汗,该删除的好像都删除了,可一重启那该死的东西就又出来了~还真够执着的~~
xikug
驱动小牛
驱动小牛
  • 注册日期2001-09-25
  • 最后登录2013-09-27
  • 粉丝1
  • 关注0
  • 积分1001分
  • 威望169点
  • 贡献值0点
  • 好评度168点
  • 原创分1分
  • 专家分0分
10楼#
发布于:2007-02-09 08:37
没删干净,cnnic会克隆自己的驱的。。。
http://www.debugman.com
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-02-09 09:34
是,好像每次重启,驱动文件字都不同~~汗~~一个软件做成这样子,还敢说偶不是流氓~也真让人佩服~~
偶在仔细的找一找,谢谢指点~
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-02-09 09:49
偶的亲娘啊~~总算给清掉了~~CNNIC在这一点上做的还算不错~~他的注册DLL都提供了卸载~呵呵,驱动就那么点地方,很容易就找遍了,但要找DLL这可不容易~~偶把他的DLL文件挨个反注册一下子,呵~~还好搞定它了。不知道,下一个版本它是不是就不提供DLL卸载了~

最后感谢各位老大的指点~~让偶学到不少东西~~
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-02-09 10:20
汗,美了还没两分钟,就又哭了~~~清倒是真的给清掉了,可机器简直就没办法用了,进入桌面的时间长的能抽支烟~进去后网络还不通~~逼得偶不得不把它又给恢复了~~丢人呐~~
~~它咋就那么霸道啊~~
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
14楼#
发布于:2007-02-09 10:59
.....它的主驱动和影子驱动到底你停了没。。。。
其实不用那么麻烦啦,你先恢复掉native api的ssdt/inline hook,fsd的filter,dispatch routine/irp inline hook,再找到其主驱动及所有运行着的影子驱动,IoUnRegisterShutdownNotfication之,接下来就删文件、删注册表吧,重启动后它就彻底挂啦
驱动开发者 呵呵
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
15楼#
发布于:2007-02-09 11:10
晕死~
我采取的手段,装SSM,然后拒绝注册表变动和驱动
没有战争就没有进步 X3工作组 为您提供最好的军火
xikug
驱动小牛
驱动小牛
  • 注册日期2001-09-25
  • 最后登录2013-09-27
  • 粉丝1
  • 关注0
  • 积分1001分
  • 威望169点
  • 贡献值0点
  • 好评度168点
  • 原创分1分
  • 专家分0分
16楼#
发布于:2007-02-09 11:47
vxk晕啥。。。
http://www.debugman.com
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-02-09 12:12
呵呵,终于搞定了~~偶是又清了一遍,然后把文件关联及WinSock2键下的内容恢复了一下儿就行了,估计是我反注册某DLL时把弄坏了注册表~

另外请问:调用IoUnregisterShutdownNotification  时用到的那个参数是不是CNNIC的驱动对像?就是那个PDEVICE_OBJECT ?不好意思,偶没用过这个~~偶清除时,都是把该删除的都删了后,直拉Reset~

 
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
18楼#
发布于:2007-02-09 12:47
Kernel-Mode Driver Architecture: Windows DDK
IoUnregisterShutdownNotification
The IoUnregisterShutdownNotification routine removes a registered driver from the shutdown notification queue.

VOID
  IoUnregisterShutdownNotification(
    IN PDEVICE_OBJECT  DeviceObject
    );
Parameters
DeviceObject
Pointer to the driver’s device object.
Return Value
None

Headers
Declared in wdm.h and ntddk.h. Include wdm.h or ntddk.h.

Comments
IoUnregisterShutdownNotification can be called by a driver only if that driver previously called IoRegisterShutdownNotification or IoRegisterLastChanceShutdownNotification with the given DeviceObject. This routine is usually called from a driver’s Unload routine.

Calling IoUnregisterShutdownNotification cancels all shutdown notifications that have been registered for the given DeviceObject. Callers of IoUnregisterShutdownNotification must be running at IRQL = PASSIVE_LEVEL.

See Also
IoRegisterShutdownNotification, IoRegisterLastChanceShutdownNotification

Send feedback on this topic. / Built on Thursday, January 16, 2003 See Also
IoRegisterShutdownNotification, IoRegisterLastChanceShutdownNotification
驱动开发者 呵呵
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2007-02-09 13:40
谢谢~
上一页
游客

返回顶部