中孚密保卫视卸载教程
发布时间:2026/9/29 21:54:07 锦皓数字建站

中孚密保卫视卸载教程时间2026/9/25环境Windows 1164 位个人电脑桌面图标和产品名称实际写作“中孚密保卫士”。本文是这台电脑的卸载实录不同版本的目录、服务名可能不同。执行删除命令前先用本文的查询命令核对自己的路径。不要只凭zf两个字母批量删除文件。目录症状与本机组件管理员终端与备份按依赖顺序卸载三个客户端禁用 Hook 服务和驱动然后重启重启后删除 Hook 组件清理额外文件和注册表残留最终核验与搜索关键词1. 症状与本机组件这台电脑完成检查后控制面板中的普通卸载没有清理软件。直接运行uninst.exe会出现“产品已授权请联系管理员进行卸载”基础平台客户端和检查组件客户端还会提示有其他组件依赖它们。卸载程序退出码为 0也不代表产品已经移除必须复查服务、文件和程序登记。本机确认到的组件如下组件本机版本路径或名称主机检查客户端2.4.0.67834C:\Program Files (x86)\Intax\netchkforjavaclient服务zfnetchkclient检查组件客户端-win2.4.0.67760C:\Program Files (x86)\Intax\zf.chksdk.winclient服务ZFICONTROL基础平台客户端9.6.0.67833C:\Program Files (x86)\Intax\itxclient服务itxcltserver独立 Hook 组件3.4.0.8C:\Program Files\ZfHookProject-b4f7889b-2733-4ebd-a8a7-3703572e0ff9服务zfhookupdatHook 驱动—服务名zfinject、zfprotect文件zfinjdrv64.sys、zfprotect64.sys当时可见的进程—itxsvc.exe、itxtray.exe、zfhookupdat.exe、zhp.exe先在64 位管理员 PowerShell中确认路径和服务$IntaxC:\Program Files (x86)\Intax$HookC:\Program Files\ZfHookProject-b4f7889b-2733-4ebd-a8a7-3703572e0ff9Get-CimInstanceWin32_Service|Where-Object{$_.Name-match^(itxcltserver|zfnetchkclient|ZFICONTROL|zfhookupdat)$}|Select-ObjectName,State,StartMode,PathNameGet-CimInstanceWin32_SystemDriver|Where-Object{$_.Name-match^(zfinject|zfprotect)$}|Select-ObjectName,State,StartMode,PathNameGet-CimInstanceWin32_Process|Where-Object{$_.Name-match^(itxsvc|itxtray|zfhookupdat|zhp)\.exe$}|Select-ObjectProcessId,Name,ExecutablePathsc.exe qc zfhookupdatsc.exe qc zfinjectsc.exe qc zfprotect尤其要比对BINARY_PATH_NAME。本机的zfhookupdat指向上述长 GUID 目录其他电脑上的 GUID 未必相同。2. 管理员终端与备份本机普通 PowerShell 属于管理员组但受到 UAC 过滤修改服务时仍会“拒绝访问”。以下命令要在右键“以管理员身份运行”的64 位 PowerShell中执行。先建立备份目录备份服务登记和两个驱动文件为方便公开复现下面将备份位置统一写成当前用户的桌面本次实际备份位于本机的工作目录。$BackupJoin-Path([Environment]::GetFolderPath(Desktop))zf-cleanup-backupNew-Item-ItemType Directory-Path$Backup-Force|Out-Nullforeach($namein (zfhookupdat,zfinject,zfprotect)){reg.exe exportHKLM\SYSTEM\CurrentControlSet\Services\$name(Join-Path$Backup$name.reg)/y}Copy-Item-LiteralPathC:\Windows\System32\drivers\zfinjdrv64.sys-Destination$BackupCopy-Item-LiteralPathC:\Windows\System32\drivers\zfprotect64.sys-Destination$BackupGet-FileHash-LiteralPath(Join-Path$Backupzfinjdrv64.sys)-Algorithm SHA256Get-FileHash-LiteralPath(Join-Path$Backupzfprotect64.sys)-Algorithm SHA256 manage-bde.exe-status C:3. 按依赖顺序卸载三个客户端本机卸载器提示的依赖关系是主机检查客户端 → 检查组件客户端-win → 基础平台客户端。因此按这个顺序卸载。本版本产品自带的卸载器使用/S /UninsForce后三个组件才实际删除。下面的命令会分别运行各组件自己的卸载器$IntaxC:\Program Files (x86)\Intaxforeach($componentin (netchkforjavaclient,zf.chksdk.winclient,itxclient)){$exeJoin-Path$Intax$component\uninst.exeif(-not(Test-Path-LiteralPath$exe)){throw找不到卸载器$exe}$pStart-Process-FilePath$exe-WorkingDirectory(Split-Path-Parent$exe)-ArgumentList (/S,/UninsForce)-Verb RunAs-PassThru-Wait组件$component退出码$($p.ExitCode)卸载器仍存在$(Test-Path-LiteralPath$exe)}sc.exe query zfnetchkclientsc.exe query ZFICONTROLsc.exe query itxcltserver本机运行后三个uninst.exe都已消失上述三项服务均返回1060服务不存在。仅看到退出码 0 时不要跳过这一步核验。4. 禁用 Hook 服务和驱动然后重启三个客户端卸载后独立 Hook 组件仍在zfhookupdat服务以及zfinject、zfprotect两个驱动。本机对两个驱动执行sc.exe config成功但对zfhookupdat返回“拒绝访问”核对服务路径后直接修改其Start登记才成功。$HookC:\Program Files\ZfHookProject-b4f7889b-2733-4ebd-a8a7-3703572e0ff9$svcGet-CimInstanceWin32_Service-FilterNamezfhookupdatif(-not$svc-or$svc.PathName-notlike*$Hook*){throwzfhookupdat 路径与本文案例不一致先停止核对}sc.exe config zfinjectstart disabledsc.exe config zfprotectstart disabledsc.exe config zfhookupdatstart disabled# 本机上一行返回 Access denied仅在确认为上述路径时执行reg.exe addHKLM\SYSTEM\CurrentControlSet\Services\zfhookupdat/vStart/t REG_DWORD/d 4/fsc.exe qc zfhookupdatsc.exe qc zfinjectsc.exe qc zfprotect三项的START_TYPE都显示4 DISABLED后保存打开的文件并重启。本机使用了两分钟倒计时shutdown.exe/r/t 120/c中孚 Hook 清理请保存当前文件本次实际用一次性的 SYSTEM 开机任务执行下一节的清理重启后手动打开管理员 PowerShell 执行下一节步骤和核验条件相同。5. 重启后删除 Hook 组件重启后先核对三项均为Stopped、Disabled。如果仍在运行先检查是哪项重新启动不要直接删除正在加载的.sys文件。$HookC:\Program Files\ZfHookProject-b4f7889b-2733-4ebd-a8a7-3703572e0ff9foreach($namein (zfhookupdat,zfinject,zfprotect)){$itemGet-CimInstanceWin32_Service-FilterName$name-ErrorAction SilentlyContinueif(-not$item){$itemGet-CimInstanceWin32_SystemDriver-FilterName$name-ErrorAction SilentlyContinue}if(-not$item-or$item.State-neStopped-or$item.StartMode-neDisabled){throw$name尚未停止并禁用}$name:$($item.State),$($item.StartMode),$($item.PathName)}foreach($namein (zfhookupdat,zfinject,zfprotect)){sc.exe delete$name}# 本机先确认目录确实是服务指向的普通目录而非重解析点。$hookItemGet-Item-LiteralPath$Hook-Forceif($hookItem.FullName.TrimEnd(\)-ne$Hook-or($hookItem.Attributes-band[IO.FileAttributes]::ReparsePoint)){throwHook 目录不符合预期}Remove-Item-LiteralPath$Hook-Recurse-ForceRemove-Item-LiteralPathC:\Windows\System32\drivers\zfinjdrv64.sys-ForceRemove-Item-LiteralPathC:\Windows\System32\drivers\zfprotect64.sys-Force reg.exe deleteHKLM\SOFTWARE\WOW6432Node\IntaxRegistry\zfhookactivex/f$IntaxC:\Program Files (x86)\Intaxif((Test-Path-LiteralPath$Intax)-and(Get-ChildItem-LiteralPath$Intax-Force).Count-eq0){Remove-Item-LiteralPath$Intax-Force}本机重启后的日志记录三项均已停止并禁用服务登记、Hook 目录、两个驱动文件、zfhookactivex登记和空的Intax目录均已删除。6. 清理额外文件和注册表残留第一次核验又发现两处文件残留C:\Program Files (x86)\Common Files\ZfHookProject内含ZfHookMon.exe、ZfHookMon.ini、zfhesc.dll、zfhesm.dll。其中ZfHookMon.exe的签名显示为 Zhongfu Information Inc.。C:\ProgramData\zfhooklock.txt本机是 0 字节文件权限只有读取直接删除会报“拒绝访问”。核对文件和签名后清理命令为$CommonHookC:\Program Files (x86)\Common Files\ZfHookProject$commonItemGet-Item-LiteralPath$CommonHook-Forceif($commonItem.FullName.TrimEnd(\)-ne$CommonHook-or($commonItem.Attributes-band[IO.FileAttributes]::ReparsePoint)){throwCommon Files 中的 Hook 目录不符合预期}$expected (zfhesc.dll,zfhesm.dll,ZfHookMon.exe,ZfHookMon.ini)$children (Get-ChildItem-LiteralPath$CommonHook-Force)if($children.Count-ne$expected.Count-or($children|Where-Object{$_.PSIsContainer-or$_.Name-notin$expected}).Count-ne0){throwHook 目录文件与本文案例不一致}$children|Select-ObjectName,Length$signatureGet-AuthenticodeSignature-LiteralPath(Join-Path$CommonHookZfHookMon.exe)if($signature.Status-neValid-or$signature.SignerCertificate.Subject-notlike*Zhongfu Information Inc.*){throwZfHookMon.exe 签名与本文案例不一致}$signature|Select-ObjectStatus,{NameSigner;Expression{$_.SignerCertificate.Subject}}$BackupJoin-Path([Environment]::GetFolderPath(Desktop))zf-cleanup-backupNew-Item-ItemType Directory-Path(Join-Path$Backupcommon-files)-Force|Out-Nullforeach($childin$children){Copy-Item-LiteralPath$child.FullName-Destination(Join-Path$Backupcommon-files)-Force}Remove-Item-LiteralPath$CommonHook-Recurse-Force$LockC:\ProgramData\zfhooklock.txtif((Test-Path-LiteralPath$Lock)-and(Get-Item-LiteralPath$Lock).Length-eq0){icacls.exe$Lock/grant*S-1-5-32-544:FRemove-Item-LiteralPath$Lock-Force}还发现六个已失去对应安装目录的注册表根键。先用reg.exe query查看内容本机的IntaxRegistry已是空键zfchkproof只指向已删除的检查组件日志两个ZfhookProject键只存旧 Hook 安装路径和策略。备份后逐项清理本机通过下面的只读搜索发现了这些路径全量搜索可能较慢reg.exe query HKLM\SOFTWARE/s/f ZfHookProject reg.exe query HKLM\SOFTWARE/s/f Intax$BackupJoin-Path([Environment]::GetFolderPath(Desktop))zf-cleanup-backupNew-Item-ItemType Directory-Path$Backup-Force|Out-Null$Keys (HKLM\SOFTWARE\WOW6432Node\Intax,HKLM\SOFTWARE\WOW6432Node\IntaxExt,HKLM\SOFTWARE\WOW6432Node\IntaxRegistry,HKLM\SOFTWARE\WOW6432Node\zfchkproof,HKLM\SOFTWARE\WOW6432Node\ZfhookProject,HKLM\SOFTWARE\ZfhookProject)foreach($keyin$Keys){reg.exe query$key$file(($key-replace[\\:],_).reg)reg.exe export$key(Join-Path$Backup$file)/y}# 核对上面的查询输出和备份文件后再运行删除段。foreach($keyin$Keys){reg.exe delete$key/f}这一步只删除上面逐项核对过的产品键C:\Program Files (x86)\Common Files本身以及 Windows 的 VC 运行库不属于要删除的对象。7. 最终核验与搜索关键词本次使用的关键词Intax、ZfHookProject、zfhook、zfinj、zfprotect、netchkforjava、chksdk、Zhongfu、中孚、密保卫士对服务、进程和驱动还检查了以zf开头的名称。$pattern(?i)(intax|zhongfu|zfhook|zfinj|zfprotect|netchkforjava|chksdk|密保卫士|中孚)Get-CimInstanceWin32_Service|Where-Object{$_.Name-match^zf-or$_.Name-match$pattern-or$_.PathName-match$pattern}|Select-ObjectName,State,PathNameGet-CimInstanceWin32_SystemDriver|Where-Object{$_.Name-match^zf-or$_.Name-match$pattern-or$_.PathName-match$pattern}|Select-ObjectName,State,PathNameGet-CimInstanceWin32_Process|Where-Object{$_.Name-match^zf-or$_.Name-match$pattern-or$_.ExecutablePath-match$pattern}|Select-ObjectProcessId,Name,ExecutablePathGet-ItemPropertyHKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*,HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*,HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*-ErrorAction SilentlyContinue|Where-Object{$_.DisplayName-match$pattern-or$_.UninstallString-match$pattern}|Select-ObjectDisplayName,UninstallStringGet-ScheduledTask-ErrorAction SilentlyContinue|Where-Object{$_.TaskName-match$pattern-or$_.Actions.Execute-match$pattern-or$_.Actions.Arguments-match$pattern}|Select-ObjectTaskName,TaskPath,Stateforeach($keyin (HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run,HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)){if(Test-Path-LiteralPath$key){(Get-ItemProperty-LiteralPath$key).PSObject.Properties|Where-Object{$_.Name-match$pattern-or[string]$_.Value-match$pattern}|Select-Object{NameRegistryKey;Expression{$key}},Name,Value}}$Paths (C:\Program Files (x86)\Intax,C:\Program Files\ZfHookProject-b4f7889b-2733-4ebd-a8a7-3703572e0ff9,C:\Program Files (x86)\Common Files\ZfHookProject,C:\ProgramData\zfhooklock.txt,C:\Windows\System32\drivers\zfinjdrv64.sys,C:\Windows\System32\drivers\zfprotect64.sys)$Paths|ForEach-Object{[pscustomobject]{Path$_;ExistsTest-Path-LiteralPath$_}}pnputil.exe/enum-drivers|Select-String-PatternZhongfu|中孚|zfinj|zfprotect|ZfHook# 辅助搜查常见安装目录目录越大运行越久。foreach($rootin (C:\Program Files,C:\Program Files (x86),C:\ProgramData,$env:LOCALAPPDATA,$env:APPDATA,C:\Windows\System32\drivers)){Get-ChildItem-LiteralPath$root-Force-Recurse-ErrorAction SilentlyContinue|Where-Object{$_.FullName-match$pattern}|Select-Object-ExpandProperty FullName}本机最终结果相关服务0、驱动0、进程0、程序卸载项0上述六个文件路径全部不存在已发现的六个产品注册表根键也全部不存在。程序目录、ProgramData、用户AppData和 Windows 系统目录按上述关键词复查没有发现仍安装或运行的中孚文件。为了回退保留的备份是手动创建的普通文件不会开机启动。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。