관리 메뉴

Jsecurity

어셈블리언어 기초 본문

프로그래밍언어/리버싱 입문

어셈블리언어 기초

Great king 2019. 3. 12. 19:27



※ 어셈블러 (assembler)


$1. 어셈블러는 니모닉 기호(mnemonics)를 opcode로 변환하고 메모리 위치와 기타 존재물에 따라 식별자를 다시 분석함으로써 목적 코드를 만들어 낸다. 


$2. 거꾸로 기계어를 어셈블리어로 바꾸는 것은 disassembler 입니다. 고급 언어와는 달리 어셈블리어는 간단한 문장에 대해 기계어와 일대일 대응 관계가 있지만, 자주 쓰이는 몇 명령은 둘 이상의 기계어 명령을 묶어 하나의 어셈블리 명령어에 대응시키기도 합니다.




※ 80x86 시스템 CPU의 구조




※ 연산장치


-연산장치는 CPU의 핵심 부분 중 하나로, 산술과 논리 연산을 수행하는 연산 회로 집합


※ 연산 장치의 구성 요소




※ 제어장치


-제어 장치는 입력,출력,기억,연산 장치를 제어하고 감시, 주기억 장치에 저장된 명령을 차례로 해독하여 연산 장치를 보내어 처리


※ 제어 장치의 구성 요소




※ 레지스터


-처리 중인 데이터나 처리 결과를 임시 보관하는 CPU 내의 기억 장치


-연산 장치가 수행한 계산 결과의 임시 저장, 산술 및 논리 연산, 주소 색인 등의 목적으로 사용될 수 있는 레지스터 EAX, EBX, ECX, EDX 등



※ 세그먼트 (Segment)


-프로그램에 정의된 메모리상의 특정 영역으로 코드, 데이터, 스택 등을 포함한 것



※ 포인트 레지스터


-프로그램 실행 과정에서 사용되는 주요 메모리 주소값을 저장



※ 인덱스 레지스터


-데이터를 복사할 때 출발지와 목적지 주소를 가리키는 레지스터



※ 플래그 레지스터


-32비트로, 컴퓨터의 다양한 상태를 나타내는 비트







Comments