Windbg 설치 및 설정 이곳에서는 vmware상에 설치가 되어있는 WindowsXP Operating System에 대한 디버깅을 가능하게 해주는 Windbg 설치 및 vmware 설정 방법을 설명한다. Windgb 다운로드 Windbg는 마이크로소프트 홈페이지에서 다운로드를 할 수 있다. 아래의 링크로 이동해서 최신버전의 Windbg 를 다운받도록 하자. http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx 추가적으로 해당 Symbol을 Link해주어야 하는데 Windbg상에서 Web을 통해서도 가능하나 다운로드해서 설정을 하도록 하겠다. 아래의 링크로 가면 Windows 버전(서비스팩 버전포함)에 따른 각각의 다운로드 링크를 제공하니 ..
이 부분이 뭔고하니.. Class=USB 라고 했으면 USB에 맞는 classguid 를 적어줘야한다 이거는 소스안에 적는 guid랑 다른것이다!! 1394 Host Bus Controller Class = 1394 ClassGuid = {6bdd1fc1-810f-11d0-bec7-08002be2092f} This class includes system-supplied drivers of 1394 host controllers connected on a PCI bus, but not drivers of 1394 peripherals. Battery Devices Class = Battery ClassGuid = {72631e54-78a4-11d0-bcf7-00aa00b7b32a} This class in..
MSC_VER 는 vs c++ 컴파일러 버전을 나타내는 상수이다. 버전별 값 1000 : Visual C++ 4.x 1100 : Visual C++ 5 1200 : Visual C++ 6 1300 : Visual C++ NET 1310 : Visual C++ NET 2003 1400 : Visual C++ NET 2005 1500 : Visual C++ NET 2008 사용법) #if _MSC_VER == 1500 //code #else if _MSC_VER = 1400 //code #endif -------------------------------------------------------------------------------------------------------- http://dgoh.t..
Type 0x00000001 : SERVICE_KERNEL_DRIVER. 대게의 WDM 드라이버(커널레벨) 0x00000002 : SERVICE_FILE_SYSTEM_DRIVER. 파일시스템 관련드라이버 & 필터드라이버 0x00000010 : SERVICE_WIN32_OWN_PROCESS. 자신의 프로세스 공간을 가지는 win32 서비스모듈 0x00000020 : SERVICE_WIN32_SHARE_PROCESS : 자신의 프로세스 공간을 가지지 않고 다른 프로세스와 공유하는 wind32 서비스 모듈 Start 0x00000000 : SERVICE_BOOT_START. 부팅시에 메모리에 우선 상주 0x00000001 : SERVICE_SYSTEM_START. 부팅시에 메모리에 상주 0x00000002 :..
MFC 제작된 프로그램을 다른 컴퓨터에서 실행하려고 하면 에러 메세지가 뜨면서 실행이 되질 않는다 (초기화 할 수 없다나..DLL이 없다나..) 1. 프로젝트 속성->구성 속성(Configuration Properties)->일반(General)의 MFC사용(Use of MFC)를 Static Library 사용으로 바꾼다. 2. 프로젝트 속성-> C/C++ -> 코드 생성(Code Generation)에서 런타임라이브러리(Runtime Library) 항목을 MD에서 MT로 변경해준다. 3. Release 모드로 컴파일 한다. 이렇게 하면 런타임이 설치되지 않은 컴퓨터에서도 실행이 된다.
와.... 진짜 이거 할려고 얼마나 뻘짓을 많이 했던가 -.-;; 국내에 있는 수 많은 게시글을 다 뒤지고 다녀도 찾을 수가 없어서 직접 알아냈다. 우선 링크는 http://msdn.microsoft.com/en-us/library/aa384006(v=VS.85).aspx 여기.. 문제가 뭐냐면 비스타에서 사용자 계정 컨트롤러(UAC라고 해서 User Account Control..)를 사용하여 보안모드 상태일 경우 프로그램 실행하는것 조차 까다롭게 된다. 프로그램 배포시에 사용자에게 'UAC를 풀고 사용해라!'라고 하면 참 좋겠지만 그게 어디 쉽나.. 여튼.. UAC가 활성화 된 상태에서 내가 만든 프로그램을 섣불리 Start Up(시작 프로그램)에 등록할려고 하면 Windows Defender가 우리..
1. cat파일을 추가하여 인스톨러 제작하기.. 애초 DTS_U, DTS_PS2, DTS_MOU 로 이루어져있는 우리의 드라이버가 드라이버 설치만으로 작동할 것이라고 생각한게 큰 오산이었다.. 당연히 새 하드웨어 추가를 통해 아무리 inf를 넣어봤자 돌아갈리가 없었다. '마우스 서비스'를 실행해서 터치 드라이버 부분의 USB와 에뮬레이션 해줘야 했으니까.. 마우스 서비스는 DTS_MOU.sys에서 담당했으며 이 부분은 어플리케이션에서 레지스트리 등록을 통해서 따로 구현해 줘야 하는 부분이었다. 그러니 아무리 인스톨 쉴드 위자드로 파일을 옮겨봤자 제대로 될리가 없지.. 기존 인스톨러에 있는 레지스트리 부분이 너무 많아서 기존 인스톨 소스에 서명된 cat파일을 추가하는 것으로 마무리 지었다. 2. INF의 ..
수 많은 삽질 끝에 드디어 드라이버 파일에 코드 사이닝을 해냈다.. 우와.. XP와는 다르다.. 나는 *.sys 파일에 코드 사이닝 하면 되는줄 알았다. 아니였다.. Vista에서는 *.cat 파일 (catalog 파일)을 생성하여 inf와 sys를 다 등록 한 후 cat 파일에 Authenticode(Code Signing)해주어야 한다. 문서를 읽어보면 Server 2003 이후에는 코드 사이닝 개념이 생겨서 신뢰 기관으로 등록 하는 경우 Warning Dialog가 뜨지 않는 다고.. (XP의 경우에는 WHQL해줬어야 했다) 요하튼.. 비스타에서 드라이버 배포의 A to Z를 봅시다. 필요한 것. 1. WDK 2. SignTool 3. Inf2Cat 뭐.. 결국 SignTool와 Inf2Cat은 안..
- Total
- Today
- Yesterday
- java
- driver
- jni
- Quiz
- AWS
- source
- Troubleshooting
- Visual C++
- database
- linux
- 음악
- Cloud
- it
- 프로그래밍
- 안드로이드
- kering
- API
- 리눅스
- algorithm
- db
- Python
- C
- android
- MFC
- gcc
- NDK
- 드라이버
- jni강좌
- C++
- winapi
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |