프로그래밍/어셈블리어
대표적인 어셈블리 명려
공부하는 뚱이
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를 자신을 호출한 메모리 주소로 채운다. 실행 중인 함수를 종료하기 위해 정리하는 작업.
반응형