2011-01-28 4 views
7

나는 지난해 대학 프로젝트를 위해 C# 레지스트리 모니터를 썼다. 그러나 Microsoft ProcessMonitor 응용 프로그램과 비교했을 때 (정확한 이름은 기억이 안나지만 MSoft가 구입 한 회사였다), 나는 많은 것을 캡처하지 못했다. 레지스트리 호출.커널 모드 레지스트리 액세스를 포함하여 레지스트리 모니터링?

C# 래퍼를 사용하고 있었기 때문에 사용자 모드 레지스트리 액세스 만 잡을 수 있었습니까? http://www.codeproject.com/KB/DLL/EasyHook64.aspx

커널 모드 레지스트리 내가 C++로 작성해야 액세스 잡으려고 :

나는이 래퍼를 사용?

+2

당신은 프로세스 http://technet.microsoft 모니터로 대체되었습니다 시스 인 터널에서의 Regmon 생각된다. co.kr/ko-kr/sysinternals/bb896645 –

+0

프로세스 모니터는 제가 사용했던 모니터입니다. – Tom

+1

이 SysInternals 유틸리티의 이전 버전에는 소스 코드가 제공되지 않았습니까? 아니면 꿈꿔 왔습니까? –

답변

9

Process Monitor은 커널 드라이버 또는 ETW (아래 참조)를 사용하여 레지스트리 이벤트를 캡처합니다. 나는 Process Monitor가 네트워크 정보와 같은 일부 데이터에 대해 ETW를 사용한다는 것을 알고있다.

EasyHook과 같은 API 후킹 또는 우회 메커니즘은 일반적으로 Win32 API 수준에서 작동합니다 (예 : ADVAPI32.dll의 또는 RegCreateKeyEx). 이 때문에 사용자 모드 레지스트리 액세스 만 캡처된다는 제한이 있습니다. 또한 API 후킹은 일반적으로 프로세스별로 수행되므로 데이터를 수집 할 각 프로세스에 자신을 투입해야합니다. 시스템 전반의 모든 액세스를 실제로 캡처하려면 프로세스 생성을 모니터링해야합니다.

Event Tracing for Windows (ETW)은 모든 레지스트리 액세스를 캡처하는 비교적 쉬운 방법입니다. ETW의 기본 아이디어는 OS, 런타임, 라이브러리 및 일상적인 응용 프로그램 개발자가 코드에 특정 계측을 추가하여 흥미로운 이벤트 및 시나리오에 대한 데이터를 기록 할 수 있다는 것입니다. 이 추적은 오버 헤드가 적고 쉽게 수집 할 수 있습니다. ETW는 잠시 동안 있었지만, Vista를 시작으로 커널 전체에서 큰 호응을 얻었습니다. 거의 모든 주요 커널 서브 시스템은 이제 ETW를 사용합니다. 또한 이제 Windows 이벤트 로그의 기초이기도합니다.

ETW는 수하물의 공평한 분배를 가지고 있으며, 일부 지역에서는 상당한 문서가 부족하지만, 당신이 관심이 있다면, 당신은 다음에서 확인할 수 있습니다 :의

를 수집하고 분석하기위한 .NET 라이브러리?

아니, 위에서 언급 한 TraceEvent 라이브러리를 사용하여 캡처하고는 커널 및 사용자 모드 레지스트리 시스템을 통해 액세스 분석하는 C 번호를 사용할 수 있습니다.

+1

흥미롭게도, ETW를 사용하면 실시간으로 파일 액세스를 캡처 할 수 있습니까? –

+1

@ChibuezeOpata : 본질적으로 그렇습니다. 시스템로드 및 처리되는 ETW 이벤트에 따라 약간의 대기 시간이 발생하지만 일반적인 경우에는 파일 액세스가 진행되는 동안 해당 이벤트를 볼 수 있어야합니다. ETW는 이와 관련하여 매우 강력합니다. –

3

커널 모드 레지스트리 액세스를 캡처하려면 C++로 드라이버를 작성해야합니다. 다른 방법은 없습니다. 프로세스 모니터는 드라이버이므로 사용자 및 커널 액세스를 모두 캡처 할 수 있습니다.

현재의 Regmon 및 Filemon을 이전 버전을 다운로드 할 수 있습니다

http://www.decuslib.com/decus/vmslt00a/nt/filemon.htm

http://www.decuslib.com/decus/vmslt00a/nt/regmon.htm

+0

+1 ProcMon의 명확성을 위해 +1하지만 "다른 방법은 없습니다"- Windows 커널에는 레지스트리 이벤트를위한 내장 ETW 계측 기능이 있습니다. 심지어 레지스트리 액세스를위한 완전한 사용자 및 커널 모드 스택을 얻을 수도 있습니다. –

+1

XP에서는 사용할 수 없기 때문에 언급하지 않았습니다. –

관련 문제