文章目录

  • Windows Security Center注册分析
    • 1. wsc获取
    • 2. wsc注册

Windows Security Center注册分析

最近在研究如何向WSC(Windows Security Center)中注册相关组件,类似火绒等相关软件,用来替换默认的Windows Defender,如下:

查了许多资料之后,发现应该是需要加入MVI – MICROSOFT VIRUS INITIATIVE;这样的话似乎过于麻烦了,那么有没有其他方式呢?本文就来探讨一下。

1. wsc获取

对于SecurityCenter信息的获取,我们可以通过WMI接口来进行获取如下:

get-wmiObject  -namespace root\SecurityCenter2 -class AntiVirusProduct__GENUS                  : 2
__CLASS                  : AntiVirusProduct
__SUPERCLASS             :
__DYNASTY                : AntiVirusProduct
__RELPATH                : AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E44-DA132C1ACF46}"
__PROPERTY_COUNT         : 6
__DERIVATION             : {}
__SERVER                 : DESKTOP-1SIKOAK
__NAMESPACE              : ROOT\SecurityCenter2
__PATH                   : \\DESKTOP-1SIKOAK\ROOT\SecurityCenter2:AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E44-DA132C1ACF46}"
displayName              : Windows Defender
instanceGuid             : {D68DDC3A-831F-4fae-9E44-DA132C1ACF46}
pathToSignedProductExe   : windowsdefender://
pathToSignedReportingExe : %ProgramFiles%\Windows Defender\MsMpeng.exe
productState             : 393472
timestamp                : Sat, 21 May 2022 05:34:12 GMT
PSComputerName           : DESKTOP-1SIKOAK__GENUS                  : 2
__CLASS                  : AntiVirusProduct
__SUPERCLASS             :
__DYNASTY                : AntiVirusProduct
__RELPATH                : AntiVirusProduct.instanceGuid="{4C17E7AE-043A-D732-91B8-D139C9EB6B26}"
__PROPERTY_COUNT         : 6
__DERIVATION             : {}
__SERVER                 : DESKTOP-1SIKOAK
__NAMESPACE              : ROOT\SecurityCenter2
__PATH                   : \\DESKTOP-1SIKOAK\ROOT\SecurityCenter2:AntiVirusProduct.instanceGuid="{4C17E7AE-043A-D732-91B8-D139C9EB6B26}"
displayName              : 火绒安全软件
instanceGuid             : {4C17E7AE-043A-D732-91B8-D139C9EB6B26}
pathToSignedProductExe   : C:\Program Files\Huorong\Sysdiag\bin\wsctrlsvc.exe
pathToSignedReportingExe : C:\Program Files\Huorong\Sysdiag\bin\wsctrlsvc.exe
productState             : 266240
timestamp                : Sat, 21 May 2022 05:34:04 GMT
PSComputerName           : DESKTOP-1SIKOAK

因此对于WMI,我们也可以使用C++语言来开发获取,如下:

HRESULT
GetSecurityProducts(_In_ WSC_SECURITY_PROVIDER provider)
{HRESULT                         hr                  = S_OK;IWscProduct*                    PtrProduct          = nullptr;IWSCProductList*                PtrProductList      = nullptr;BSTR                            PtrVal              = nullptr;LONG                            ProductCount        = 0;WSC_SECURITY_PRODUCT_STATE      ProductState;WSC_SECURITY_SIGNATURE_STATUS   ProductStatus;if (provider != WSC_SECURITY_PROVIDER_FIREWALL && provider != WSC_SECURITY_PROVIDER_ANTIVIRUS && provider != WSC_SECURITY_PROVIDER_ANTISPYWARE){hr = E_INVALIDARG;goto exit;}hr = CoCreateInstance(__uuidof(WSCProductList), NULL, CLSCTX_INPROC_SERVER, __uuidof(IWSCProductList), reinterpret_cast<LPVOID*> (&PtrProductList));if(FAILED(hr)){wprintf(L"CoCreateInstance returned error = 0x%d \n", hr);goto exit;}hr = PtrProductList->Initialize(provider);if(FAILED(hr)){wprintf(L"Initialize failed with error: 0x%d\n", hr);goto exit;}hr = PtrProductList->get_Count(&ProductCount);if (FAILED(hr)){wprintf(L"get_Count failed with error: 0x%d\n", hr);goto exit;}if (provider == WSC_SECURITY_PROVIDER_FIREWALL){wprintf(L"\n\nFirewall Products:\n");}else if (provider == WSC_SECURITY_PROVIDER_ANTIVIRUS){wprintf(L"\n\nAntivirus Products:\n");}else{wprintf(L"\n\nAntispyware Products:\n");}for (LONG i = 0; i < ProductCount; i++){hr = PtrProductList->get_Item(i, &PtrProduct);if(FAILED(hr)){wprintf(L"get_Item failed with error: 0x%d\n", hr);goto exit;}hr = PtrProduct->get_ProductName(&PtrVal);if (FAILED(hr)){wprintf(L"get_ProductName failed with error: 0x%d\n", hr);goto exit;}wprintf(L"\nProduct name: %s\n", PtrVal);SysFreeString(PtrVal);PtrVal = nullptr;hr = PtrProduct->get_ProductState(&ProductState);if (FAILED(hr)){wprintf(L"get_ProductState failed with error: 0x%d\n", hr);goto exit;}LPWSTR pszState;if (ProductState == WSC_SECURITY_PRODUCT_STATE_ON){pszState = L"On";}else if (ProductState == WSC_SECURITY_PRODUCT_STATE_OFF){pszState = L"Off";}else if (ProductState == WSC_SECURITY_PRODUCT_STATE_SNOOZED){pszState = L"Snoozed";}else{pszState = L"Expired";}wprintf(L"Product state: %s\n", pszState);if (provider != WSC_SECURITY_PROVIDER_FIREWALL){hr = PtrProduct->get_SignatureStatus(&ProductStatus);if (FAILED(hr)){wprintf(L"get_SignatureStatus failed with error: 0x%d\n", hr);goto exit;}LPWSTR pszStatus = (ProductStatus == WSC_SECURITY_PRODUCT_UP_TO_DATE) ? L"Up-to-date" : L"Out-of-date";wprintf(L"Product status: %s\n", pszStatus);}hr = PtrProduct->get_RemediationPath(&PtrVal);if (FAILED(hr)){wprintf(L"get_RemediationPath failed with error: 0x%d\n", hr);goto exit;}wprintf(L"Product remediation path: %s\n", PtrVal);SysFreeString(PtrVal);PtrVal = nullptr;if (provider == WSC_SECURITY_PROVIDER_ANTIVIRUS){hr = PtrProduct->get_ProductStateTimestamp(&PtrVal);if (FAILED(hr)){wprintf(L"get_ProductStateTimestamp failed with error: 0x%d\n", hr);goto exit;}wprintf(L"Product state timestamp: %s\n", PtrVal);SysFreeString(PtrVal);PtrVal = nullptr;}PtrProduct->Release();PtrProduct = nullptr;}exit:if (nullptr != PtrVal){SysFreeString(PtrVal);}if (nullptr != PtrProductList){PtrProductList->Release();}if (nullptr != PtrProduct){PtrProduct->Release();}return hr;
}

我们就可以枚举到相关信息,如下:

Antivirus Products:Product name: Microsoft Defender ???
Product state: On
Product status: Up-to-date
Product remediation path: windowsdefender://
Product state timestamp: Sat, 21 May 2022 03:44:27 GMT

2. wsc注册

上述WMI相关数据库,只能对WSC进行查询,那么注册的话还是行不通的,那么我们可以参考一下火绒的注册方案:

参考相关实现之后,注册结果如下(这里把名字取做我的安全):

Windows Security Center注册分析相关推荐

  1. Windows Admin Center 高可用部署

    本文老王将为大家实作Windows Admin Center的高可用部署,相信有了高可用的架构支持将更进一步推进该产品的落地 环境介绍 08dc2 lan 10.0.0.2 255.0.0.0 16s ...

  2. 5. 使用Visual Studio App Center进行分析

    Visual Studio App Center(https://appcenter.ms)是微软开发Windwos和移动应用程序.向beta测试人员分发应用程序.测试应用程序.扩展带有推送通知的应用 ...

  3. Windows 取证之注册表

    原创稿件征集 邮箱:edu@antvsion.com QQ:3200599554 黑客与极客相关,互联网安全领域里 的热点话题 漏洞.技术相关的调查或分析 稿件通过并发布还能收获 200-800元不等 ...

  4. Linux Security Module逆向分析实战

    Linux Security Module逆向分析实战 本文记录了对某发行版Linux中一个安全模块(LSM)的逆向过程,该LSM对系统中待运行的程序进行安全校验,数据流穿越内核态与用户态,涉及系统内 ...

  5. docker 查看虚拟网卡_最简单的免费虚拟化方案:Hyper-V Server + Windows Admin Center

    最近想组一个 itx 小机箱作为家庭服务器,上面跑软路由,NAS,和一个 Linux 的开发测试环境,一机多用的同时,想要服务器尽可能的稳定.至于软硬件的选择就是另一个故事了,这里我们来谈谈虚拟化. ...

  6. 在Windows Media Center中收听超过100,000个广播电台

    A cool feature in Windows 7 Media Center is the ability to listen to local FM radio. But what if you ...

  7. Windows 2003安全事件ID分析(1)

    Windows 2003安全事件ID分析(1) 利用Windows Server 2003的安全事件ID可以帮助我们快速识别由Windows Server 2003 操作系统生成的安全事件,究竟意味着 ...

  8. Windows变慢原因分析及解决方法·系统篇

    Windows变慢原因分析及解决方法·系统篇 系统加速 一 [Windows 98 ] 1.不要加载太多随机启动程序 不要在开机时载入太多不必要的随机启动程序.选择"开始→程序→附件→系统工 ...

  9. Windows 变慢原因分析及解决方法

    Windows变慢原因分析及解决方法 谁都希望计算机一开机就可以立即进入Windows系统而不用等待,或者是系统在使用的时候不会越来越慢,但由于种种原因常常使这些愿望不能实现,甚至一开机就死机或者用着 ...

  10. 【Microsoft Azure 的1024种玩法】二十六. 在Azure VM中手动部署Windows Admin Center管理平台

    [简介] Windows Admin Center是微软开发的一套可以部署在本地基于浏览器的GUI的工具集平台,其平台可用于管理Windows相关服务器和PC机器,我们可以利用Windows Admi ...

最新文章

  1. python哪一版好用-Python 可视化工具库哪款最好用?哪款最不好用?
  2. 身份证校验原理和PHP实现
  3. Centos 手工创建新用户
  4. php开源Plogger用法
  5. Bootstrap 滚动监听(Scrollspy)插件
  6. 【资源下载】PCtoLCD2002 下载 资源分享 OLED取模软件
  7. UE4学习-初识虚幻引擎(下载、安装、重定向问题、安装引擎、启动)
  8. colmak键盘_人小鬼大,ikbc 新款 Poker 2 机械键盘体验分享
  9. 012Java虚拟机005垃圾的回收
  10. 阿里云 python_阿里云python sdk
  11. 安卓手机作为文件共享服务器,安卓手机的文件共享应该怎么操作?
  12. ubuntu20.4上不网、进不了root和编译内核出现:cc1: error: code model kernel does not support PIC mode
  13. automatic preferred max layout width
  14. 什么互动管理必将风行于天下?(转)
  15. MFC 中 如何屏蔽Esc和Ente
  16. 【实用软件】二维码批量解析软件v1.0
  17. 深度学习,如何选择GPU服务器?
  18. 【Transformers】第 5 章:微调文本分类的语言模型
  19. pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple
  20. 金蝶云星空通过python实现物料编码审核后自动分配组织

热门文章

  1. VB.NET实现文件上传下载
  2. linux命令行格式简介
  3. 小甲鱼c语言照片,【跟着小甲鱼学C语言】P14 给大家介绍对象
  4. 博图V13、V14、V15、V15.1、V16版本安装包链接下载
  5. Arcgis中按照cass标准分幅图框进行批量正射影像DOM分幅裁剪并命名
  6. ZZULIOJ1046-1050Python解法
  7. ZZULIOJ1026
  8. 新零售凶猛!瑞幸B轮融资估值翻倍,背后是同城物流的暗战
  9. ffmpeg入门到实战-ffmpeg是怎么转码的?
  10. pygame详细安装教程