Notice
Recent Posts
Recent Comments
Link
- lumenFC 축구 동호회
- 마샤블
- 웍스프레소
- 소셜@나눔<소셜미디어나눔연구소>
- 리버스코어
- LAIN
- LAIN 이사한 블로그
- TeamCR@K
- Sunnyday
- 보안 걱정이
- 리버싱 학습
- securityfirst_jo
- Practical Security Blog
- 세상, 그 유쾌한 전장
- 악성코드관련블로그
- Back to the Mac
- 패킷분석입문
- PacketInside / 네트워크 패킷 분석 블로그
- 침해사고분석 :: 네이버 블로그
- 소프트웨어 기술자경력관리시스템
- JK.Moon
- 자바 온라인학습
- Ezbeat의 도서관
- Dreams of a Final Journey
- IT eBooks - Free Download - Bi…
- Index of /madchat/coding/rever…
- Security Insight
- Reversing war game
- 고길고기
- clamav
- zerowine
- FORENSIC-PROOOF
- jquery 예제
- 조대협의블로그
- 국가과학기술인력개발원 교육포털 사이트
- 빅데이터, splunk
- 지식을 연주하는 사람
- malware analysis system
- 건국대토익스피킹
- 소프트웨어개발 및 협업도구
kisoo
Mini filter 개발 시에 알아두어야 할 함수 본문
http://msdn.microsoft.com/en-us/library/windows/hardware/ff541778(v=vs.85).aspx
NTSTATUS FltRegisterFilter( __in PDRIVER_OBJECT Driver, __in const FLT_REGISTRATION *Registration, __out PFLT_FILTER *RetFilter );
** Filter Manager에게 등록요청을 하는 API. Mini Filter를 만들기 위해서 가장먼저 꼭 해야하는 함수.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff547804(v=vs.85).aspxNTSTATUS FltBuildDefaultSecurityDescriptor( __out PSECURITY_DESCRIPTOR *SecurityDescriptor, __in ACCESS_MASK DesiredAccess );** 보안서술자를 어떤 권한으로 접근하게 할지에 대해서 설정. ( 미니필터에서 Port를 열기위해 Object Attribute를 만들기위해 필요함 )
VOID InitializeObjectAttributes( [out] POBJECT_ATTRIBUTES InitializedAttributes, [in] PUNICODE_STRING ObjectName, [in] ULONG Attributes, [in] HANDLE RootDirectory, [in, optional] PSECURITY_DESCRIPTOR SecurityDescriptor );** 매크로. User와 통신하기위한 Port를 만들기 위해 Object Attribute를 만들기 위해 호출.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff541931(v=vs.85).aspxNTSTATUS FltCreateCommunicationPort( __in PFLT_FILTER Filter, __out PFLT_PORT *ServerPort, __in POBJECT_ATTRIBUTES ObjectAttributes, __in_opt PVOID ServerPortCookie, __in PFLT_CONNECT_NOTIFY ConnectNotifyCallback, __in PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback, __in_opt PFLT_MESSAGE_NOTIFY MessageNotifyCallback, __in LONG MaxConnections );** User-Mode Application과 통신하기 위한 IOCP Port를 설정.
요청이 들어온 경우 Callback 함수 등록.
해제요청이 들어온 경우 Callback 함수 등록.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff542984(v=vs.85).aspx
VOID FltFreeSecurityDescriptor( __in PSECURITY_DESCRIPTOR SecurityDescriptor );** 보안서술자 해제.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff544569(v=vs.85).aspxNTSTATUS FltStartFiltering( __in PFLT_FILTER Filter );** Filter Manager에서 필터링 시작을 알림.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff541871(v=vs.85).aspxVOID FltCloseCommunicationPort( __in PFLT_PORT ServerPort );** IOCP Port 해제.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff544606(v=vs.85).aspxVOID FltUnregisterFilter( __in PFLT_FILTER Filter );** 필터링 등록 해제.
User
http://msdn.microsoft.com/en-us/library/windows/hardware/ff540460(v=vs.85).aspxHRESULT FilterConnectCommunicationPort( __in LPCWSTR lpPortName, __in DWORD dwOptions, __in_opt LPCVOID lpContext, __in WORD dwSizeOfContext, __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes, __out HANDLE *hPort );
** 미니필터와 연결하는 함수. lpPortName으로 연결할 대상을 정함. 미니필터와 통신하기 위한 File HANDLE을 얻음.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363862(v=vs.85).aspxHANDLE WINAPI CreateIoCompletionPort( __in HANDLE FileHandle, __in_opt HANDLE ExistingCompletionPort, __in ULONG_PTR CompletionKey, __in DWORD NumberOfConcurrentThreads );** FilterConnectCommnunicationPort 함수에서 얻은 File HANDLE을 가지고 I/O HANDLE을생성.
Comments