์ค๋์ ์ด์ ๋ธ๋ฆฌ์ด ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ๊ณต๋ถํด๋ณธ๋ค.
MOV A, B : B์ ๊ฐ์ A์ ๋ฃ๋๋ค. ex) MOV EAX, 100 : EAX์ 100์ ๋ฃ๋๋ค.
LEA A, B : A์ ๊ฐ์ B์ ๊ฐ์ผ๋ก ๋ณต์ฌํ๋ค. ex)LEA EAX, [EAX+1000] : EAX์ 1000์ ๋ํ ๊ฐ์ ๋ค์ EAX์ ์ฝ์
MOV์ ๋ค๋ฅด๊ฒ ์ฐ์ฐ์ด ํฌํจ ๊ฐ๋ฅํ๋ค.
JMP A : A์ ์์น๋ก ๊ฑด๋ ๋ฐ์ด ์ฝ๋๋ฅผ ์คํํ๋ค.
JA, JB, JE ๋ฑ ์ ํ ์กฐ๊ฑด ๋ช ๋ น์ ์ด์ฉํด ๋น๊ต ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ ํํ ์ ์๋ค.
CALL: ํจ์ ํธ์ถ ํ ์๋ ์์น๋ก ๋์์ฌ ๋ ์ฌ์ฉํ๋ค.
JMP์ ๋ค๋ฅด๊ฒ ์คํ ๋ค ๋๋๋ฉด RET์ ๊ฐ์ ์ ์ฅํ๊ณ ๋ค์ ์๋ ์์น๋ก ๋์๊ฐ๋ค.
NOP : ์๋ฌด ์์ ๋ ํ์ง ์๋ ๋ช ๋ น์ด์ด๋ค.
RET: ํ์ฌ ํจ์๊ฐ ๋๋ ๋ค์ ๋์๊ฐ ์ฃผ์๋ฅผ ์ง์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
PUSH A : ์คํ์ A๊ฐ์ ๋ฃ๋๋ค.
POP : ์คํ์ ์๋ ๊ฐ์ ๋บ๋ค.
LEAVE : ํ์ฌ๊น์ง์ ๋ฉ๋ชจ๋ฆฌ ์คํ์ ๋น์ฐ๊ณ EBP๋ฅผ ์์ ์ ํธ์ถํ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ์ฑ์ด๋ค.
์ผ๋ฐ์ ์ผ๋ก startํจ์๊ฐ ๋๋ ๋ ๋ง์ด ์ฌ์ฉํ๋ค.

๋ ์ง์คํฐ๋ ๋นํธ๋ณ๋ก AX -> EAX -> RAX ๋ฑ์ผ๋ก ๋ฐ๋์ด์๋ค.
[์์คํ ํดํน] ์ด์ ๋ธ๋ฆฌ์ด ์์ฝ ํ๋ก๊ทธ๋จ ์์ฑ
https://youtu.be/Z3QuFbsnqMc ์ค๋๋ ์ ํ๋ธ๋ฅผ ๋ณด๋ฉด์ ๊ณต๋ถ๋ฅผ ํด๋ด ์๋ค! $nano echo.s ๋๋ ธ๋ฅผ ์ด์ฉํด ์ด์ ๋ธ๋ฆฌ์ด ์ ์ถ๋ ฅ์ ๋ค๋ฃจ๋ ์์ฝํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค. section .text global _start _start: xor rax, rax mov rbx, rax
dangsdangs.tistory.com
'ํ๋ก์ ํธ > ์์คํ ํดํน' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์์คํ ํดํน] ๋๋ฒ๊น (0) | 2023.01.17 |
|---|---|
| [์์คํ ํดํน] ์ด์ ๋ธ๋ฆฌ์ด๋ก ๋ฐ๋ณต๋ฌธ ๊ตฌํ (0) | 2023.01.16 |
| [์์คํ ํดํน] ์ด์ ๋ธ๋ฆฌ์ด ์์ฝ ํ๋ก๊ทธ๋จ ์์ฑ (1) | 2023.01.13 |
| [์์คํ ํดํน] ์คํ ํ๋ ์ (0) | 2023.01.12 |
| [์์คํ ํดํน] ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ (0) | 2023.01.11 |