이 영역을 누르면 첫 페이지로 이동
웬디의 기묘한 이야기 블로그의 첫 페이지로 이동

웬디의 기묘한 이야기

페이지 맨 위로 올라가기

웬디의 기묘한 이야기

C/C++ Windows Hooking 개발자의 블로그 입니다! 이곳은 개발 외에도 저의 취미들이 공유되는 기묘한 이야기가 펼쳐집니다.

안전모드에서도 디바이스 드라이버를 로드하기

  • 2015.04.26 11:30
  • ⌨ DEVELOPMENT/Windows Kernel
반응형

안전모드에서 디바이스 드라이버를 사용하기 위해서는 드라이버를 정적 로딩을 해야 한다.


정적 로딩을 하기 위해서는 CreateService() 호출시 SERVICE_BOOT_START 로

등록후 리부팅을 해야 한다.


SERVICE_BOOT_START 로 등록하기 위해서는 .sys 파일이 c:\windows\system32\drivers 에 있어야 한다.

정적 등록된 드라이버를 안전모드에서 사용하기 위해서는 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network

에 드라이버 이름으로 키를 만드고 (확장자 불필요), 기본값에 REG_SZ 로 "Driver" 라고 적어주면 된다.


드라이버에서 현재 안전모드인지 확인하기

Windows 운영 체제 커널 InitSafeBootMode라는 ULONG 변수에 포인터를 내보냅니다. 이 변수는 안전 모드 설정이 포함 되어 있습니다. 

다음 표에서 다른 값에 대 한 모드입니다.

값 모드
1 SAFEBOOT_MINIMAL
2 SAFEBOOT_NETWORK
3 * SAFEBOOT_DSREPAIR
* 참고값 3 Windows 도메인 컨트롤러에만 적용 됩니다. 

extern PULONG InitSafeBootMode; 

시스템 안전 모드에서 실행 중인지 여부를 확인 하려면 InitSafeBootMode 값을 확인 해야 합니다.
if (*InitSafeBootMode > 0){ 

     // The system is in Safe Mode. 
     // Take appropriate action. 
     //     
} 
 
참고 : http://support.microsoft.com/kb/837643


반응형
저작자표시 (새창열림)

'⌨ DEVELOPMENT > Windows Kernel' 카테고리의 다른 글

Windbg 명령어 모음  (0) 2015.03.21
Kernel debugging Windbg Symbol Path  (0) 2015.03.21

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • Windbg 명령어 모음

    Windbg 명령어 모음

    2015.03.21
  • Kernel debugging Windbg Symbol Path

    Kernel debugging Windbg Symbol Path

    2015.03.21
다른 글 더 둘러보기

정보

웬디의 기묘한 이야기 블로그의 첫 페이지로 이동

웬디의 기묘한 이야기

  • 웬디의 기묘한 이야기의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 이야기

카테고리

  • 분류 전체보기 (204)
    • MY STORY (2)
    • 📸 WALKING WITH YOU (85)
      • 아이슬란드 신혼여행 이야기 (14)
      • 대한민국 구석구석 (62)
      • CONTAX N1 + T* 28-80mm (4)
      • SAMSUNG NX3000 (1)
      • 어느 멋진 날 (4)
    • ⌨ DEVELOPMENT (80)
      • BOOK:Review (1)
      • AI (13)
      • C++ (26)
      • Python (10)
      • WIndows Hooking (9)
      • Windows Kernel (3)
      • Design Pattern (3)
      • Debugging (9)
      • Tools (0)
      • Project (1)
      • Android (1)
      • 상업용 무료폰트 (4)
    • OS (4)
      • News (0)
      • Windows 일반 (4)
    • 모바일 (2)
      • 모바일 게임 (2)
    • 멘사 퍼즐 (9)
    • 생활 꿀 TIP (7)
      • 건강 (3)
      • 일상 (2)
    • 물생활 (8)
      • 골든볼 라미네지 롱핀 (8)
    • IT 기기 (2)
    • BLOG (4)
      • TISTORY BLOG TIP (3)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • c
  • AI
  • 신혼여행
  • 해외여행
  • 카페
  • c++
  • windbg
  • 아이슬란드

나의 외부 링크

  • kernel undocument api
  • 지구 관찰자의 일기
  • 지구와 지구곰

정보

WENDYS의 웬디의 기묘한 이야기

웬디의 기묘한 이야기

WENDYS

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © WENDYS. Designed by Fraccino.

티스토리툴바