2008. 5. 24. 19:15
     

 간단히 시작했던 작업이 어느새 필터 드라이버를 동적 로딩하는 단계까지 발전했습니다. ㅜ_ㅜ)/~ 이게 어찌된 영문인가 모르겠습니다. ^^;;;;

 기존의 드라이버가 DDK의 소스를 기반으로 만들어졌는데, 정적으로 로딩되서 실행되는 방식이었습니다. 그런데 갑자기 동적 로딩으로 할 수 있게 해달라는 요청이 있어서 소스를 손보기 시작했습니다. 참고로 동적 로딩과 정적 로딩은 아래와 같은 차이가 있습니다. ^^

  • 정적 로딩 : 윈도우 레지스트리에 등록하여 윈도우 시작 시에 자동으로 로드되는 방식
  • 동적 로딩 : 사용자가 요청하면 로딩하는 방식, 일반적으로 시스템 초기화가 완료된 이후에 로딩됨

 처음에는 간단히 동적 로드만 되면 되겠거니 생각했는데, 이게 일이 점점 많아지는 겁니다. ㅜ_ㅜ 키를 입력하게 하는 주요 루틴을 다른 쪽으로 옮겨야 하더군요. 이때부터 작업 로드가 심하게 걸리기 시작했습니다. 잠도 못자고 분석하고 테스트하고... 후덜덜덜...

 정적 로딩하는 버전은 PNP 메시지를 받아서 드라이버가 등록될 때 상위 Driver의 Callback 함수를 가지고 있다가 그걸 강제로 호출해서 값을 넣도록 하는 방식이었는데, 동적 로딩할 때는 PNP 메시지를 받지 못한 상태로 로딩되기 때문에 MJ_READ 에서 이를 처리하도록 해야했습니다. 삽질 끝에 알았습니다. 이런... ㅜ_ㅜ 더불어 IRP를 Cancel해야 다시 읽는 다는 것두요. ^^;;;

 노트북이 없었더라면 작업 시간이 두배 정도 더 걸릴뻔 했습니다. 어휴... 끔찍하네요. ^^;;;;
 방금 테스트를 해봤는데, 정상적으로 동작하는 것 같습니다.
 신나는 주말입니다. ^^)/~


Android App

Posted by 호기심 많은 kkamagui(까마귀, 한승훈)

댓글을 달아 주세요

  1. 프리쇼핑 2008.05.31 21:44  댓글주소  수정/삭제  댓글쓰기

    호~~~~
    놀랍습니다......
    동적필터드라이버 완성하셨다니 축하드리구요,
    어떤프로그램 도구로 만드셨나요?
    전vb로 밖에 이해를 못해요~~^*^
    님의 실력이 부럽습니다.

    • Favicon of http://kkamagui.tistory.com BlogIcon kkamagui 2008.05.31 22:56  댓글주소  수정/삭제

      안녕하세요 ^^ 일반적으로 드라이버는 DDK를 사용해서 만듭니다. 왠만한 예제는 다 있어서 굉장히 좋지요 ;)

  2. 프리쇼핑 2008.06.01 09:25  댓글주소  수정/삭제  댓글쓰기

    kkamagui님 안녕하세요~
    완성하신 동적프로그램 구매도 가능한건가요?
    메이플이나 거상에서 vb6.0으로 키보드나 마우스후킹이 안되던데,
    님이 만드신 동적드라이버는 적용되는것이겠지요?
    qq0116@paran.com 으루 메일부탁드립니다~ ^*^

  3. 이성호 2008.06.02 05:20  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 먼저 축하드리구요 괜찮으시다면 저두 좀 보내주시면 안될까요?
    deghk@naver.com
    꼭좀 부탁드립니다..

  4. The Crony 2008.07.23 01:48  댓글주소  수정/삭제  댓글쓰기

    키보드 보안 후킹 드라이버를 제작 중인데 보안 드라이버의 후킹 위치는 kbdclass의 MJ_READ함수 입니다. MJ_READ함수를 후킹해서 내려오는 IRP패킷의 completion routine에 후킹 주소를 등록시켜줍니다. 문제는 후킹 이 전에 pending되어 IRP가 문제인데 해결 방법이 없을까요?
    Cancel를 시켜줄수만 있다며 가능할 것도 같은데 이건 필터 드라이버가 아니라 MJ_READ를 후킹거라... 좀 난간합니다.

  5. RainMaker 2008.08.18 22:09  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 먼저 축하드립니다. 대단하세요. ^^
    저도 지금 비슷한걸 개발 중인데요. 감이 잘 안오네요;;
    괜찮으시다면 저에게도 좀 보내주실 수 있나요? khch82@naver.com으로 꼭 좀 부탁드립니다. ^^;

  6. doksuri 2009.11.07 19:32  댓글주소  수정/삭제  댓글쓰기

    아...
    난 무슨말인지도 모르겟네...
    책사서 처음부터 정독하는게 낫겠군...

  7. 2011.12.06 15:53  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  8. 2012.05.02 13:52  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다