정보보안/리버싱 입문

리버싱을 위한 기초 지식

b1ackhand 2022. 2. 15. 14:42

리버싱을 공부하기 위해 "리버싱 입문"이라는 책을 피게 되었다.

 

컴퓨터 구성요소 : CPU Memory 하드디스크

 

PE파일(Portable Executable) : 윈도우의 실행파일

-Header : 프로그램실행 정보, 메모리 어디에 저장 할 배치 정보

-Body : 코드, 데이터

ex) exe, dll, ocx

 

exe파일 누르면 운영체제의 Loader가 메모리에 배치

메모리 안에서 구성요소마다 Heap, Data, Stack 영역등에 구성

이를 CPU의 CU, ALU가 실행

여러가지 일을 동시에 하기 위해서 사용하는 레지스터를 메모리 영역에 넣는것 : Context Switching

 

인텔 x86 CPU 기본구조 IA-32 아키텍쳐 범용레지스터

EAX : 곱셈,나눗셈 명령, 함수의 반환값 저장

EBX : ESI, EDI 결합하여 인덱스 사용

ECX : 반복 카운터 저장

EDX : 부호확장 명령

ESI : 데이터 복사, 조작 소스데이터 주소

EDI : 복사할때 목적지 주소

EBP : 스택프레임 시작주소

ESP : 스택프레임 끝 주소

EIP : 다음 실행 명령어 메모리 주소

 

Stack Frame : 함수가 가지는 자신만의 스택 영역

 

PE파일 주소 지정 방법

-pFile : PE 파일 내부 오프셋

-RVA : 메모리 상대 위치

-VA 가상메모리상 실제 주소

 

IAT(Import Address Table) : 실행파일에 어떤 라이브러리, 어떤 함수를 쓰는지 기록

 

Assembler 기본 구조

- 2개 인자

- 1개 인자

- 0개 인자

 

공부 할 내용 및 프로그램)

-abex crackme

-Lena 강의

-PEView

-Detect It Easy

 

 

'정보보안 > 리버싱 입문' 카테고리의 다른 글

리버싱의 어려운 문제들  (0) 2022.03.04
리버싱, 좀 더 깊숙이  (0) 2022.03.01
리버싱에 익숙해지기  (0) 2022.02.25
리버싱시작하기(2)  (0) 2022.02.22
리버싱 시작하기(1)  (0) 2022.02.21