프로그래밍/어셈블리어

대표적인 어셈블리 명려

공부하는 뚱이 2023. 9. 5. 01:13
반응형

시스템 해킹을 하게 되면서 보게될 어셈블리 명령어(Instruction) 중에 많이 보게 되는 명령어를 정리해 보았다.

 

MOV:

MOV EAX, 100

EAX에 100을 넣으라는 뜻이다.

 

LEA:

LEA EAX, [EAX + 1000]은 EAX에 1000을 넣은 값을 다시 EAX에 삽입하라는 뜻이다.

이처럼 연산을 포함할 수 있다.

 

JMP: 

특정 위치로 건너 뛰어 코드를 실행한다. JMP CODE라고 하면 CODE의 위치로 뛰어서 코드가 실행된다. 

 

CALL:

함수를 호출했다가 다시 원래 위치로 돌아올 때 사용한다. JMP와 다른 점은 실행한 뒤에 끝나게 되면 RET에 저장하고 다시 원래 상태로 돌아온다는 것이다.

 

NOP: 

아무 작업도 하지 않는 명령어. 1Byte의 빈 공간을 차지한다.

 

RET:

현재 함수가 끝난 뒤에 돌아갈 주소를 지정하기 위해 사용한다.

 

PUSH:

스택에 해당 값을 넣는다.

 

POP:
스택에 있는 값을 빼낸다.

 

LEAVE:
현재까지의 메모리 스택을 비우고 EBP를 자신을 호출한 메모리 주소로 채운다. 실행 중인 함수를 종료하기 위해 정리하는 작업.

 

 

반응형