千家信息网

如何编写VBScript通过对比注册表查找隐藏的服务

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"如何编写VBScript通过对比注册表查找隐藏的服务"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,
千家信息网最后更新 2026年11月03日如何编写VBScript通过对比注册表查找隐藏的服务

本篇内容介绍了"如何编写VBScript通过对比注册表查找隐藏的服务"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

复制代码 代码如下:

'On Error Resume Next

Const HKEY_LOCAL_MACHINE = &H80000002

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")

strKeyPath = "SYSTEM\CurrentControlSet\Services"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys

Wscript.Echo "Checking, please wait ..."
Wscript.Echo ""

For Each subkey In arrSubKeys
oReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & "\\" & subkey, "ObjectName", strValue

If Not (strValue = "") Then
'判断服务, 利用数组来比较不知道会不会快些?
If Not (CheckSvr(subkey)) Then
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ Hidden ]"
Else
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ OK ]"
End If

End If
Next
Wscript.Echo ""
Wscript.Echo "All done."
Wscript.Quit (0)

Function CheckSvr(strName)
Set oWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set cService = oWMI.ExecQuery("Select * from Win32_Service WHERE Name='" & strName & "'")
If (cService.count <> 0) Then
CheckSvr = True
Else
CheckSvr = False
End If
End Function

Function FormatOutTab(strName)
strLen = Len(strName)
Select Case True
Case strLen < 8
FormatOutTab = vbTab & vbTab & vbTab & vbTab & vbTab

Case strLen < 16
FormatOutTab = vbTab & vbTab & vbTab & vbTab

Case strLen < 24
FormatOutTab = vbTab & vbTab & vbTab

Case strLen < 32
FormatOutTab = vbTab & vbTab

Case strLen < 40
FormatOutTab = vbTab

Case Else
FormatOutTab = vbTab
End Select
End Function

利用字典,速度要快很多:

复制代码 代码如下:

Dim oDic, oReg, oWmi, arrServices
Const HKEY_LOCAL_MACHINE = &H80000002

Wscript.Echo "[*] Checking, please wait ..."
Wscript.Echo ""

Set oDic = CreateObject("Scripting.Dictionary")

Set oWmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set arrServices = oWmi.ExecQuery("Select * from Win32_Service")
For Each strService In arrServices
oDic.Add strService.Name, strService.Name
Next

Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strKeyPath = "SYSTEM\CurrentControlSet\Services"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys

For Each subkey In arrSubKeys
oReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & "\\" & subkey, "ObjectName", strValue
If Not (strValue = "") Then
If oDic.Exists(subkey) Then
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ OK ]"
Else
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ Hidden ]"
End If
End If
Next

oDic.RemoveAll

Wscript.Echo ""
Wscript.Echo "[*] All done."
Wscript.Quit (0)


Function FormatOutTab(strName)
strLen = Len(strName)
Select Case True
Case strLen < 8
FormatOutTab = vbTab & vbTab & vbTab & vbTab

Case strLen < 16
FormatOutTab = vbTab & vbTab & vbTab

Case strLen < 24
FormatOutTab = vbTab & vbTab

Case strLen < 32
FormatOutTab = vbTab

Case Else
FormatOutTab = vbTab
End Select
End Function

"如何编写VBScript通过对比注册表查找隐藏的服务"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

代码 服务 注册表 内容 更多 知识 实用 学有所成 接下来 困境 字典 实际 情况 数组 文章 案例 编带 网站 行业 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 广州大一互联网络科技有限公司 互联网的科技创新 互联网金融 科技金融 互联网女皇 腾讯科技 互联网 新科技 互联网科技公司名称 多迪互联网科技有限公司 深圳卡尔迅互联网科技有限公司怎么样 汉立互联网科技有限公司联系电话 宁波青枫互联网科技有限公司 厦门比较好的科技互联网公司 本届互联网博览会上的黑科技 群盈汇互联网科技有限公司 上海京穆互联网科技有限公司 南通创西澳互联网科技有限公司 美国互联网科技公司 富国互联网科技002692 科技和互联网行业的特点 现代科技的标志之一的互联网 为想互联网科技怎么样 互联网科技集团 碳银互联网科技有限公司 太原新华互联网科技学校怎么样 东莞新华互联网科技学校 高科技互联网发展前景如何 江苏互联网智能科技软件 南京一网一红互联网科技有限公司 张家口科技产业互联网平台 上海旺乐尼互联网科技有限公司
0