์ด์ ๋ธ๋ฆฌ์ด๋ฅผ ์ด์ฉํด์ ๋ณ ํผ๋ผ๋ฏธ๋๋ฅผ ๋ง๋ค์ด๋ณธ๋ค.
$nano pyramid.s
๋ณ ํผ๋ผ๋ฏธ๋๋ฅผ ๋ง๋ค ์์ค์ฝ๋ ํ์ผ์ ์์ฑํด์ค๋ค.
section .data
STAR db '*'
EMPTY db 0x0a
section .text
global _start
_start:
mov rax,1 ;WRITE ์์คํ
์ฝ ์ค์
mov rdi,1 ;๊ธฐ๋ณธ ์ถ๋ ฅ ๋ชจ๋
mov rdx,1 ;์ถ๋ ฅ ๊ธธ์ด ์ค์
mov r10,0 ;์ธ๋ฑ์ค (๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉ)์
mov r9,[rsp+16] ;์
๋ ฅ๋ ๋ฌธ์์ด ์ฐพ๊ธฐ
cmp r9,0 ;์
๋ ฅ์ด ์๋ ๊ฒฝ์ฐ
je _done ;ํ๋ก๊ทธ๋จ ์ข
๋ฃ
mov cl,[r9] ;์ค์ง ํ ๋ฐ์ดํธ๋ง cl์ ์ ์ฅ
movzx r9,cl ;๋ฌธ์ ํํ์ cl์ r9์ ์ ์ฅ
sub r9, 0x30 ;r9๊ฐ ์ธ๋ฑ์ค๊ฐ ๋จ
mov r8,r9
xor r9,r9
call _syscall ;์๋กญ๊ฒ ๋ง๋ค syscallํจ
0x0a์ ๊ฐ์ ๊ฒฝ์ฐ๋ ์ค ๋ฐ๊ฟ์ ๋ปํ๋ค.
์ด์ ๋ธ๋ฆฌ์ด์ ํ ์ค ์ฃผ์์ ;๋ฅผ ๋ถ์ธ๋ค.
0x30์ ๋ฌธ์ '0'์ ์๋ฏธํ๋ค.
7์ ์ ๋ ฅํ๊ฒ ๋๋ฉด 16์ง์๋ก 37๋ก ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์, ํญ์ 30์ ๋นผ์ค๋ค.
์ด๋ ๊ฒ ํด์ผ ๋ฌธ์์ด ํํ์์ ์ซ์ ํํ์ 7์ด ๋๋ค.
2023.01.17 - [ํ๋ก์ ํธ/์์คํ ํดํน] - [์์คํ ํดํน] ๋๋ฒ๊น
[์์คํ ํดํน] ๋๋ฒ๊น
https://youtu.be/SVw0VnG5UDM ์ ํ๋ธ๋ฅผ ๋ณด๋ฉด์ ๋๋ฒ๊น ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค. starce, pwndbg ํ์ฉ๋ฒ์ ์์๋ณด์. ๋๋ฒ๊น ์ ์ด๋ฏธ ๋ง๋ค์ด์ง ํ๋ก๊ทธ๋จ์ด ์์ ๋, ์ญ์ผ๋ก ์ถ์ ํด์ ์ด๋ป๊ฒ ํ๋ก๊ทธ๋จ์ด ๋์ํ๋
dangsdangs.tistory.com
'ํ๋ก์ ํธ > ์์คํ ํดํน' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์์คํ ํดํน] ์ ์ฝ๋ ์ ์ ๋ฐ ์ต์คํ๋ก์ ์ค์ต (0) | 2023.01.20 |
---|---|
[์์คํ ํดํน] ์ด์ ๋ธ๋ฆฌ์ด๋ก ๋ณ ํผ๋ผ๋ฏธ๋ ๋ง๋ค๊ธฐ (2) (0) | 2023.01.19 |
[์์คํ ํดํน] ๋๋ฒ๊น (0) | 2023.01.17 |
[์์คํ ํดํน] ์ด์ ๋ธ๋ฆฌ์ด๋ก ๋ฐ๋ณต๋ฌธ ๊ตฌํ (0) | 2023.01.16 |
[์์คํ ํดํน] ์ด์ ๋ธ๋ฆฌ์ด ๊ธฐ๋ณธ ๋ฌธ๋ฒ (0) | 2023.01.15 |