어셈블리어

    [Dreamhack] x86 Assembly (1) 정리

    어셈블리 언어와 어셈블러가 있다. 어셈블러는 어셈블리어 코드를 컴퓨터가 이해할 수 있는 기계어로 코드를 치환해준다. 소프트웨어를 역분석 하기위해, 기계어를 어셈블리 언어로 번역하는 역어셈블러(Disassembler)를 개발했다. 어셈블리 언어는 아키텍처마다 여러 종류가 있다. x64 어셈블리 언어의 기본 구조 구조는 명령어 즉, Operation Code(Opcode)와 피연산자(Operand)로 구성 된다. mov eax, 3 mov는 opcode로 대입하라. eax와 3은 각각 operand1, operand2를 나타낸다. operand1에 operand2를 대입하라는 문장이다. 명령코드 데이터 이동(Data Transfer) mov, lea 산술 연산(Arithmetic) inc, dec, add,..