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

dreamhack1

Tool: gdb 1. ๋งฅ๋ฝ(context) ์ฃผ์š” ๋ฉ”๋ชจ๋ฆฌ๋“ค์˜ ์ƒํƒœ๋ฅผ ๊ฐ€๋…์„ฑ ์žˆ๊ฒŒ ๋ณด์—ฌ์ค€๋‹ค. ํฌ๊ฒŒ 4๊ฐœ ์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. 1. REGISTERS ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. 2. DISASM rip๋ถ€ํ„ฐ ๋””์Šค์–ด์…ˆ๋ธ”๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. 3. STACK rsp๋ถ€ํ„ฐ ์Šคํƒ์˜ ๊ฐ’๋“ค์„ ๋ณด์—ฌ์ค€๋‹ค. 4. BACKTRACE ํ˜„์žฌ rip์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ์–ด๋–ค ํ•จ์ˆ˜๋“ค์ด ์ค‘์ฒฉ๋˜์–ด ํ˜ธ์ถœ๋๋Š”์ง€ ๋ณด์—ฌ์ค€๋‹ค. 2. entry entry ์ง„์ž…์ ๋ถ€ํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. DISASM ์˜์—ญ์˜ ํ™”์‚ดํ‘œ(โ–บ)๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†Œ๋Š” ํ˜„์žฌ rip์˜ ๊ฐ’์ด๋‹ค. 3. break & continue / run / start break(b) ํŠน์ • ์ฃผ์†Œ์— ์ค‘๋‹จ์ (breakpoint)์„ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ continue(c) ์ค‘๋‹จ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ณ„์† ์‹คํ–‰์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ run(.. 2023. 7. 13.