리버싱 입문 22

[리버싱 입문](2)[PE파일]

PE파일 더 알아보기PE파일 만들어지는 과정: 고급 언어 -> 컴파일러 -> 기계어(PE 구조)PE파일의 종류: 실행계열(EXE, SCR), 라이브러리계열(DLL, OCX, XPL, DRV), 드라이버계열(SYS, VXD), 오브젝트파일계열(DBJ)PE파일의 구조PE헤더: PE파일의 전체적인 정보를 담은 부분MS-DOS헤더IMAGE_DOS_HEADER: 가장 시작 부분에 위치, 기본적인 오류 메시지 출력, PE헤더의 위치 가리킴MS-DOS Stub Program: 오류 메시지 저장 및 출력IMAGE_NT_HEADERS: PE파일이 어떻게 로드되고 실행될 지 저장 (메타데이터 저장), 구조체로 정의됨 signature: 0x00004550 상수 (아스키로 PE) IMAGE_FILE_HEADER: PE파..

리버싱 입문 2025.02.04

[리버싱 입문](1)[PE파일, 레지스터와 메모리]

PE파일: 윈도우의 실행 파일 형식헤더: 기본 정보 (파일을 실행하는데 필요한 정보), 배치 정보 (파일을 어디에 저장해야 하는지 알려주는 정보)가 들어가 있다.바디: 코드와 데이터가 들어가 있다.PE파일의 실행 과정: 운영체제의 loader가 header의 정보를 분석해서 body에 있는 코드와 데이터를 코드 영역과 메모리 영역에 배치. 이후 프로그램이 실행하며 쌓이는 데이터는 스택(매개변수, 지역변수)이나 힙(동적 메모리 할당)에 저장한다. 이후 프로그램이 종료되면 CPU반환하고 사용하던 레지스터 메모리에 저장하고 끝IA-32 레지스터:eax: 함수 반환값가장 많이 쓰는 레지스터 변수. 산술 연산, 반환값 저ebx: esi, edi와 결합해 인덱스에 사용ecx: 반복문 반복 횟수, 연산 시행 횟수fo..

리버싱 입문 2025.02.03
728x90
반응형