๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing

๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing

rev-basic-4

๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.

๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing

rev-basic-2

๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.

๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing

rev-basic-0

ํŒŒ์ผ ์‹คํ–‰ ๋จผ์ € ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋–ค ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ์‹œ๋‹ค. ์ฐธ๊ณ ๋กœ ์œ„๊ฒŒ์ž„ ๋ฌธ์ œ์™€ ๊ฐ™์ด ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ(VM)์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด good! ๋งŒ์•ฝ ๋ฌธ์ œ ์ •๋ณด๋ฅผ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์˜ ๋™์ž‘ ๋ฐฉ์‹์ด ์˜ˆ์ƒ์ด ๊ฐ„๋‹ค๋ฉด ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ •์ ๋ถ„์„์„ ๋จผ์ € ์‹œ๋„๋„ ์ข‹์€ ๋ฐฉ๋ฒ• ์œˆ๋„์šฐ OS์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” Windows PowerShell์— ๋ฌธ์ œ ํŒŒ์ผ์„ ์‹คํ–‰ํ•œ ๋ชจ์Šต์„ ๋ณด์—ฌ์ฃผ์ž๋ฉด.. ๋ฌธ์ œ๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌธ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ  ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์˜ ์–ด๋–ค ๊ฒ€์ฆ๊ณผ์ •์„ ๊ฑฐ์ณ ์ž…๋ ฅํ•œ ๋ฌธ์ž์—ด์ด ๊ฒ€์ฆ์„ ํ†ต๊ณผํ–ˆ๋‹ค๋ฉด Correct, ํ†ต๊ณผ ๋ชปํ•˜๋ฉด Wrong์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฑธ ์œ ์ถ”๊ฐ€๋Šฅ ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฌธ์ œ์˜ ์ •๋‹ต(flag)์€ ๊ฒ€์ฆ๊ณผ์ •์„ ํ†ต๊ณผํ•˜์—ฌ Correct๊ฐ€ ์ถœ๋ ฅ๋˜๋„๋ก ํ•˜๋Š” ์ž…๋ ฅ๊ฐ’์ด ๋  ๊ฑฐ..

๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing

Exercise: Helloworld

๋ถ„์„(Export)! ์˜ˆ์ œ๋กœ HelloWorld.exe๋ฅผ ๋ถ„์„ํ•ด๋ณด๋Š” ์‹ค์Šต์„ ํ•ด๋ด…์‹œ๋‹ค. ์˜ˆ์ œ์—” 1์ดˆ๋ฅผ ๋Œ€๊ธฐ ํ›„ Hello, world!๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, ์˜ค๋ฅธ์ชฝ์—์„œ ๋‚ด๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ์ง์ ‘ ์ปดํŒŒ์ผํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ฝ”๋“œ๋„ ์นœ์ ˆํžˆ ์˜ฌ๋ ค์•ผ์ฃ  ์šฐ๋ฆฌ๋Š” ์ด ์ฝ”๋“œ์— ๋Œ€ํ•˜์—ฌ ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅธ๋‹จ ์ „์žฌํ•˜์— ์ง„ํ–‰ํ•ด์•ผ ๋ฆฌ๋ฒ„์‹ฑ์ด๊ฒ ์ฃ  ์ž ๊ทธ๋Ÿผ ํ•œ๋ฒˆ ๋ฐ‘์— exe ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ฑฐ๋‚˜ ์ปดํŒŒ์ผ ํ•˜์…”์„œ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค ์ฐธ๊ณ ๋กœ ์ „ IDA ์“ธ๊ฑฐ์˜ˆ์š” /* File: hello-world.cpp Build opts: - /MT -> Library Static Linking - /DYNAMICBASE:NO -> Disable ASLR - /od -> Disable Optimization */ #include #include ch..

๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing

x86 Assembly

x86 Assembly๐Ÿค–: Essential Part x86 Assembly: Essential Part ํ•ด์ปค์˜ ์–ธ์–ด: ์–ด์…ˆ๋ธ”๋ฆฌ๐Ÿ’ฌ PC์—์„œ ๋ณต์žกํ•œ ๋…ผ๋ฆฌ์  ์ธ๊ณผ๊ด€๊ณ„, ์—ฌ๋Ÿฌ ๊ฐœ์ฒด๊ฐ€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ ๊ทธ ์„ธ๊ณ„์—์„œ ํ†ต์šฉ๋˜๋Š” ๊ธฐ๊ณ„์–ด(Machine Code)์–ธ์–ด ํ•ต์‹ฌ! ์‹œ์Šคํ…œ ํ•ดํ‚น์„ ํ•  ๋•Œ๋Š” ์ปดํ“จํ„ฐ ์–ธ์–ด, ์šด์˜์ฒด์ œ, ๋„คํŠธ์›Œ dystopia050119.tistory.com Quiz: x86 Assembly Quiz: x86 Assembly dystopia050119.tistory.com ๊ธฐ์กด์— ์ •๋ฆฌ๋œ ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋„ค์š”.. ์‹œ์Šคํ…œ์„ ํ•˜๊ธฐ์ „์— ์ด ์ปค๋ฆฌํ˜๋Ÿผ์„ ๋จผ์ €ํ• ๊ฑธ.. ใ…  ์ œ๊ฐ€ ์ด ๋ธ”๋กœ๊ทธ๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ์—ฌ๋Ÿฌ ์ด์œ ๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ ์ค‘์— ํ•˜๋‚˜๊ฐ€ ํฌํด์šฉ์ด๋ผ์„œ ์ด๋ฒˆ๋งŒ ๋‚ ๋จนํ• ๊ป˜์š” ํ—ท ์ฐธ๊ณ  ์ž๋ฃŒ x86 Assembly๐Ÿค–: Essential ..

๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing

Computer Science

Computer Architecture Computer Architecture 1. ์ปดํ“จํ„ฐ ๊ตฌ์กฐ(Computer Architecture) ์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ๋Š” PC์„ค๊ณ„๋ฅผ ์—ฌ๋Ÿฌ ํ•˜๋“œ์›จ์–ด๊ฐ€ ๊ฐœ๋ฐœ๋˜๊ณ , ์ด๋“ค์„ ์กฐ๋ฆฝํ•ด์„œ ์ปดํ“จํ„ฐ๊ฐ€ ์™„์„ฑํ•œ ๊ฒƒ์ด ์ปดํ“จํ„ฐ ๊ตฌ์กฐ! ๋”๋ณด๊ธฐ ๐Ÿ“œ๊ฐœ์š”๐Ÿ“œ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ(Computer Architecture) dystopia050119.tistory.com ํ€ด์ฆˆ๋Š” ๋”ฑํžˆ ์„ค๋ช… ์•ˆ ํ• ๊ป˜์š” ์ €๊ฑฐ ๋ดค์œผ๋ฉด ์ง„์งœ๋กœ ๊ธฐ์ดˆ๋‹ˆ๊นŒ ์–ด์งœํ”ผ ๋ชจ๋ฅด์‹œ๋ฉด ๋‹ค์‹œ ๋ฐฐ์›Œ์•ผํ•ด์š” Background: Windows Memory Layout ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ(Memory Layout) : ํ”„๋กœ์„ธ์Šค ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)์˜ ๊ตฌ์„ฑ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด OS๋Š” ํ”„๋กœ์„ธ์Šค์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋ฉฐ, CS์—์„  ์ด ๊ณต๊ฐ„์„ ..

๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing

Background: Static Analysis vs. Dynamic Analysis

๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง ์ •์  ๋ถ„์„(Static)๊ณผ ๋™์  ๋ถ„์„(Dynamic) ๊ตฌ๋ถ„ ์ •์  ๋ถ„์„ : ์™ธ์ ์ธ ๊ด€์ฐฐ๋งŒ์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ์ทจ๋“ ๋™์  ๋ถ„์„ : ์‹คํ–‰์„ ํ†ตํ•ด ๋™์ž‘์„ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ! ๋Œ€๊ฒŒ ์ •์ ์ธ ๋ฐฉ๋ฒ•๊ณผ ๋™์ ์ธ ๋ฐฉ๋ฒ•์„ ์ ์ ˆํžˆ ํ˜ผ์šฉํ•˜๋ฉด ๋Œ€์ƒ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ถ„์„ ๊ฐ€๋Šฅ! ๋™์ ์ธ ๋ฐฉ๋ฒ•๋งŒ์„ ๊ณ ์ˆ˜ํ•˜๋ฉด ํฐ ๊ตฌ์กฐ๋ฅผ ๋†“์น  ์ˆ˜ ์žˆ๊ณ , ๋ฐ˜๋Œ€๋กœ ์ •์ ๋งŒ ๊ณ ์ˆ˜ํ•˜๋ฉด ์‹คํ–‰์„ ํ†ตํ•ด ์ง๊ด€์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„ ๋ถ„์„ํ•˜๋Š๋ผ ์‹œ๊ฐ„์„ ํ—ˆ๋น„ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†ํ›„ํ•˜์ฃ .. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์ •์  ๋ถ„์„๊ณผ ๋™์  ๋ถ„์„ ์ค‘ ํ•œ ๋ฐฉ๋ฒ•๋งŒ์„ ๊ณ ์ˆ˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ.. ์–ด๋–ค ์ƒํ™ฉ์— ์–ด๋–ค ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ๊ฒƒ์ด๋ƒ๊ฐ€ ์‹ค๋ ฅ์„ ์ขŒ์šฐํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ฃ  ์ •์  ๋ถ„์„(Static Analysis)๐Ÿ” ์ •์  ๋ถ„์„(Static Analysis) : ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค์ง€ ์•Š๊ณ  ๋ถ„..

๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing

Background: Binary

Program ์—ฐ์‚ฐ์žฅ์น˜๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์ž‘์„ ์ •์˜ํ•œ ์ผ์ข…์˜ ๋ฌธ์„œ! ์—ฐ์‚ฐ ์žฅ์น˜์— ์ „๋‹ฌํ•˜๋ฉด, CPU๋Š” ์ ํ˜€์žˆ๋Š” ๋ช…๋ น๋“ค์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์˜๋„ํ•œ ๋™์ž‘ ์ˆ˜ํ–‰ ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ํ•ด์„ํ•˜์—ฌ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ ์žฅ์น˜(programmable) ํ˜„๋Œ€ PC๋Š” ๋Œ€ํ‘œ์  programmable ์—ฐ์‚ฐ์žฅ์น˜, ์ผ๋ฐ˜๊ณ„์‚ฐ๊ธฐ๋Š” ๋Œ€ํ‘œ์ ์ธ non-programmable ์šด์˜์ฒด์ œ ๋ฐœ์ „๊ณผ์ • ์šด์˜์ฒด์ œ์˜ ๊ธฐ์ˆ  ๋ฐœ์ „ ๊ณผ์ • ์ผ๊ด„์ฒ˜๋ฆฌ/ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ/ ์‹œ๋ถ„ํ™œ/ ๋‹ค์ค‘ ์ฒ˜๋ฆฌ/ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์šด์˜์ฒด์ œ์˜ ๋ฐœ์ „ ๊ณผ์ • 1์„ธ๋Œ€ ์ผ๊ด„์ฒ˜๋ฆฌ 2์„ธ๋Œ€ ์‹œ๋ถ„ํ™œ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ/ ์ฒ˜๋ฆฌ ์‹ค์‹œ๊ฐ„ 3์„ธ๋Œ€ ๋‹ค์ค‘ ๋ชจ๋“œ 4์„ธ๋Œ€ dystopia050119.tistory.com ์ž์„ธํ•œ ์—ญ์‚ฌ๋Š” ์œ„ ๋งํฌ๋ฅผ ๋ณด์‹œ๋ฉด ๋˜์š”, ๋‹ค ์„ค๋ช…ํ•˜๊ธฐ ํž˜๋“œ๋‹ˆ๊นŒ ใ…  ๋˜ํ•œ ๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ ํ”„๋กœ๊ทธ๋žจ..

Jastes
'๐ŸŒ‡โ”‚System_Study/๐Ÿ“—โ”‚Dreamhack_Reversing' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก