본문 바로가기

Chapter 3. Memory & Assembly Language Chapter 3. Memory & Assembly Language 1. Memory - Program이 실행되는 동안 Data가 저장되는 공간 - 운영체제에 의해 할당되는 Memory 공간 ‧ Code Area : 실행할 Program의 Code가 저장되는 공간으로 CPU는 코드영역에 저장된 명령문을 하나씩 꺼내 실행한다. ‧ Data Area : 전역변수와 정적 변수가 할당되는 영역으로 Program 시작과 동시에 할당되어 종료 시까지 남아있는 특징의 변수가 저장되는 공간이다. ‧ Heap Area : Programer가 원하는 시점에 Memory 공간에 할당 및 소멸을 하기 위한 공간이다. ‧ Stack Area : 지역변수와 매개변수가 할당 되는 공간으로 함수를 빠져나가면 소멸되는 변수를 저장하는.. 더보기
Chapter 2. Register & Byte Ordering Chapter 2. Register & Byte Ordering 1. Register - CPU Register · CPU 내부에 존재하는 다목적 저장 공간을 말한다. · Intel CPU와 AMD CPU는 IA-32(Intel Architecture-32)구조를 따르며 Register 구성도 같다. · Register의 종류 ◦ 범용 Register(General Purpose Registers) ◦ Segment Registers ◦ Flag Register(EFLAGS) ◦ Instruction Pointer - Register · 범용 Register(General Purpose Registers) ◦ 다양한 용도로 사용되는 Register ◦ 32Bit로 구성되어 있으며 8개(각 4Byte) R.. 더보기
Chapter 1. About Reverse Engineering Chapter 1. About Reverse Engineering 1. Reverse Engineering - Reverse Engineering · Software 역 공학이라고 하며 Software, System 등의 구조, 기능, 동작 등을 분석하여 그 원리를 이해하며 단점을 보완하거나 새로운 아이디어를 추가하는 일련의 작업 · Software적으로는 RCE(Reverse Code Engineering) 또는 Reversing이라고도 한다. · Reversing에서는 Source Code 없이 Software File의 Binary 자체를 분석한다. - Reverse Engineering Method of Analysis · Reversing의 분석방법으로는 정적 분석, 동적 분석이 있다. · 정적.. 더보기