λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

ν”„λ‘œμ νŠΈ/μ‹œμŠ€ν…œ ν•΄ν‚Ή

[μ‹œμŠ€ν…œ ν•΄ν‚Ή] λ©”λͺ¨λ¦¬ ꡬ쑰

728x90

 

https://youtu.be/TxWOaKE5w_s

μ˜€λŠ˜λ„ ν•΄λ‹Ή 유튜브λ₯Ό λ³΄λ©΄μ„œ 곡뢀해보렀고 ν•œλ‹€!

 

사싀 전곡 μ±… 쀑에 ν•˜ν•„ μ–΄μ…ˆλΈ”λ¦¬μ–΄λ§Œ ν•„μš”μ—†μ„ 것 κ°™μ•„μ„œ λ²„λ ΈλŠ”λ°

μ§€κΈˆμ€ μ—„μ²­ ν›„νšŒκ°€ 되고 μžˆλ‹€! ν•˜μ§€λ§Œ μΈν„°λ„·μœΌλ‘œ κ°•μ˜ λ³Ό 수 μžˆμœΌλ‹ˆ.. 닀행이닀.


직접 κ·Έλ ΈμŠ΅λ‹ˆλ‹€..

0λΆ€ν„° μ‹œμž‘ν•΄μ„œ 2^32-1 κΉŒμ§€ μ˜μ—­μ΄ λ‚˜λ‰œλ‹€.

μ΄λŠ” 32λΉ„νŠΈ 운영체제λ₯Ό λœ»ν•œλ‹€.

 

μŠ€νƒμ€ ν›„μž…μ„ μΆœ(LIFO)둜, λ‚˜μ€‘μ— λ“€μ–΄κ°„ 것이 λ¨Όμ € λ‚˜μ˜¨λ‹€.

ν•¨μˆ˜λ₯Ό 호좜 ν•  λ•Œ λ§ˆλ‹€ μŠ€νƒμ— 정보가 μŒ“μ΄κ²Œ λœλ‹€.

μŠ€νƒμ—λŠ” ν•¨μˆ˜μ— λŒ€ν•œ 정보λ₯Ό ν¬ν•¨ν•˜κ³ , μ§€μ—­λ³€μˆ˜λ₯Ό ν¬ν•¨ν•˜κ²Œ λœλ‹€.

예λ₯Ό λ“€μ–΄

int sum (a,b){
	return a+b;
}

μ΄λŸ¬ν•œ ν•¨μˆ˜μ—μ„œ a,bλŠ” sumν•¨μˆ˜ μ•ˆμ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” λ§€κ°œλ³€μˆ˜μ΄λ―€λ‘œ 이λ₯Ό

μŠ€νƒμ— μ €μž₯ν•˜κ²Œ λœλ‹€.

μŠ€νƒμ—λŠ” μ •λ³΄λ³΄μ•ˆκΈ°μ‚¬μ— λ‚˜μ™”λ“― 버퍼 μ˜€λ²„ν”Œλ‘œμš°μ™€ 같은 취약점이 λ°œμƒν•  수 μžˆλ‹€.


νž™μ€ λ™μ μœΌλ‘œ ν• λ‹Ήλ˜λŠ” λ³€μˆ˜λ“€μ˜ 데이터듀이 μœ„μΉ˜ν•œλ‹€.

예λ₯Ό λ“€μ–΄ Cμ–Έμ–΄μ˜ malloc()κ³Ό 같은 λ³€μˆ˜μ΄λ‹€.


BSSλŠ” ν”„λ‘œκ·Έλž¨μ—μ„œ μ‚¬μš©λ  λ³€μˆ˜λ“€μ΄

μ‹€μ œλ‘œ μœ„μΉ˜ν•˜λŠ” μ˜μ—­μ΄λ‹€.

아직 μ΄ˆκΈ°ν™”κ°€ 이루어지지 μ•Šμ€ (uninitialized) λ³€μˆ˜λ₯Ό λœ»ν•œλ‹€.


DataλŠ” μ΄ˆκΈ°ν™”κ°€ 이루어진 (initialized) λ³€μˆ˜λ₯Ό λœ»ν•œλ‹€.


Textμ˜μ—­μ€ μ‹€μ œλ‘œ μž‘μ„±ν•œ μ†ŒμŠ€μ½”λ“œκ°€ λ“€μ–΄κ°€λŠ” μ˜μ—­μ„ λœ»ν•œλ‹€.


section .data
        msg db "Hello World"

section .text
        global_start

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

ν•΄λ‹Ή μ½”λ“œμ—μ„œ dataμ˜μ—­κ³Ό textμ˜μ—­μ„ κ΅¬λΆ„ν–ˆμ—ˆλ‹€.

 

2023.01.10 - [ν”„λ‘œμ νŠΈ/μ‹œμŠ€ν…œ ν•΄ν‚Ή] - [μ‹œμŠ€ν…œ ν•΄ν‚Ή] λ ˆμ§€μŠ€ν„° μš©λ„μ™€ μ‹œμŠ€ν…œ 콜

 

[μ‹œμŠ€ν…œ ν•΄ν‚Ή] λ ˆμ§€μŠ€ν„° μš©λ„μ™€ μ‹œμŠ€ν…œ 콜

https://youtu.be/PsXXjNL_ogc μ˜€λŠ˜μ€ ν•΄λ‹Ή 유튜브λ₯Ό 보며 λ ˆμ§€μŠ€ν„° μš©λ„μ™€ μ‹œμŠ€ν…œ μ½œμ„ 배우렀고 ν•œλ‹€. dataμ˜μ—­κ³Ό textμ˜μ—­μœΌλ‘œ λ‚˜λˆ„μ–΄ data μ˜μ—­μ—λŠ” Hello WorldλΌλŠ” λ¬Έμžμ—΄μ„ λ‹΄λŠ” msgλΌλŠ” λ³€μˆ˜λ₯Ό λ§Œλ“€μ—ˆλ‹€

dangsdangs.tistory.com