윈도우 네이티브 어플리케이션 제작 따라하기 - 개발환경 구성하기

월간 마소 잡지를 구독하던 중 개꿈닷넷(http://rodrea.net)의 운영자이신 권용휘님의
"네이티브 어플리케이션 개발" 연재를 보고 감동을 받아 한 번 만들어 보기로 했다.

우선 네이티브 어플리케이션이 무엇인지 부터 알아보자.
백마디 말보다 스샷 하나가 더 이해가 빠른법.
본인이 만든 화면에 인자를 출력하는 네이티브 어플리케이션의 스샷을 먼저 보자.

FirstNativeApp

가끔 윈도우를 사용하다가 한번쯤은 봤을 법한 배경화면이다. 이런 배경화면을 가진체로
잘못된 하디디스크나 USB저장장치 등의 파티션을 다시 고치는 작업을 해주는 것을 가끔 보신분도 있을테고
외국의 AVAST 라는 백신의 경우 최초 설치 이후 이 화면에서 풀스캔을 한번 진행한다.

이 화면에서 동작하는 네이티브 어플리케이션의 장점이라면 나 말고 다른 어떤 프로그램도 실행중이 아니라는것이다.
따라서 어떠한 루트킷이나 악성코드가 있더라고 네이티브 어플리케이션으로 제작된 것이 아니라면
나의 네이티브 어플리케이션 보다는 나중에 실행되므로 내가 그녀석을 충분히 컨트롤 할 수 있으며
윈도우.. 아니 컴퓨터 전체에 대한 강력한 권한을 가진채 실행이 된다는 것이다.

윈도우 부팅 과정 (http://rodream.net)

위의 윈도우 부팅 과정을 보면 핵심 커널이 로드된 후 세션 관리자 레벨에서
네이티브 어플리케이션이 가장 먼저 실행되는 것을 알 수 있다.

자 대충 네이티브 어플리케이션이 어떤 화면에서 나오고 언제쯤 실행되는 것을 알았으니 실제로
네이티브 어플리케이션을 만들어 봐야 하는데 오늘의 포스팅에서는 개발을 위한 환경을
구성하는 것으로 마감하려고 한다.

  • Windows 2000 이상의 운영체제
  • Windows DDK (최근 버전은 Windows Driver Kit 으로 변경된듯 하다.)
  • 적절한 편집기 (메모장으로도 가능하다!)
  • VMWare, Virtual PC, Virtual Box 등의 가상머신 (자신의 실 OS에서 하다가 실수하면 대략 난감하다. ㅋ 그리고 디버깅도 해야하니..)

위의 네 가지 구성요소를 구성하고 가상머신에는 개인적으로 Windows XP를 추천한다.
구성요소를 다 세팅하고나면 이제 네이티브 어플리케이션을 만들 준비가 다 되었다.!

다음 번 포스팅에서는 컴파일 하고 실제로 네이티브 어플리케이션을 등록하여 화면에 Hello World! 를 찍어보도록 하겠다~

신고


티스토리 툴바