본문 바로가기

sysinternals

(4)
프로세스, 쓰레드, 잡 설명 (Windows Sysinternals Administrator’s Reference) Windows® Sysinternals Administrator’s ReferenceMark Russinovich, Aaron Margosis Part I Getting Started 2 Windows Core Concepts 아래는 마크 러시노비치와 아론 마고시스의 라는 책 영문판 Part I, 2장 중의 "프로세스, 쓰레드, 잡"이라는 절의 설명이다. 프로세스, 쓰레드, 잡의 개념에 대한 좋은 설명이라고 생각되어 번역하였다. 한국어 번역판이 아직 없는 것으로 알고 있어서, 정보공유의 차원에서 번역하여 블로그에 공개하였다. 저작권 상의 문제를 제기한다면 댓글 등으로 알려달라. 프로세스, 쓰레드, 잡 Processes, Threads, and Jobs 프로그램과 프로세스는 비슷한 것처럼 보이지만, 실은 ..
[64Bit] 64비트 시스템에서의 프로세스 가상메모리 어드레스, 시스템 dll 64비트 윈도우 상에서의 32비트 프로세스와 64비트 프로세스를 비교해 봤다. 64비트 윈도우7에서 explorer.exe 는 64비트 프로세스가, wmplayer.exe 는 32비트 프로세스가 돌았다.이 두 프로세스를 시스인터널즈의 vmmap.exe 툴로 잠깐 들여다 봤다. 가장 먼저 눈에 띄는 차이점은 다음과 같다. 1. 32비트 프로세스 wmplayer.exe 다. imm32.dll 등의 시스템 dll들이 windows\sysWOW64 패쓰에 있는 것들이 주루륵 붙어서 돌고 있다. 2. 프로세스의 버추얼 어드레스가 16진수 여덟자리이다. 7FFFFFFF 까지 보이고 있다. 3. 64비트 프로세스인 explorer.exe 를 보면, windows\system32\ 아래의 DLL들이 붙어 있는 걸 확인..
[RAMMAP] session -1 ?? Sysinternals Tools 중에 새롭게 나온 Rammap 이라는 메모리 모니터링 툴을 살펴보다가 이상한 걸 발견했다. 이 툴은 비스타+ 에서만 동작한다. 집에 있는 비스타 얼티밑에서 돌렸는데, 프로세스 리스트 중에 System 과 smss 가 세션이 -1로 표시되어 있는 걸 발견했다. 왜 이렇게 나온 건가? procexp로 다시 확인해 보았지만, procexp 에서는 둘 다 세션 0에 보이고 있었다. rammap의 버그인가? 아니면 다른 특별한 의미가 있는 것인가? While testing the new sysinternals tool, rammap, which enables us to examine and monitor the memory usage, I encounter with a stran..
socket and device\afd, device\tcp device\ksecdd 간단한 서버 샘플 프로그램을 디버그모드로 돌리면서, 어떻게 핸들이 생성되는지를 process explorer 로 살펴봤다. 아울러 tcpview 로도 언제 뜨는지를 확인해 봤다. 캡쳐한 그림을 참조. winsock 초기화. Procexp 핸들 화면을 보면, 아무런 핸들도 생성되지 않았다. socket 함수가 성공했다. \Device\Afd 핸들이 하나 생성되었음을 확인할 수있다. 아직 소켓만 생성된 상태이고, 이름은 바인드되지 않은 상태이다. bind 함수가 성공하면서, \Device\Tcp 핸들이 하나 생성된다. listen 이 성공하면서, \Device\KsecDD 핸들이 생성되고, 드디어 tcpview 에도 Server.exe 가 9000 포트로 LISTENING에 들어갔다는 게 뜬다. WINDOW..