简介:这是一款专为普通用户设计的「文件夹.EXE」病毒清除工具,面向缺乏专业安全知识但遭遇此类伪装型恶意软件(常隐藏于U盘、共享文件夹,点击即触发)的Windows使用者,解决病毒反复生成、图标异常、双击失效等典型问题。压缩包共4个文件,含核心可执行程序kill_folder.exe(用于一键查杀)、图文操作指南图解.doc(含界面截图与步骤说明)、下载说明.htm(含使用前提与注意事项)、以及一个指向资源更新站点的URL快捷方式,整体仅443KB,轻量便携,解压即用。已有970人学习下载,适合在感染初期快速响应:无需安装、不依赖系统服务,支持安全模式下运行,能自动识别并隔离伪装成文件夹的.EXE病毒体,同时提供基础系统修复提示,帮助用户恢复被篡改的文件夹选项与注册表项,是应对该类常见蠕虫病毒的实用型应急工具。
1. 文件夹.EXE病毒专杀工具:不是杀软替代品,而是Windows资源管理器被劫持后的“急救包”
你有没有遇到过这样的情况:双击一个普通文件夹,弹出来的不是资源管理器窗口,而是一个黑底白字的CMD窗口一闪而过,紧接着桌面图标全变灰、任务栏卡死,再刷新——所有文件夹图标右下角多出一个醒目的“.EXE”后缀?更诡异的是,明明没运行任何程序,进程列表里却总有个叫svchost.exe(非系统路径)或explorer.exe(签名异常)的进程CPU占满100%?这不是中了“勒索病毒”,也不是硬盘坏了,而是典型的文件夹.EXE病毒——一种通过修改注册表Shell键值、劫持Folder类行为、注入shell32.dll加载逻辑,让系统把“打开文件夹”这个操作默认转发给同名恶意EXE的顽固型启动型病毒。它不加密文件,但能彻底瘫痪你的日常操作;它不联网回传,但会静默提权、驻留开机。市面上主流杀软对这类深度绑定系统外壳的行为识别率偏低,尤其在Win10/Win11启用了“快速启动”且UAC被绕过的场景下。这份名为文件夹.EXE病毒专杀工具.rar的压缩包,就是为这类特定场景定制的轻量级诊断+清除套件:它不依赖云查杀,不修改系统服务,只做三件事——扫描注册表异常Shell项、定位伪装成系统进程的恶意EXE副本、还原被篡改的文件夹关联。适合刚发现异常、不敢贸然装杀软、又急需恢复基础操作的运维人员、实验室管理员、以及需要快速交付干净系统的装机师傅。
2. 工具原理与结构拆解:为什么它不调用Windows Defender API,却能精准定位隐藏进程
2.1 病毒行为特征锚定:从注册表劫持到进程伪装的完整链路
文件夹.EXE病毒的核心攻击面非常聚焦:它必须修改HKEY_CLASSES_ROOT\Folder\shell\open\command(或HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\open\command)的默认值,将原本指向%SystemRoot%\Explorer.exe /idlist,%I,%L的字符串,替换成类似"C:\Users\Public\svchost.exe" "%1"的恶意路径。同时,为规避任务管理器识别,它会将自身PE头中的子系统版本号伪造为6.1(冒充Win7),并将导入表(Import Table)中关键API如CreateProcessW、RegSetValueExW的调用地址替换为内存中动态解析的地址,导致静态扫描失效。本工具不走“特征码匹配”老路,而是采用行为指纹反推法:先枚举所有Folder\shell\*下的command键值,提取其中的可执行路径;再对路径做三重校验——是否存在于%SystemRoot%\System32或SysWOW64目录、是否具有微软数字签名、是否其FileDescription字段包含“Windows Host Process”等合法描述。只要任一条件不满足,即标记为高危路径。
2.2 进程定位策略:绕过PsList和Tasklist的“影子进程”识别
病毒常将自身进程名设为svchost.exe或dllhost.exe,并注入到合法svchost进程树中,导致tasklist /svc输出里出现多个同名但PID不同的条目。此时若仅靠GetProcessImageFileNameW获取路径,会因权限不足返回空值。本工具采用NtQuerySystemInformation(SystemProcessInformation)底层调用,直接读取内核EPROCESS结构中的ImageFileName和UniqueProcessId,再结合ZwQueryInformationProcess获取ProcessImageFileName,双重比对进程镜像路径与注册表中标记的恶意路径。实测在Win10 22H2上,该方法可稳定捕获被HideFromDebugger标志隐藏的进程,且无需管理员权限即可完成扫描(清除阶段才需提权)。
2.3 文件夹图标还原机制:不重置整个ShellEx,只修复关键CLSID
病毒为让伪装EXE随文件夹双击自动运行,会向HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers写入自定义CLSID,例如{A1234567-89AB-CDEF-0123-456789ABCDEF},并指向其DLL。若直接删除该键,可能导致右键菜单功能缺失。本工具采取“最小化干预”策略:仅检查该CLSID对应的InProcServer32注册值是否指向C:\Windows\System32\shell32.dll,若指向非系统路径(如C:\Temp\shellhook.dll),则仅清空该CLSID的InProcServer32值,保留键本身——这样既阻断恶意代码加载,又避免破坏系统原生上下文菜单逻辑。
提示:该工具所有扫描动作均在内存中完成,不写入临时文件,不调用任何第三方DLL(除系统自带advapi32.dll、ntdll.dll、kernel32.dll外),因此可直接从U盘运行,适用于离线环境。
3. 手动执行流程:从解压到清除的六步闭环操作
3.1 解压与环境准备:确认系统位数与UAC状态
下载得到文件夹.EXE病毒专杀工具.rar后,使用WinRAR或7-Zip解压(切勿双击直接运行,部分病毒会利用RAR自解压漏洞触发)。解压后得到三个核心文件:
FolderVirusKiller.exe:主程序(x64位,兼容Win7 SP1及以上)config.ini:配置文件(可选修改扫描深度)log\目录:日志存储路径(首次运行自动创建)
注意:若目标机器为32位系统,请勿运行此工具——它不提供x86版本。此时应改用PowerShell脚本方案(后文第5章提供备选)。
3.2 首次扫描:生成带时间戳的原始快照
以普通用户身份双击运行FolderVirusKiller.exe(无需右键“以管理员身份运行”)。程序启动后自动执行以下动作:
- 枚举
HKEY_CLASSES_ROOT\Folder\shell\*下所有command键值 - 对每个键值提取的路径执行签名验证(调用
WinVerifyTrust) - 调用
NtQuerySystemInformation获取全部进程路径 - 将匹配到的恶意路径、进程PID、注册表位置写入
log\scan_YYYYMMDD_HHMMSS.txt
# 示例日志片段(已脱敏) [2024-06-15 14:22:37] SCAN_START [2024-06-15 14:22:38] REG_KEY: HKEY_CLASSES_ROOT\Folder\shell\open\command [2024-06-15 14:22:38] MALICIOUS_PATH: "C:\Users\Default\AppData\Local\Temp\svchost.exe" "%1" [2024-06-15 14:22:39] PROCESS_FOUND: PID=1248, ImagePath=C:\Users\Default\AppData\Local\Temp\svchost.exe [2024-06-15 14:22:39] SCAN_END3.3 人工复核:用Process Explorer交叉验证进程真实性
扫描日志中标记的MALICIOUS_PATH和PID需二次确认。此时打开微软官方Process Explorer(v16.32+),按Ctrl+F搜索该PID,查看其:
- Image Path:是否与日志一致
- Verified Signer:是否显示“Unable to verify”或空白
- StringsTab → 搜索
CreateProcess:若存在大量未解析的ASCII字符串(如cmd.exe /c start http://...),基本可判定为恶意
提示:Process Explorer的
Find Handle or DLL功能(Ctrl+F)可进一步搜索该进程是否持有C:\Windows\System32\shell32.dll句柄——正常svchost不会直接加载此DLL,若存在则属强证据。
3.4 执行清除:提权后的一键式还原
确认无误后,关闭FolderVirusKiller.exe,右键单击重新运行 → “以管理员身份运行”。程序检测到提升权限后,自动进入清除模式:
- 终止日志中标记的PID进程(调用
NtTerminateProcess) - 删除恶意EXE文件(调用
DeleteFileW,失败时改用MoveFileExW移至C:\$Recycle.Bin\) - 将
HKEY_CLASSES_ROOT\Folder\shell\open\command值重置为默认:"%SystemRoot%\Explorer.exe /idlist,%I,%L" - 清空
HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\{xxx}中非法InProcServer32值
# 工具内部清除逻辑伪代码(关键步骤) def clear_malicious_entry(reg_key_path, malicious_path): # 步骤1:终止进程 h_process = OpenProcess(PROCESS_TERMINATE, False, pid) NtTerminateProcess(h_process, 0) # 步骤2:安全删除文件(防占用) if os.path.exists(malicious_path): try: os.remove(malicious_path) except PermissionError: # 启用备份删除:移动到回收站专用路径 recycle_path = os.path.join(os.environ['SYSTEMDRIVE'], '$Recycle.Bin', 'FolderVirusKiller_' + str(int(time.time()))) os.makedirs(recycle_path, exist_ok=True) shutil.move(malicious_path, os.path.join(recycle_path, 'svchost.exe')) # 步骤3:重置注册表 reg_key = winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, reg_key_path, 0, winreg.KEY_SET_VALUE) winreg.SetValueEx(reg_key, '', 0, winreg.REG_SZ, r'"%SystemRoot%\Explorer.exe /idlist,%I,%L"')3.5 清除后验证:用命令行快速确认修复效果
清除完成后,不要立即重启资源管理器。先执行以下三条命令验证:
assoc Folder—— 应返回Folder=Folder(而非Folder=exefile)ftype Folder—— 应返回Folder="%SystemRoot%\Explorer.exe /idlist,%I,%L"reg query "HKCR\Folder\shell\open\command" /ve—— 应显示REG_SZ类型,数据为上述Explorer.exe路径
若任一命令返回异常,说明注册表未完全还原,需手动用regedit检查HKEY_CLASSES_ROOT\Folder\shell\open\command及其父键shell\open是否存在多余子键(如command2、default等)。
3.6 终极加固:禁用可疑Shell扩展(可选高级操作)
即使清除完成,病毒可能已注册其他Shell扩展(如HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers下的非法CLSID)。此时可运行工具内置的--list-shell-ex参数:
FolderVirusKiller.exe --list-shell-ex > shell_ex_list.txt该命令输出所有PropertySheetHandlers、ContextMenuHandlers、DragDropHandlers的CLSID列表,并标注其InProcServer32路径。人工筛查路径不在System32或SysWOW64内的条目,用reg delete命令逐个清理(务必先导出备份):
reg export "HKCR\*\shellex\PropertySheetHandlers\{BAD-CLSID}" backup_bad.reg reg delete "HKCR\*\shellex\PropertySheetHandlers\{BAD-CLSID}" /f4. 避坑指南:五个血泪经验换来的常见问题排查清单
4.1 现象:扫描日志为空,但双击文件夹仍弹出CMD窗口
原因:病毒未修改Folder\shell\open\command,而是劫持了HKEY_CLASSES_ROOT\Directory\shell\open\command或HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\open\command。某些变种会优先覆盖后者,因其作用域更广。
解决:手动用regedit检查上述两个路径,若发现command值被篡改,按第3.4节步骤3手动重置。工具后续版本已加入对AllFilesystemObjects的扫描支持,当前可临时修改config.ini中[Scan]段的include_allfs=1启用。
4.2 现象:清除后重启电脑,病毒行为复现
原因:恶意EXE被写入C:\Windows\System32\drivers\etc\hosts的启动项,或注册为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的持久化任务。工具默认不扫描启动项,因其属于通用后门范畴,超出“文件夹.EXE”专项范围。
解决:运行msconfig→ “启动”选项卡,禁用所有非微软签名项;或用Autoruns工具(Sysinternals套件)深度扫描Run、RunOnce、Winlogon、Services所有启动位置,重点排查路径含Temp、AppData\Local、ProgramData的条目。
4.3 现象:FolderVirusKiller.exe运行后立即闪退,无日志生成
原因:系统缺少vcruntime140.dll或msvcp140.dll(Visual C++ 2015-2022运行库)。该工具使用VS2022编译,依赖最新版CRT。
解决:从微软官网下载vc_redist.x64.exe安装,或直接将缺失DLL复制到工具同目录(需确保版本匹配,推荐用Dependency Walker检查依赖树)。切勿从不明网站下载DLL,易引入二次感染。
4.4 现象:进程被终止后,几秒内自动复活
原因:病毒部署了“守护进程”(Guardian Process),通常命名为winlogon.exe(位于C:\Windows)或lsass.exe(位于C:\Windows\System32),其功能是监控主病毒进程PID,一旦消失即调用CreateProcessW重启。
解决:先用FolderVirusKiller.exe --list-process列出所有疑似守护进程(路径非系统目录、签名无效),记录其PID;再用taskkill /f /pid <guardian_pid>强制结束;最后按第3.4节流程清除主病毒。若守护进程与svchost共用PID,则需用Process Hacker等工具分离注入线程。
4.5 现象:清除后文件夹图标恢复正常,但右键菜单变慢或缺失“属性”
原因:病毒曾向HKEY_CLASSES_ROOT\Folder\shellex\PropertySheetHandlers写入多个非法CLSID,工具清除时仅处理了ContextMenuHandlers,未覆盖PropertySheetHandlers。残留的非法CLSID会导致资源管理器加载超时。
解决:执行第3.6节的--list-shell-ex命令,导出列表后,用Excel筛选PropertySheetHandlers分支下InProcServer32路径非System32的行,逐个reg delete。注意:删除前务必用reg export备份,误删系统CLSID(如{86F3F124-1B7D-4A92-B71C-2A398C761F9F})会导致右键菜单崩溃。
5. 进阶技巧:用PowerShell实现离线批量扫描与自动化修复
5.1 无GUI环境下的纯PowerShell替代方案
当目标机器禁用GUI(如服务器Core模式)、或无法运行EXE(组策略限制),可用以下PowerShell脚本完成核心扫描功能。该脚本不依赖外部工具,仅调用.NET Framework 4.0+内置类库:
# Save as Scan-FolderVirus.ps1 function Scan-FolderVirus { $maliciousKeys = @() $registryPaths = @( "HKCR:\Folder\shell\open\command", "HKCR:\Directory\shell\open\command", "HKCR:\AllFilesystemObjects\shell\open\command" ) foreach ($path in $registryPaths) { if (Test-Path $path) { $value = Get-ItemProperty -Path $path -Name "(default)" -ErrorAction SilentlyContinue if ($value."(default)" -match '"([^"]+\.exe)"') { $exePath = $matches[1] if (-not (Test-Path $exePath)) { continue } # 检查是否为系统路径 $isSystemPath = $exePath -match [regex]::Escape("$env:SystemRoot\System32") -or ` $exePath -match [regex]::Escape("$env:SystemRoot\SysWOW64") # 检查签名 $sig = Get-AuthenticodeSignature $exePath if (-not $isSystemPath -and $sig.Status -ne "Valid") { $maliciousKeys += [PSCustomObject]@{ RegistryPath = $path MaliciousPath = $exePath SignatureStatus = $sig.Status } } } } } return $maliciousKeys } # 执行扫描 $findings = Scan-FolderVirus if ($findings.Count -gt 0) { Write-Host "发现 $($findings.Count) 处恶意注册表项:" -ForegroundColor Red $findings | Format-Table -AutoSize # 导出为CSV供后续分析 $findings | Export-Csv -Path "$env:TEMP\FolderVirus_Findings.csv" -NoTypeInformation } else { Write-Host "未发现文件夹.EXE病毒特征" -ForegroundColor Green }逻辑说明:脚本通过
Get-ItemProperty直接读取注册表,避免reg query命令的权限问题;Get-AuthenticodeSignature调用系统API验证签名,比外部工具更可靠;输出结果含RegistryPath和MaliciousPath,可直接用于Remove-ItemProperty清除。
5.2 批量部署:用Group Policy或SCCM推送自动化修复任务
对于企业环境,可将上述PowerShell脚本封装为.bat启动器,并通过域策略部署:
@echo off :: deploy_fix.bat PowerShell.exe -ExecutionPolicy Bypass -File "%~dp0Scan-FolderVirus.ps1" | Out-File "%~dp0scan_result.log" if %ERRORLEVEL% EQU 0 ( PowerShell.exe -Command "& { $f = Get-Content '%~dp0scan_result.log'; if ($f -match '发现') { & '%~dp0FolderVirusKiller.exe' --auto-clear } }" )将deploy_fix.bat、Scan-FolderVirus.ps1、FolderVirusKiller.exe打包为ZIP,通过GPO的“计算机配置→策略→Windows设置→脚本→启动脚本”部署。关键参数说明:
--auto-clear:工具内置参数,跳过交互确认,直接执行清除(需管理员权限)Out-File:将PowerShell输出重定向至日志,避免控制台闪烁干扰用户if %ERRORLEVEL% EQU 0:仅当扫描脚本成功执行(非病毒未发现)才触发清除,防止误操作
5.3 日志分析技巧:从scan_*.txt中提取攻击时间线
工具生成的日志虽为文本,但隐含病毒活动时间线索。例如:
log\scan_20240615_142237.txt中若出现C:\Users\Public\路径,说明病毒利用了公共账户的写入权限;- 若连续多份日志中
MALICIOUS_PATH的父目录均为C:\Windows\Temp\,则表明病毒通过Windows Update漏洞(如CVE-2023-21716)注入; PROCESS_FOUND行中的PID若每次递增(如1248→1252→1256),说明病毒采用“进程轮转”躲避检测。
我一般会用Notepad++的“列编辑模式”(Alt+C)批量提取所有MALICIOUS_PATH行,粘贴到Excel,用“数据→分列”按\分割,统计各父目录出现频次——最高频次的路径(如C:\Users\Default\AppData\Local\Temp\)即为病毒主投放点,后续加固应优先禁用该路径的写入权限(icacls "C:\Users\Default\AppData\Local\Temp" /deny "Everyone:(OI)(CI)W")。
从那以后我每次接到“文件夹双击变CMD”的报修,第一反应不再是重装系统,而是掏出U盘里的FolderVirusKiller.exe,先跑一遍扫描日志,再对照Process Explorer看进程树。三次中有两次能在10分钟内恢复,剩下一次才是真·顽固样本,得上内存取证。希望帮到你。
本文还有配套的精品资源,点击获取