월별 글 목록: 2007년 11월월

Visual Studio 2008 is now live on MSDN Subscriber Downloads

Visual Studio 2008 정식 버전이 MSDN 구독자 다운로드 사이트에 떴네요.
늘 그렇듯이 지금은 영문판 Team System Architecture 판만 올라와 있는 상태입니다.
(다운로드 받아서 설치해 보고 싶지만.. 지금은 그럴 여유가 없다는..)

http://blogs.msdn.com/msdnsubscriptions/default.aspx


Visual Studio 2008 is now live on MSDN Subscriber Downloads

As of 0900 (PST) on Monday November 19, 2007.


You have two avenues to download the files you are entitled to


1. Top Subscriber Downloads (make sure to allow popups)


2. Suscriber Downloads and Product Keys link


Enjoy!



 

9X 에서 커널모드에서 프로세스 ID 얻기

9X 용 드라이버 개발해 본지가 호랑이 담배 필적이라…아주 잊고 있었는데..
(조금)아는 분이랑 메신저 대화하다가.. 9X 커널모드에서 타 프로세스 ID 얻는 방법이 갑자기 궁금해졌습니다.
분명 2X 계열과는 틀렸었는데(커널모드에서 얻은 프로세스 ID와 유저모드의 프로세스 ID가 매치되지 않는)… ‘뭐였지?’ 하면서 기억들 더듬 더듬…


1. 유저모드에서 얻은 자기 자신 프로세스 ID를 드라이버로 보냅니다.
2. 커널모드에서 1. 번에서 프로세스 ID를 보내온 프로세스(자기 자신) 핸들을 얻습니다.
    – VWIN32_GetCurrentProcessHandle() 함수를 이용해서 유저모드(Ring 3) 프로세스 핸들을 얻습니다.
3. 1번의 유저모드의 프로세스 ID와 2번의 커널모드 프로세스 핸들을 ‘^’ 연산을 해서 Obsfuscator를 얻습니다.
    – 예) ULONG AppProcessID : 유저모드 프로세스 ID
            PVOID ProcessHandle : 커널모드 프로세스 핸들
            ProcessHandle = VWIN32_GetCurrentProcessHandle();
            ULONG Obsfuscator = (ULONG)ProcessHandle ^ AppProcessID;
4. 이제 필터 드라이버(파일 시스템이든 TDI 레이어 이든)등에서 특정 연산을 호출하는 프로세스의 프로세스 ID는 해당 연산에서 얻어진 프로세스 핸들과 Obsfuscator를 ‘^’ 연산을 통해 얻어질 수 있습니다.
     – 예) PVOID CurrentProcessHandle = VWIN32_GetCurrentProcessHandle();
            ULONG CurrentProcessID = (ULONG)CurrentProcessHandle ^ Obsfuscator;

요새는 거의 9X 용 드라이버를 개발하는 경우가 없으실테니 필요가 없는 내용일 것입니다.
더군다나 맞는지도 모르겠고.. 확인해볼 플랫폼이나 테스트 해 볼 9X용 드라이버도 없으니..

지금 돌이켜보면 9X 용 드라이버 개발할때가 참 색다른 맛이 있었던것 같네요.
WDM 이다 WDF 다 하면서 점점 드라이버 개발 진입이 쉬워지기는 하지만.. 그래도 나름 그때가 묘한 매력이 있었던것 같습니다.

Windows Internals, Fifth Edition

사용자 삽입 이미지
‘나올 때가 되지 않았을까..’ 생각은 하고 있었는데.. 드디어 나오는 군요..
하지만 2008년 5월 28일이라.. ‘Coming Soon’ 이라고 하기에는.. ^^;

http://www.microsoft.com/mspress/books/12069.aspx

간만에 포스팅 치고는 허접한 정보입니다.(뒷북일수도..)