๐ŸŒ‡โ”‚System_Study

๐ŸŒ‡โ”‚System_Study/๐Ÿ“•โ”‚Dreamhack_Hacking

Background: Library - Static Link vs. Dynamic Link

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๐Ÿ“š ์—ฌ๋Ÿฌ ์ปดํŒŒ์ผ ์–ธ์–ด๋“ค์€ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜๋“ค์˜ ์ •์˜๋ฅผ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ lib ํŒŒ์ผ๋กœ ์ƒ์„ฑ ์ด๋ฅผ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด ๊ณต์œ ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ™์€ ํ•จ์ˆ˜๋“ค ๋ฐ˜๋ณต์  ์ •์˜ ํ•„์š” X ์ฆ‰, ์ฝ”๋“œ ๊ฐœ๋ฐœ์˜ ํšจ์œจ์„ฑ์ด ํ–ฅ์ƒ๋˜๋Š” ์žฅ์ !! ๋˜ํ•œ ๊ฐ ์–ธ์–ด์— ๋ฒ”์šฉ์  ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜๋“ค์€ ํ‘œ์ค€ lib๊ฐ€ ์ œ์ž‘๋˜์–ด ๊ฐœ๋ฐœ์ž๋“ค์ด ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์ฃ  ๋Œ€ํ‘œ์ ์ธ C์˜ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ libc๋Š” ์šฐ๋ถ„ํˆฌ์— ๊ธฐ๋ณธ ํƒ‘์žฌ๋œ lib์ž…๋‹ˆ๋‹ค. ์‹ค์Šตํ™˜๊ฒฝ์—์„  /lib/x86_64-linux-gun/libc-2.27.so ๊ฐ€ ์žˆ์ฃ  ๊ทธ๋ฆฌ๊ณ  ๊ธฐํƒ€ ํ•จ์ˆ˜๋“ค์˜ ์‚ฌ์šฉ์— ์žˆ์–ด์„œ ์ •์˜ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋„ ์ด ์ด์œ  ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋งํฌ๐Ÿ–‡๏ธ ๋งํฌ(Link)๋Š” ๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ์ปดํŒŒ์ผ์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋กœ์จ.. ํ”„๋กœ๊ทธ๋žจ์—์„œ ์–ด๋–ค lib์˜..

๐ŸŒ‡โ”‚System_Study/๐Ÿ“•โ”‚Dreamhack_Hacking

Mitigation: NX & ASLR

์‹œ์Šคํ…œ ๋ณด์•ˆ์€ ์ง€๋‚œ ์ˆ˜๋…„๊ฐ„ ๋ฐœ์ „ํ•ด์˜จ ๊ณต๊ฒฉ ๊ธฐ๋ฒ•๊ณผ ๋ณดํ˜ธ ๊ธฐ๋ฒ•์˜ ๋ฐœ์ „ ์–‘์ƒ์„ ๋ณด์‹œ๋ฉด.. ์–ด๋–ค ๋ณดํ˜ธ ๊ธฐ๋ฒ•์ด ๋“ฑ์žฅํ•˜๋ฉด ์šฐํšŒ ๊ธฐ์ˆ ๋„ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.. ์ด๋ ‡๊ฒŒ ์–ด๋–ค ๊ณต๊ฒฉ์ด ์˜ฌ์ง€ ๋ชจ๋ฅด๊ธฐ์— ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์ž๋“ค์€ ์—ฌ๋Ÿฌ ๊ฒบ์˜ ๋ณดํ˜ธ ๊ธฐ๋ฒ•์„ ์ ์šฉํ•ด ์‹œ์Šคํ…œ์ด ๊ณต๊ฒฉ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œํ˜„ ์ž์ฒด↓ ์ด์ „์— ๊ธ€์„ ๋ณด์‹œ๋ฉด r2s๋ฅผ ํ†ตํ•œ ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ–ˆ๊ธฐ์— ๋” ์–ด๋ ต๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„  ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ž„์˜ ๋ฒ„ํผ ์ฃผ์†Œ ์•Œ๊ธฐ ํž˜๋“ค๊ฒŒ, ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋ถˆํ•„์š”ํ•œ ์‹คํ–‰ ๊ถŒํ•œ ์ œ๊ฑฐ Exploit Tech: Return to Shellcode dystopia050119.tistory.com ์ด์™€ ๊ด€๋ จ๋œ ๋ณดํ˜ธ๊ธฐ๋ฒ•์œผ๋กœ ์šฐ๋ฆฌ๋Š” ASLR๊ณผ NX๋ฅผ ๋ฐฐ์›Œ๋ณผ๊ป˜์š” ASLR Address Space Layout Randomization์˜ ์•ฝ์–ด ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ์Šคํƒ/ํž™/๊ณต์œ  l..

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

rev-basic-4

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

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

rev-basic-2

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

๐ŸŒ‡โ”‚System_Study/๐Ÿ“•โ”‚Dreamhack_Hacking

ssp_001

๋ฌธ์ œํ’€์ด ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ ๊ธฐ๋ฒ•์„ ๋จผ์ € ๋ณด์‹œ๋ฉด canary์ ์šฉ๊ณผ NX๊ฐ€ ์žˆ์ฃ  RELRO๋Š” ์ €๊ฒŒ ๋œ๊ฑด๊ฐ€? Relro๋Š” ๋‹ค์Œ์— ์ž์„ธํžˆ ์„œ์ˆ ํ•  ์‹œ๊ฐ„์ด ์˜ค๊ฒ ์ฃ  ๊ทธ๋Ÿฌ๋‹ˆ ์ด ๋‚ด์šฉ์€ ํŒจ์Šคํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ๋ญ๊ฐ€ ์ทจ์•ฝํ•œ ์ฝ”๋“œ์ธ์ง€ ์‹œํ์–ด ์ฝ”๋”ฉ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ง€์ ๊นŒ์ง€ ํ•ด๋ณผ๊นŒ์š” HTML ์‚ฝ์ž… ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค ์ด ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์ œ๋ชฉ๊ณผ ์ฃผ์ œ๊ฐ€ ์ฃผ์ œ์ด๋ฏ€๋กœ ๋‹น์—ฐํžˆ BOF๊ฐ€ ์ ์–ด๋„ ๋‘ ๋ฒˆ ๋‚˜์˜ค๊ฒ ์ฃ  ์ฝ”๋“œ๋ฅผ ๋ณด์‹œ๋ฉด... ์†”์งํžˆ ์ € case ๋ชจ๋‘ ์ทจ์•ฝํ•œ ์ฝ”๋“œ์ด๊ธด ํ•ด์š” ๋ญ๊ฐ€ ๋ฌธ์ œ์ธ์ง€ ํ•˜๋‚˜์”ฉ ์•Œ์•„๋ณผ๊นŒ์š” ์œ„ ์ฝ”๋“œ๋Š” BOF๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์ง€๋งŒ ์น˜๋ช…์ ์ธ ์ฝ”๋“œ ์‹คํ–‰๊นŒ์ง€๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ Canary๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ.. ์™œ๋ƒํ•˜๋ฉด Box์˜ ๋ณ€์ˆ˜๋ช…์ธ ๋ณ€์ˆ˜ ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 0x40์ด๋‹ˆ๊นŒ ๊ทธ ์ด์ƒ์œผ๋กœ ์ž…๋ ฅํ•˜์‹œ๋ฉด ๋˜๊ฒ ์ฃ  ๋‘ ๋ฒˆ์งธ ์ฝ”๋“œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅ๊ฐ’์˜ ์ธ์ž์˜ ๊ธธ์ด๋ฅผ..

๐ŸŒ‡โ”‚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) : ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค์ง€ ์•Š๊ณ  ๋ถ„..

Jastes
'๐ŸŒ‡โ”‚System_Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (7 Page)