PE 구조
-
PE 구조 (8) - 계산기의 PE 구조 / IMAGE OPTIONAL HEADER - IMAGE DATA DIRECTORY 분석Knowledge/Reversing 2019. 9. 29. 17:21
오늘의 글은 IMAGE DATA DIRECTORY 분석 글이다. 복습차원에서 IMAGE DATA DIRECTORY의 배열의 정의된 의미를 확인해보자. #define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export Directory #define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory #define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource Directory #define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception Directory #define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Security Directory #defi..
-
PE 구조 (6) - 계산기의 PE 구조 / SECTION HeaderKnowledge/Reversing 2019. 9. 26. 13:07
오늘은 계산기의 SECTION HEADER 구조에 대해서 공부할 차례이다. 이번 챕터를 지나고 나면 저번글에서 언급하지 못했던 Image data directory를 볼 것이다. 우선 섹션 해더의 구조를 살펴보자. #define IMAGE_SIZEOF_SHORT_NAME 8 typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; union { DWORD PhysicalAddress; DWORD VirtualSize; } Misc; DWORD VirtualAddress; DWORD SizeOfRawData; DWORD PointerToRawData; DWORD PointerToRelocations; DWORD PointerToL..
-
PE 구조 (5) - 계산기의 PE 구조 / NT HEADER - IMAGE OPTIONAL HEADER 분석Knowledge/Reversing 2019. 9. 25. 02:11
오늘은 계산기의 NT Header에서 IMAGE OPTIONAL HEADER에대해서 분석하려고 한다. 꽤나 중요한 녀석임으로 차근차근히 분석을 시작해보자. 우선 복습을 위하여 몇 가지 저번에 배운 내용을 확인해보자. 이것이 calc.exe의 NT header 영역이다. 그리고 NT header 구조체는 typedef struct _IMAGE_NT_HEADERS { DWORD Signature; IMAGE_FILE_HEADER FileHeader; IMAGE_OPTIONAL_HEADER32 OptionalHeader; } IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32; 로 정의되어 있고 지난 포스터에서 FileHeader 부분을 알아봤었다. https://shineild-secu..
-
PE 구조 (3) - 계산기의 PE 구조 / PE offset 확인하는 법Knowledge/Reversing 2019. 9. 18. 17:31
안녕하세요. 오랜만에 PE 구조 관련글을 다시 적게 되었습니다. 요즘 자격증 공부로 바빠서 하지 못했던 개인 공부들을 다시 시작하며 밀렸던 글들을 적어나가려고 한다. 인터넷에는 대부분 32bit notepad로 PE구조를 분석한 글들이 많이 있다. 그 이유는 아마 리버싱 핵심원리 책에서 예로 든 프로그램이 바로 이 메모장이여서 그런게 아닐까하는 생각이 든다. 그래서 지난번 글에선 필자도 메모장으로 글을 포스팅했었지만 이번엔 필자의 실습을 위해서 계산기를 직접 offset을 알아보려고 한다. 오늘 볼 파일은 calc.exe(x86)이다. feat.windows xp 오늘 필자가 분석할 큰 구조는 이렇게 나뉘어진다. Header DOS Header DOS Stub NT Header Section Header..
-
PE 구조 (2) - PE의 기본 구조Knowledge/Reversing 2019. 5. 16. 00:59
안녕하세요 오늘은 PE 구조 두번째 포스팅인 PE의 기본 구조에 대해서 알아보려고 합니다. https://shineild-security.tistory.com/4 PE 구조 (1) - (Portable Executable)PE의 종류 안녕하세요. 오늘은 PE란 무엇인지에 대해서 포스팅하겠습니다. PE(Portable Executable) File이란 윈도우os에서 사용하는 실행 파일 형식을 말합니다. 64bit os가 생긴 현재 PE는 PE32(x86)와 PE+(x64)로 나뉘며.. shineild-security.tistory.com 일반적인 응용프로그램 같은 PE 파일들의 구조를 확인하기 위해서는 디버깅이 가능한 툴을 이용합니다. 간단한 확인을 위해서, 그리고 처음 공부를 위해서는 헥스에디터 만큼 좋..
-
PE 구조 (1) - (Portable Executable)PE의 종류Knowledge/Reversing 2019. 4. 27. 00:23
안녕하세요. 오늘은 PE란 무엇인지에 대해서 포스팅하겠습니다. PE(Portable Executable) File이란 윈도우os에서 사용하는 실행 파일 형식을 말합니다. 64bit os가 생긴 현재 PE는 PE32(x86)와 PE+(x64)로 나뉘며 초반에는 주로 PE32를 포스팅 해나갈 예정입니다. PE란 앞서 말씀드린 것과 같이 실행파일이라고 했는데요. 가장 쉬운예로는 우리가 흔히 아는 exe파일을 예로 들을 수가 있습니다. exe말고도 scr, sys, vsd, obj, ocx, cpl, drv 등이 있으며 흔히 게임을 번역패치할때 자주 보았던 dll도 pe file 형식입니다. 좀 더 종류를 정리해보면 실행 계열 : exe, scr 드라이버 계열 : sys, vxd 라이브러리 계열 : dll, o..