나는 가끔 사용한다프로세스 모니터소프트웨어 디버깅 및 온라인 게임도 가능합니다. 이 게임 중 일부는 다음을 사용합니다.배틀아이시스템에서 프로세스 모니터가 시작된 후 게임 실행을 거부하는 치트 방지 소프트웨어는 로그에 다음을 표시합니다.
08:06:46: Starting BattlEye Service...
08:06:49: Launching game...
08:07:07: Disallowed driver: "\??\C:\Windows\system32\Drivers\PROCMON23.SYS". Please unload it or reboot your system.
프로세스 모니터를 닫은 후에도 드라이버는 계속 로드되어 있으며 언로드할 수 있는 옵션은 없는 것 같습니다.
net stop
또는 를 사용한 드라이버 언로드에 대한 몇 가지 다른 질문에 대한 답변이 있지만 sc stop
ProcMon 드라이버는 서비스가 아니므로 작동하지 않습니다. 또한 장치 관리자에서 '숨겨진 장치 표시'를 활성화해 보았으나 ProcMon과 관련된 항목이 전혀 나타나지 않습니다. 드라이버 파일은 실제로 파일 시스템에 존재하지 않기 때문에 삭제할 수 없습니다. ProcMon은 파일을 실행 파일에 저장하고 필요에 따라 추출합니다.
내 질문은 다음과 중복되지 않습니다.이 질문, 이는 재부팅 후에도 드라이버가 지속되는 유사한 문제에 관한 것입니다. 내 질문은 재부팅하지 않고 드라이버를 언로드하는 것에 관한 것입니다.
답변1
표준 드라이버~이다net
서비스를 제공하며 실제로 및 를 통해 해당 서비스를 제어할 수 있습니다 sc
. (예를 들어, sc query beep
'경고음' 드라이버를 중지하는 것은 내부 PC 스피커를 종료하는 일반적인 방법입니다.)
이전 Process Monitor 버전(아마도 Windows XP를 지원하던 2.3 이전 버전)에서는 다음과 같은 "레거시" 장치 드라이버를 설치했습니다.~였다sc
, 장치 관리자 등을 통해 볼 수 있습니다 .
현재 버전의 프로세스 모니터는 드라이버를 시작한 직후 레지스트리에서 드라이버/서비스 구성을 제거하는 것으로 보입니다. 당신은 이것을 볼 수 있습니다ProcMon을 자체적으로 모니터링. 유형 2(커널 FS 드라이버)를 사용하여 서비스를 수동으로 다시 추가할 수 있으며 이미 실행 중인 것으로 즉시 표시됩니다.
그러나 서비스는 "NOT_STOPPABLE"도 보고하고 중지 시도를 거부합니다.
또한 PROCMON23은 이제 자신을파일 시스템 미니필터필터 관리자(FltDrv)를 통해 드라이버를 사용하세요. 의 출력에서 이를 볼 수 있지만 fltmc
외부에서 언로드하려는 시도도 실패합니다(아마도 드라이버에 언로드 루틴이 없기 때문일 수 있음).
C:\WINDOWS\system32>fltmc 필터 이름 인스턴스 수 고도 프레임 ----------------- ------------- ------- ----- ----- PROCMON23 0 385200 0 WdFilter 4 328010 0 스토리지코스플트 0 244000 0 wcifs 1 189900 0 ... C:\WINDOWS\system32>fltmc 언로드 PROCMON23 오류로 인해 언로드 실패: 0x801f0010 이때 볼륨에서 필터를 분리하지 마십시오.
"공식" CLI 도구는 FltMgr 및 FltMgr에서 필터를 제거할 수 없기 때문에그 자체재부팅 없이는 다시 시작할 수 없는 '중요' 드라이버이므로 PROCMON23 또는 PROCMON24를 언로드할 방법이 없는 것 같습니다.
그러나 가장 흥미로운 부분은 procmon 3.40으로 위의 검사를 수행한 후 웹 사이트의 최신 버전이 3.50(최신 PROCMON24 드라이버 사용)이라는 것을 발견했습니다. 새 버전을 시작하면 이전 버전의 드라이버가 시스템에 이미 있으므로 재부팅해야 한다는 알림을 받았습니다.
그렇다면 ProcMon그 자체재부팅하지 않고는 자체 드라이버를 언로드할 수 없으므로 해당 드라이버도 언로드할 수 없다고 안전하게 가정할 수 있습니다.
답변2
답변3
문제가 있는 PROCMON23.SYS
필터 드라이버는 ProcMon이 실행될 때 설치됩니다. 해당 파일이
C:\Windows\system32\Drivers\PROCMON23.SYS
당시 존재하지 않으면 ProcMon이 해당 파일을 작성합니다. 파일 PROCMON23.SYS
자체는 ProcMon 실행 파일 내에 바이너리 리소스로 포함됩니다.
다음을 통해 실행 중인 모든 필터 드라이버를 나열할 수 있습니다.
fltmc filters
내 컴퓨터에서는 다음이 제공됩니다.
보시다시피 내 프로세스 모니터 버전은 귀하의 버전보다 최신 버전입니다(23이 아닌 24).
일반적으로 필터 드라이버는 다음과 같은 명령으로 제거할 수 있습니다.
Fltmc unload PROCMON24
그러나 이 경우에는 승격된 명령 프롬프트가 표시됩니다.
언로드 오류 0x801f0010은 언로드 루틴이 없는 미니 필터 드라이버의 일반적인 오류입니다.
결론: PROCMON23.SYS 및 최신 PROCMON24.SYS는 잘못 프로그래밍되었습니다. 개발자는 누군가 자신의 드라이버를 언로드하고 싶어할 것이라고 예상하지 못했고 필요한 루틴을 포함하지 않았습니다. 따라서 이 드라이버를 언로드할 수 없습니다.
나쁜 소식은 이를 폐기하려면 재부팅이 필요하며 다른 방법으로는 작업을 수행할 수 없다는 것입니다. 유일한 수단은 개발자에게 불만을 제기하는 것입니다.
답변4
다른 이유(PC 충돌)로 인해 재부팅되는 것을 방지하기 위해 커널(커널)이 필요한 것처럼 보입니다.
이는 재부팅해야 하는 이유를 설명합니다. 이것이 커널에서 연결을 해제할 수 있는 유일한 방법입니다.