본문 바로가기

System & Reversing/이론

어셈블러, VM


도서 : x86 프로세서를 위한 어셈블리언어

 

복습 1


 1. 어셈블러 기본 개념


-어셈블러 : 어셈블리 언어 -> 기계어

-링커 : 기계어 파일들-> 하나의 실행파일

-디버거 : 프로그램 단계별 실행, 레지스터와 메모리 확인

 

-어셈블리 언어 : 기계어와1:1 대응 관계 / 이식성 x

cf>고급언어 : 기계어와1:다 관계 / 이식성 o

 

-마이크로소프트 매크로 어셈블러(MASM) : 인텔 문법을 사용하는MS-DOS 및 마이크로소프트 윈도우용x86 어셈블러

- MS-DOS : 마이크로소프트사가IBM사의 의뢰를 받아 시애틀 컴퓨터시스템사로부터 사들여 개발한IBM PC용 운영 체제

 

 

2. 가상 기계 (VM) 개념


- ex> 컴퓨터가 이해하기 쉬운 언어=L0 / 사용자가 사용하기 조금 더 쉬운 언어=L1,

 L1 프로그램(VM1) 실행->각 명령어 L0프로그램(VM2)으로 바꾸어 실행

 방법1 – 해독 : L1 각 명령어가 L0로 해독 / python 

 방법2 – 변환 : L1 프로그램 전체가 L0로 변환 / C / 한번에 처리하기 때문에 더 빠름

 

-VMn : 더 강력하고 사용하기 쉬운 언어를 지원하는 가상 기계

 

-JVM : 자바 프로그래밍 언어는 가상 기계 개념에 기반. 

 자바 언어로 작성된 프로그램 -> 자바 컴파일러 -> 자바 바이트 코드-> JVM -> 수행

 

-가상 기계 레벨





'System & Reversing > 이론' 카테고리의 다른 글

어셈블리어 2  (0) 2019.02.15
어셈블리어 1  (0) 2019.02.15
프로세서, 레지스터  (0) 2019.02.15