因此我查询这个注册表项:
HKLM\SYSTEM\CurrentControlSet\Services\badll\parameters\
ServiceDll
C:\Windows\system32\badll.dll
然后我使用 Listdlls 检查该 DLL 文件是否被另一个程序使用。
Listdlls v3.2 - Listdlls
Copyright (C) 1997-2016 Mark Russinovich
Sysinternals
Error opening System(4):
Access is denied.
------------------------------------------------------------------------------
svchost.exe pid: 1000
Command line: C:\Windows\system32\svchost.exe -k netsvcs
Base Size Path
0x72c50000 0x1f000 c:\windows\system32\badll.dll
我使用 sc.exe 停止服务
sc.exe stop badll
SERVICE_NAME: badll
TYPE : 120 WIN32_SHARE_PROCESS (interactive)
STATE : 1 STOPPED
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
问题是我仍然无法删除该文件。我收到以下错误消息:
Access to the path 'C:\Windows\system32\badll.dll' is denied.
如果我使用 ListDLls 检查,DLL 文件仍然被 svchost 使用。
我该如何从内存和磁盘中删除这个坏的 DLL 文件?
请帮助我。
谢谢。