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

์ „์ฒด ๊ธ€27

Dreamhack ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œํ’€์ด: rev-basic-0 ๊นŒ๋ง‰๋ˆˆ์ด๋‹ค.ใ‚ท Dreamhack์—์„œ ํ‘ผ ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œ์˜ ํ’€์ด ๊ณผ์ •์„ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ํ‘ผ ๋ฌธ์ œ๋Š” ์›Œ๊ฒŒ์ž„์˜ rev-basic-0์ด๋‹ค. ๋ฌธ์ œ ์ •๋ณด ์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ผ correct ๋˜๋Š” wrong์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ correct๊ฐ€ ์ถœ๋ ฅ ๋˜๋Š” ์ž…๋ ฅ๊ฐ’์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ ํŒŒ์ผ์„ ๋‹ค์šด ๋ฐ›์•„ ์••์ถ• ํŒŒ์ผ์„ ํ•ด์ œํ•œ ๋’ค x64dbg์— ๋“ค์–ด๊ฐ€ ํŒŒ์ผ์„ ์—ด์—ˆ๋‹ค. x64dbg๋Š” https://x64dbg.com/์—์„œ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • x64dbg์—์„œ ์œ„์ชฝ ์ขŒ์ธก 'ํŒŒ์ผ(F)'์„ ๋ˆ„๋ฅด๊ณ  'ํŒŒ์ผ ์—ด๊ธฐ'๋ฅผ ํ•ด์„œ ์••์ถ•์„ ํ•ด์ œํ•œ ํŒŒ์ผ์„ ์˜คํ”ˆํ•œ๋‹ค. ํŒŒ์ผ์„ ์ฒ˜์Œ ์—ด๋ฉด ์œ„์™€ ๊ฐ™์€ ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋งค์šฐ ์งง์€ ์ฝ”๋“œ๋„ ์–ด์…ˆ๋ธ”๋ฆฌ์—์„œ๋Š” ์ˆ˜๋งŽ์€ ์ค„์˜ ์–ธ์–ด๋กœ ๋ฒˆ์—ญ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋งจ ์œ„์˜ ์ค„๋ถ€ํ„ฐ ํ•˜๋‚˜ํ•˜๋‚˜ ์‚ดํŽด๋ณผ ์ˆ˜๋Š” ์—†๋‹ค. ํšจ๊ณผ.. 2023. 8. 5.
๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง: ์–ด์…ˆ๋ธ”๋ฆฌ (ํ•จ์ˆ˜) ๊นŒ๋ง‰๋ˆˆ์ด๋‹ค.ใ‚ท์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋ฆฌ๋ฒ„์‹ฑ์— ํ•„์š”ํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ ๋‚ด์šฉ ์ค‘ ํ•จ์ˆ˜ ๋ถ€๋ถ„์„ ๋‹ค๋ฃจ๊ณ ์ž ํ•œ๋‹ค.'๊ฐ•๋ณ‘ํƒ, ใ€Ž๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐ”์ด๋ธ”ใ€, ์œ„ํ‚ค๋ถ์Šค, 2014, 1p-127p.'์„ ์ฐธ๊ณ ํ–ˆ๋‹ค. ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐํ•จ์ˆ˜์˜ ์‹œ์ž‘push ebpmov ebp, esp ebp๋Š” ์Šคํƒ ๋ฒ ์ด์Šค ํฌ์ธํ„ฐ๋‹ค.push ebp๋Š” ์ง€๊ธˆ๊นŒ์ง€์˜ ๋ฒ ์ด์Šค ์ฃผ์†Œ๋ฅผ ์Šคํƒ์— ๋ณด๊ด€ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค.์ด๋ ‡๊ฒŒ ๋ฒ ์ด์Šค ํฌ์ธํ„ฐ๋ฅผ ๋ฐฑ์—…ํ•œ ๋’ค, mov ebp, esp๋ฅผ ํ†ตํ•ด ์Šคํƒ ํฌ์ธํ„ฐ์ธ esp๋ฅผ ebp๋กœ ๋ฐ”๊พผ๋‹ค.์ƒˆ๋กœ์šด ํฌ์ธํ„ฐ๋ฅผ ๋ฒ ์ด์Šค๋กœ ์žก๋Š”๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. * ํ•จ์ˆ˜์˜ ์‹œ์ž‘๊ณผ ๋ ์ค‘๊ฐ„์— rsp๋กœ ํ• ๋‹น๋œ ๋ฐ”์ดํŠธ๋งŒํผ์˜ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•œ๋‹ค.ex:) 'sub rsp, 0x100' ํ•จ์ˆ˜์˜ ๋mov esp, ebppop ebpํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉํ•œ ์Šคํƒ ์œ„์น˜๋ฅผ ์›๋ž˜๋Œ€.. 2023. 8. 3.
๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง: ์–ด์…ˆ๋ธ”๋ฆฌ (๋ ˆ์ง€์Šคํ„ฐ, ์˜ต์ฝ”๋“œ) ๊นŒ๋ง‰๋ˆˆ์ด๋‹ค.ใ‚ท์ง€๊ธˆ๋ถ€ํ„ฐ ๋ณด์•ˆ ๊ด€๋ จ ๋™์•„๋ฆฌ ํ™œ๋™ ๋ฐ ์ฑ…์„ ํ†ตํ•ด ๋ฐฐ์šด ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๊ณต๋ถ€ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๊ณ ์ž ํ•œ๋‹ค.์˜ค๋Š˜์€ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์— ํ•„์š”ํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ ๊ด€๋ จ ์ง€์‹์„ ์ •๋ฆฌํ–ˆ๋‹ค.'๊ฐ•๋ณ‘ํƒ, ใ€Ž๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐ”์ด๋ธ”: ์ฝ”๋“œ ์žฌ์ฐฝ์กฐ์˜ ๋ฏธํ•™ใ€, ์œ„ํ‚ค๋ถ์Šค, 2014, 1p-127p.'์„ ์ฐธ๊ณ ํ–ˆ๋‹ค.๋‚ด์šฉ์€ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด ๊ตฌ์กฐ, ๋ ˆ์ง€์Šคํ„ฐ, ์˜ต์ฝ”๋“œ, ์Šคํƒ ์‚ฌ์šฉ ์‹œ ์ฝ”๋“œ ์ˆœ์„œ์ด๋‹ค. ์–ด์…ˆ๋ธ”๋ฆฌ์˜ ์–ธ์–ด ๊ตฌ์กฐ ์–ด์…ˆ๋ธ”๋ฆฌ๋Š” ํ•œ ๋ฒˆ์— ํ•œ ๊ฐ€์ง€ ๋™์ž‘๋ฐ–์— ํ•˜์ง€ ๋ชปํ•œ๋‹ค์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ์ธ IA-32์˜ ๊ธฐ๋ณธ ํ˜•ํƒœ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค."๋ช…๋ น์–ด(์˜ต์ฝ”๋“œ, opcode) + ์ธ์ž(์˜คํผ๋žœ๋“œ,operand)"์˜คํผ๋žœ๋“œ๊ฐ€ ๋‘ ๊ฐœ์ผ ๋•Œ ์•ž์˜ ์˜คํผ๋žœ๋“œ๋ฅผ destination(des), ๋’ค์˜ ์˜คํผ๋žœ๋“œ๋ฅผ source(src)๋กœ ๋ถ€๋ฅธ๋‹ค.  ๋ ˆ์ง€์Šคํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ๋ž€ ๋ฐ์ดํ„ฐ.. 2023. 8. 2.