본문 바로가기

삽질

유저 모드 어플리케이션에서 WDK 헤더파일을 include 할때 에러 WTL 8.0을 이용해서 개발하는 유저모드 어플리케이션에서 WDK 6001.18001 버전의 헤더파일이 필요해서 C:\WinDDK\6001.18001\inc\ddk 디렉토리를 포함디렉토리에 추가하고 빌드를 하니다음과 같은 오류가 났다. 1>c:\winddk\6001.18001\inc\ddk\mshtml.h(6513) : error C2061: 구문 오류 : 식별자 '__RPC__in' 1>c:\winddk\6001.18001\inc\ddk\mshtml.h(6516) : error C2061: 구문 오류 : 식별자 '__RPC__deref_out_opt' 1>c:\winddk\6001.18001\inc\ddk\mshtml.h(6519) : error C2061: 구문 오류 : 식별자 '__RPC__in' .. 더보기
SDT Hook 을 통한 File Monitoring 문제점 원본 : http://www.themssforum.com/Drivers/File-System-104809/ Will not work on x64 Vista/2008, also note that NtReadFile hook will not catch paging IO. - Maxim Shatskih, Windows DDK MVP Using a SSDT hook driver for this is incredibly irresponsible. First as Max pointed out, it will not work for X64, and it will not catch paging I/O. Also, getting these right is harder than one thinks, and is likel.. 더보기
AIR로 프로그램 실행하기 ( Windows AIR Proxy ) Adobe AIR가 SQLite및 File 함수를 지원하지만 정작 파일 실행은 하지 못한다. 예제로 배우는 Flex3 책에는 AIRConnect라는 AIR와 MFC를 연동한 부분이 있지만, 그 프로그램은 같은 파일을 반복적으로 쓰고, 또 검사해야하야 하기때문에, 빠른 응답을 기대할 수 없어서 소켓을 이용하여 Win32 어플리케이션과 통신을 하는 방법을 이용했다. 서버가 Socket Accepct를 하는 부분은 다음과 같다. Win32 while(true) { //접속을 기다림 hClntSock = accept(hServSock,(SOCKADDR*)&clntAddr,&clntAddrSize); if(hClntSock == INVALID_SOCKET) { MessageBox(m_hWnd,"ACCEPT 에러... 더보기
SDT를 후킹하여 파일 삭제 모니터링 하기 ZwDeleteFIle(NtDeleteFile) 이라는 함수가 있어서 파일 삭제가 될때 이 ZwDeleteFile이라는 함수가 불리어 질것이라고 예상을 하여 ZwDeleteFIle함수를 후킹하였으나 DbgPrint로 뿌리니 아무런 반응이 없어서, 인터넷을 찾는 도중 원인을 알아냈다. http://www.rohitab.com/discuss/index.php?showtopic=29037 This should be interesting for you(Windows Nt/2000 Native Api Reference By Gary Nebbett): "There are alternative methods of deleting a file, and the Win32 DeleteFile function uses Zw.. 더보기
Visual Studio 2008에 WTL 환경 구축하는 방법 WTL 설치 1. http://wtl.sf.net 에 가서 WTL최신버전인 8.0을 받아서, 압축을 푼다. 2. WTL 방의 AppWiz의 setup80.js 파일을 수정한다. 8.0 이라고 되어있는 부분을 모두 9.0으로 바꾼다. 2. http://scarletblue.net/78 에 수정된 setup90.js 가 있음 참고 3. setup80.js 를 실행하여 AppWizard를 설치한다. 4. WTL설치디렉토리의 include방을 Visual Studio C++ 디렉토리 환경에 추가한다. 5. AppWizard가 설치되어 마법사를 이용항 WTL 프로젝트를 생성할 수 있다. WTL Helper 설치 WTL 개발시에 없어서는 안될(?) 아주 유용한 WTL Helper 를 설치해본다. VS 2005에서는.. 더보기
WDK 설치 WDK 파일 받기 https://connect.microsoft.com 에 회원 가입후에 연결 디렉터리 에서 개발도구에 Windows Driver Kit (WDK), Windows Logo Kit (WLK) and Windows Driver Framework (WDF) 를 찾는다. Windows Driver Kit (WDK), Windows Logo Kit (WLK) and Windows Driver Framework (WDF) 가입 후에 다운로드 받으면 된다. WDK 와 Visual Studio 2008 연동 http://blog.naver.com/process3.do?Redirect=Log&logNo=20035804966 Visual Studio 2008에서 WDK IntelliSense 활성화 하기.. 더보기
CakePHP 소감 간단한 웹사이트를 만들 일이 있어서 Ruby on Rails 에 대한 감각도 익힐 겸해서 CakePHP를 써서 프로그래밍을 하게 되었다.다른 프레임워크와 마찬가지로 CakePHP역시 초기에 학습시간이 든다. 처음 Scaffolding을 써보고 CRUD를 바로 보여주는 것에 깜짝 놀랐다. bake(make + baker(cake를 만드는) 인 듯) 를 이용하면 간단하게 DB에 맞는 Model, View, Controller를 각각 생성할 수 있으며, Model관계 Validation 등 다양한 옵션으로 각각을 생성 할 수 있다. 나 역시 예전에 프레임워크들에 대해서 많이 생각하고 직접 PHP에 관련된 데이터 처리 부분에 관해서 고심을 하였으나, CakePHP를 써보고 아 이거구나 하고 번뜩 느끼게 되었다... 더보기
EMPOS2 보드에 공유기 설정 한백전자 EMPOS2 보드 설명 : http://hanback.co.kr/htm/sub2_2.htm EMPOS2 보드를 보면 임베디드 장비라서 RAMDISK만으로는 공간이 부족하기 때문에 JFFS usr영역을 이용하여서 필요한 iptables 관련 커널 모듈과, iptables so 파일을 다 같이 넣어두었다. # Primary Lan 카드에 공인 IP 설정 ifconfig eth0 210.000.00.15 netmask 255.255.255.0 up # Second Lan 카드에 사설 IP 설정 ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up # Default Gateway 설정 route add default gw 210.000.00.1 # IP Forwar.. 더보기