본문 바로가기

김성우

(3)
[WINDOWS] 메모리상의 맵파일과 이미지 비교 김성우 해킹, 파괴의 광학 6장 예제 6-3을 조금 변형했다. 소스의 저작권이 좀 아리까리한데, 일반적인 예제코드라 생각하여 저자의 허락없이 변형하여 올렸다. (혹시 저작권자가 이 글을 보고, 문제를 제기한다면 요청대로 처리하겠다.) #include #include int CompareMappedAndAutoLoaded(char *szDllPath) { int i, result; //char szDllPath[] = BYTE *pMapFile, *pDll; DWORD dwSize; DWORD dwSameSize = 1; HANDLE hFile, hFileMap; char c; hFile = CreateFile(szDllPath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_..
[WINDOWS] DLL 매핑 주소 알아보기 김성우 해킹, 파괴의 광학 6장 예제 살짝 변형해서 실행해 보고, sysinternals vmmap 툴로 비교해 봤다. 결과는 간단히 아래 캡쳐를 보라.
소켙과 핸들 1 몇 회까지 울궈먹으며 포스팅을 할 지 모르겠지만, 1회라고 써 본다. 김성우씨의 네트워크 프로그래밍 책의 예제에 기반한 CPP 프로그램을 실행하면서 프로세스 익스플로러로 핸들을 확인했다. 예제는 아주 간단하게 소켙을 만들었다가, 다시 죽이는 것이었고, 내가 수정한 부분은 소켓을 만들었다, 닫는 작업을 반복해 보는 것이었다. WSAStartup 함수가 실행된 직후이다. 프로그램의 시작부분이라서 쓰레드가 하나 만들어 지는 것 같고, 레지스트리 키 두개를 읽나부다. 레지스트리 키 명을 확인해 보면 HKLM\SYSTEM\ControSet001\Services\WinSock2\Parameters\NameSpace_Catalog5 와 HKLM\SYSTEM\ControlSet001\Services\WinSock2\P..