删除服务下运行的 DLL 文件

删除服务下运行的 DLL 文件

因此我查询这个注册表项:

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 文件?

请帮助我。

谢谢。

相关内容