카테고리 보관물: 프로그래밍/프로젝트

File System Minifilter Driver

회사에서 사용하고 있는 파일 시스템 필터 드라이버를 미니필터 드라이버로 바꾸기로 해서 요즘 미니 필터 드라이버를 이용한 파일 모니터링 엔진을 개발 중입니다.
아래는 테스트를 위한 툴을 만들어 본 것입니다.
사용자 삽입 이미지


Install 방식은 SCM(Service Control Manager)를 이용하여(CreateService 함수 이용) 설치하는 방식 (물론 이경우 instance 관련 레지스트리는 직접 작성해 주는 방식으로)과 SetupApi를 이용한 방식(SetupInstallFilesFromInfSection 함수 이용), 그리고 가장 손쉬운 InstallHinfSection 함수를 바로 이용하는 것 세가지 다 구현 하였습니다.

그리고 로딩, 어태치,디태치 기능을 구현하였고, 통신(FilterSendMessage 이용 방식및 , FilterGet/ReplyMessage 이용방식 모두)까지 구현한 상태 입니다.
현재는 드라이버에서 모니터링된 파일 및 관련 정보를 App로 보내는 부분의 작업을 하고 있습니다.

참고로 NEOFM 은 개발하는 미니필터 드라이버 이름이고 Altitude는 임의로 정한 값을 사용하고 있습니다.

누군가는 뭐라 그러겠네.. 블로그에 이런거나 올린다고.. ㅋㅋ
(아무튼 간만에 포스팅하는 글이네요)
 

NTSTATUS Viewer – ver 0.2

Code Value 에 7FFFFFFF 이상의 값이 들어갔을때 문제가 있는것을 수정했습니다.

뭐.. 결국 strtol() 을 strtoul() 로 바꾼것 밖에는 없습니다.


테스트 해보니까.. 잘 되네요.. ㅋㅋ
근데.. 이걸 어디다 쓰는거냐고 물어보시면… T_T;
단지 시스템쪽 개발하다 보면 함수 리턴값이 NTSTATUS로 반환되고.. 그 값을 확인하려면 ntstatus.h 헤더 파일에서 찾는게 귀찮으실때 사용하는 거라고 말할 수 밖에…

실행파일 [288KB]
소스파일 [57KB]

0.1에 대한 이야기

NTSTATUS View – ver 0.1

비도오고… 괜히 일하기 싫고…
그래서 뭐할까 하다가… 만든 프로그램


개발하다 보면 NTSTATUS 를 확인하는 경우가 있는데, 이때 값을 출력한다는게 16진수 아니면 10진수로, 실제 의미하는 바를 확인하려면 ntstatus.h 헤더파일을 찾아봐야 한다.
이게 귀찮아서..ㅋㅋ

스크린 샷에 있는 Code Value 밑의 (Decimal 은 신경쓰지 마시길.. 삭제를 했어야 하는데..)
실행파일은 정적라이브러리 사용으로 해서 용량이 큼

버그가 있네요.. 에궁.. 수정해야 겠다..
실행파일 [288 KB]
소스파일 [116 KB]

[#M_ 개발환경 | less.. |
Windows XP SP2
Visual C++ .NET 2003_M#]

arp spoofing v0.1 beta

프로토콜 드라이버를 이용하여 만든 arp spoofing 프로그램 입니다.

1. 기능
– 호스트 스캔
– 호스트 스프핑
– 스프핑 탐색

2. todo
– 스프링된 호스트 모니터링

3. 테스트 환경
– windows xp sp2
(mfc7.1 관련 dll 필요함)

소스를 원하시는 분은 글을 남겨주시면 보내드리겠습니다.

다운로드