๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„๋กœ์ ํŠธ/์‹œ์Šคํ…œ ํ•ดํ‚น

[์‹œ์Šคํ…œ ํ•ดํ‚น] ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ Hello World ์ถœ๋ ฅ

728x90

 

https://youtu.be/uOIq-P2eQXs

 

์˜ค๋Š˜์€ ์œ ํŠœ๋ธŒ๋ฅผ ๋”ฐ๋ผ์„œ Hello World๋ฅผ ์ถœ๋ ฅํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.


๋จผ์ € cmd ์ฐฝ์„ ์—ด์–ด์ค€๋‹ค.

$nano helloworld.s

๊ทธ ํ›„ ์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค.

nano๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋Œ€ํ‘œ์ ์ธ ์—๋””ํ„ฐ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

๋ฉ”๋ชจ์žฅ๊ณผ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

.s๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ ์†Œ์Šค์ฝ”๋“œ ํŒŒ์ผ ์ƒ์„ฑ์„ ๋œปํ•œ๋‹ค.

๋ช…๋ น์–ด ์‹คํ–‰์„ ํ•˜๋ฉด ์œ„์™€ ๊ฐ™์€ ์ฐฝ์ด ์ถœ๋ ฅ๋œ๋‹ค.

section .data
        msg db "Hello World"

๋ฅผ ๋จผ์ € ์ž…๋ ฅํ•ด์ค€๋‹ค.

.data์™€ ๊ฐ™์€ ๊ฒƒ์€ ํ”ํžˆ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž์—ด๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์„ ๋œปํ•œ๋‹ค.

section .text
        global _start

.text๋Š” ์œ„์—์„œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ฝ์–ด๊ฐ€๋ฉฐ ๋‚ด๋ ค๊ฐ€๋Š” ์†Œ์Šค์ฝ”๋“œ ์ž์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

_start:๋Š” ํ•จ์ˆ˜ ์ด๋ฆ„์„ ๋œปํ•˜๋ฉฐ

C์–ธ์–ด์˜ mainํ•จ์ˆ˜๋ณด๋‹ค ๋” ๋จผ์ € ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

_start:
        mov rax,1
        mov rdi, 1
        mov rsi,msg
        mov rdx, 12
        syscall 
        mov rax,60
        mov rdi,0
        syscall

mov๋Š” ๋ ˆ์ง€์Šคํ„ฐ ์•ˆ์— ํŠน์ • ๊ฐ’์„ ๋„ฃ๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

rax๋ผ๋Š” ๋ ˆ์ง€์Šคํ„ฐ ์•ˆ์— 1์ด๋ผ๋Š” ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

๋ ˆ์ง€์Šคํ„ฐ๋Š” 64๋น„ํŠธ ์ฒด์ œ์—์„œ ๋‹ค์–‘ํžˆ ์กด์žฌํ•˜๊ฒŒ ๋˜์ง€๋งŒ ์‚ฌ์šฉ๋˜๋Š” ์šฉ๋„๊ฐ€ ๋‹ค ๋‹ค๋ฅด๋‹ค.


์œ„์™€ ๊ฐ™์ด ๋‹ค ์ž…๋ ฅํ•˜๋ฉด Ctrl+X๋ฅผ ๋ˆŒ๋Ÿฌ Y๋ฅผ ๋ˆŒ๋Ÿฌ ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋‚˜์˜จ๋‹ค.

cat helloworld.s

์†Œ์Šค์ฝ”๋“œ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” cat๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

$ nasm -f elf64 -o helloworld.o helloworld.s
$ ld -o helloworld helloworld.o

์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ์ฝ”๋“œ๋ฅผ ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

๋ชฉ์ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„, ์‹ค์ œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

๊ทธ ํ›„ ls๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ™•์ธํ•˜๋ฉด helloworld๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

$./helloworld

์ด๋ฅผ ํ†ตํ•ด Hello World๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

2023.01.08 - [ํ”„๋กœ์ ํŠธ/์‹œ์Šคํ…œ ํ•ดํ‚น] - [์‹œ์Šคํ…œ ํ•ดํ‚น] kali Linux ํ•œ๊ธ€ ์„ค์ •

 

[์‹œ์Šคํ…œ ํ•ดํ‚น] kali Linux ํ•œ๊ธ€ ์„ค์ •

ํ„ฐ๋ฏธ๋„์„ ๋ˆŒ๋Ÿฌ ํ•œ๊ธ€์„ ์„ค์น˜ํ•ด๋ณด์ž. $sudo passwd ํ•ด๋‹น ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•œ๋‹ค. ํ•œ๊ธ€์ด ๊นจ์ง„ ์ƒํƒœ๋ผ ์•Œ์ˆ˜์—†์ง€๋งŒ ์ด 3๋ฒˆ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. $su ๊ทธ ํ›„ su ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•˜์—ฌ root

dangsdangs.tistory.com