목록Reversing (6)
SSDD

어셈블리어 (Assembly language) 란?기계어와 1:1 대응이 되는 프로그래밍 저급언어 어셈블리어 문법 (Intel 문법과 AT&T 문법)서로 호환되지 않으며 각 문법의 차이점을 이해해야 합니다.여기서는 Intel 문법에 대해서만 다뤄보겠습니다.Intel - 숫자와 레지스터 모두 그대로 표기ex) 1, 2, 3, 4, 5 ex) EAX, EBX, EBP 명령어 형식Opcode (명령어)Operand1 (피 연산자1)Operand2 (피 연산자2 )ADDEAXEBX EBX의 값을 EAX에 더한다. 어셈블리 자료형 BYTE1bytecharWORD2byteshortDWORD4byteintQWORD8bytedouble 어셈블리 명령어주로 사용되는 명령어들만 정리 데이터 이동 : mov, lea산술 ..

레지스터의 개념CPU가 요청을 처리하는데 필요한 데이터를 임시로 저장하는 공간레지스터의 종류범용 레지스터 (General Register)세그먼트 레지스터 (Segment Register)인덱스 레지스터 (Index Register)플래그 레지스터 (Flag Register)포인터 레지스터 (Pointer Register) 범용 레지스터 연산 결과의 임시 저장, 산술 및 논리 연산, 주소 색인 등 다양한 용도로 사용되는 다목적 레지스터32bit 기준EAX = 결과 , 연산 값 레지스터EBX = 베이스 , 독립 변수ECX = 카운트 레지스터 , 숫자EDX = 데이터 , 독립 변수 64bit는 E가 아닌 R을 사용 (EAX -> RAX) (EBX -> RBX) 세그먼트 레지스터프로그램에 정의한 메모리상의 ..