์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

์ดํ•ดํ•˜๋ฉด ์ธ์ƒ์ด ๋ฐ”๋€Œ๋Š” Windows API hook

ํŠน์ • ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ์ข… API ํ•จ์ˆ˜๋“ค์„ ํ˜ธ์ถœํ•˜๋Š” ๊ณผ์ •์„ ๊ฐ€๋กœ์ฑ„๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ ๋ณด์•ˆ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์„ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค. โ€ป์ ˆ๋Œ€ ์•…์šฉ๊ธˆ์ง€!!!

(4.8) ์ˆ˜๊ฐ•ํ‰ 37๊ฐœ

์ˆ˜๊ฐ•์ƒ 531๋ช…

๋‚œ์ด๋„ ์ค‘๊ธ‰์ด์ƒ

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

4.8

5.0

sunny75

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

(25/06/29/์ผ 08:51) ๊ฐ•์˜๋ฅผ ๋“ค์–ด์„œ, hook ์„ ์ดํ•ด ํ–ˆ์Šต๋‹ˆ๋‹ค. printf("Hello world"); ๋ฅผ ์ง€๊ธˆ๊นŒ์ง€ ๊ฐ„๋‹จํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์•„์ฃผ ๋ณต์žกํ•œ ๊ฒƒ์ด ์—ˆ๊ตฐ์š”. ์ข‹์€ ๊ฐ•์˜ ๋งŒ๋“ค์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

5.0

์„ธ์—๋ฐ”

96% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๊ฐ•์˜๋ฅผ ์ •๋ง ์ž˜ํ•˜์‹œ๋„ค์š”. ์ „๋‹ฌ๋ ฅ์ด ์ข‹์•„์š”.

5.0

jeonsh95

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๊น”๋”ํ•˜๊ณ  ์ข‹์Šต๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • Windows API ํ˜ธ์ถœ์„ ๊ฐ€๋กœ์ฑ„๋Š” ๋ฐฉ๋ฒ•

  • 64bit ๊ธฐ๋ฐ˜ IAT hook, Inline hook

  • ๊ฐ„๋‹จํ•œ ๋ณด์•ˆ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์•…์„ฑ ์ฝ”๋“œ๋ฅผ ์ œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

์–‘๋‚ ์˜ ๊ฒ€, ๋ณด์•ˆ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž์™€ ์•…์„ฑ์ฝ”๋“œ ๊ฐœ๋ฐœ์ž ๋ชจ๋‘์˜ ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค!

"๋ณด์•ˆ๊ธฐ์ˆ ๊ณผ ํ•ดํ‚น๊ธฐ์ˆ ์€ ์ •๋ง ์ข…์ด ํ•œ ์žฅ ์ฐจ์ด๋ผ ํ•  ๋งŒํผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค."

์ด ๊ฐ•์˜๋Š” Windows API hook ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ๊ฐ•์˜๋กœ ๋ณด์•ˆ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์—๊ฒŒ ๋„์›€์„ ๋“œ๋ฆฌ๊ณ ์ž ๋งŒ๋“ค์–ด์ง„ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ์ด API hook ๊ธฐ์ˆ ์€ ์˜ค๋ž˜ ์ „๋ถ€ํ„ฐ ์‚ฌ์šฉ๋˜์–ด์˜จ ๊ธฐ์ˆ ๋กœ ์ข‹์€ ์˜๋„๊ณผ ๊ทธ๋ ‡์ง€ ๋ชปํ•œ ์˜๋„ ์–‘์ชฝ ๋ชจ๋‘๊ฐ€ ํ™œ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. โ€ป์•…์šฉ๊ธˆ์ง€

โ€ป์ฃผ์˜, ์ด ๊ฐ•์˜์— ์‚ฌ์šฉ๋œ ์˜ˆ์ œ ์ผ๋ถ€๋Š” ์œˆ๋„์šฐ ๋””ํŽœ๋”๊ฐ€ ์•…์„ฑ์ฝ”๋“œ๋กœ ์ธ์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ด์š”

๋ณด์•ˆ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€
๋˜๊ณ  ์‹ถ์€ ๋ถ„

ํŠนํžˆ PC์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฐ์ข… ๋ณด์•ˆ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹ถ์€ ๋ถ„๋“ค์— API hook ๊ธฐ์ˆ ์€ ๋ฐ˜๋“œ์‹œ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•  ๊ธฐ๋ฒ•์ด๋ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ˆ˜์—…์„ ํ†ตํ•ด ๊ผญ ์•Œ์•„์•ผ ํ•  ํ•ต์‹ฌ๋งŒ ์ œ๋Œ€๋กœ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ๋ฒ„์‹ฑ ๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๊ธฐ์— ์•ž์„œ
๊ณ ๊ธ‰ ์ด๋ก ์„ ๋ฏธ๋ฆฌ ๊ณต๋ถ€๋ ค๋Š” ๋ถ„

ํ•จ์ˆ˜์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ์ˆ˜์ค€์—์„œ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ๊ณ ๊ธ‰์–ด์—์„œ ๋ณผ ์ˆ˜ ์—†์—ˆ๋˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ 'ํ•จ์ˆ˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€?'์— ๋Œ€ํ•œ ๊ณ ์ˆ˜์ค€ ์ดํ•ด์™€ ํ•ด๋‹ต์„ ์Šค์Šค๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•…์„ฑ์ฝ”๋“œ์˜ ์ž‘๋™ ์›๋ฆฌ๋ฅผ
์•Œ๊ณ  ์‹ถ์€ ๋ถ„

์•…์„ฑ์ฝ”๋“œ๊ฐ€ ์ •์ƒ ํ”„๋กœ๊ทธ๋žจ์— ์ฃผ์ž…๋˜๊ณ  ์‹คํ–‰๋˜๋Š” ๊ณผ์ •์„ ์ผ๋ถ€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋งŽ์€ ๋ณด์•ˆ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋น„์Šทํ•œ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ฐ•์˜๋Š” ์•…์„ฑ์ฝ”๋“œ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ํ›„์—๋Š”

  • 'ํ•จ์ˆ˜'์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ์ฐจ์›์˜ ์ดํ•ด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ์ด ๊ฐ•์˜๋ฅผ ๋์œผ๋กœ ํ•จ์ˆ˜์— ๊ด€ํ•œ ๋‚ด ์ดํ•ด๋Š” ์™„์„ฑ๋‹จ๊ณ„์— ๋Œ์ž… ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ €์ˆ˜์ค€์œผ๋กœ ๋‚ด๋ ค๊ฐ€์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ณ ์ˆ˜์ค€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์„ธ๊ณ„์—์„œ๋Š” ์ ˆ๋Œ€๋กœ ์•Œ ์ˆ˜ ์—†์—ˆ๋˜ ์ƒˆ๋กœ์šด ์„ธ์ƒ์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


  • C/C++๋กœ ๊ฐœ๋ฐœ๋œ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰ ๋˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ ์ข…๋ฃŒํ•˜์ง€ ์•Š๊ณ  ํŠน์ • ํ•จ์ˆ˜์˜ ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜์˜ ํŠน์ง•

์ดํ•ดํ•˜๋ฉด ์ธ์ƒ์ด ๋ฐ”๋€Œ๋Š” Windows API hook

Inline hook์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๊ธฐ๋ฒ•์„ ์ œ๊ณต

Inline hook ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๋Š” ์•Œ๋ ค์ง„ ๊ธฐ๋ฒ•๋“ค์„ ๋Œ€๋ถ€๋ถ„ ๋‹ค๋ฃฐ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•ด ๋ณด๋‹ค ์•ˆ์ •์ ์ธ hook ๊ธฐ์ˆ  ๊ตฌํ˜„์ด ๊ฐ€๋Šฅ ํ•˜๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ ์†Œํ”„ํŠธ์›จ์–ด์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฝ์šฐ๋ผ๋ฉด ์•ˆ์ •์„ฑ์€ ํ•„์ˆ˜ ์ž…๋‹ˆ๋‹ค.

์ž‘๋™ ์›๋ฆฌ๋ฅผ ์ดํ•ด์‹œ์ผœ์ฃผ๋Š” ๊ฐ•์˜

API hook ๊ธฐ์ˆ ์€ ๊ทธ ์ž์ฒด๊ฐ€ ์ด๋ฏธ ๋†’์€ ๋‚œ์ด๋„๋ฅผ ์ž๋ž‘ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒฝํ—˜ ๋งŽ์€ C/C++ ๊ฐœ๋ฐœ์ž๋ผ ํ•˜๋”๋ผ๋„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ์‹ค ์›๋ฆฌ๋งŒ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๋ฉด ์ฝ”๋“œ ์ž์ฒด๋Š” ๋ณ„๊ฒƒ ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ์ด์œ ๋กœ ์›๋ฆฌ์— ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๊ฒ€์ฆ๋œ ์ฝ”๋“œ๋ฅผ ์˜ˆ์ œ๋กœ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์š”

PEํŒŒ์ผ ๊ตฌ์กฐ ์†Œ๊ฐœ IAT hook

์œˆ๋„์šฐ OS ํ™˜๊ฒฝ ์‹คํ–‰ ํŒŒ์ผ(.exe, .dll)์˜ ํ˜•์‹์ธ PEํ˜•์‹์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์†Œ๊ฐœํ•˜๊ณ  ๊ทธ ์ค‘ IAT(Import Address Table)์„ ์กฐ์ž‘ํ•ด ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ๊ฐ€๋กœ์ฑ„๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ PEํ˜•์‹ ๋ฐ ๊ด€๋ จ ์ด๋ก ์„ ๊นŠ๊ฒŒ ์„ค๋ช…ํ•˜๊ธฐ ๋ณด๋‹ค Hook ๊ธฐ์ˆ  ๊ตฌํ˜„์— ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์ด๋ก ๋งŒ ๋‹ค๋ฃจ๋ฉฐ ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ˜ธ์ถœ์„ ๊ฐ€๋กœ์ฑ„๋Š” ๊ฒฐ๊ณผ์— ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค.

Inline hook

ํ˜ธ์ถœ์„ ๊ฐ€๋กœ์ฑ„๊ณ  ์‹ถ์€ ๋Œ€์ƒ ํ•จ์ˆ˜์˜ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ Hook ๋Œ€์ƒ์˜ ์•ˆ์ •์„ฑ์ด ๊ธ‰๊ฒฉํžˆ ๋–จ์–ด ์งˆ ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ๋Ÿฐ ๋ฌธ์ œ๋ฅผ ์ตœ์†Œํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ํ•จ๊ป˜ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ธํ„ฐ๋„ท์— ๊ณต๊ฐœ๋œ ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฃŒ๊ฐ€ x86 ํ™˜๊ฒฝ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๋ฏธ ๋Œ€๋ถ€๋ถ„์˜ ์‹œ์Šคํ…œ์ด 64bit ํ™˜๊ฒฝ์ž„์„ ๊ณ ๋ คํ•ด x64 ํ”Œ๋žซํผ์—์„œ Inline hook์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๊ถ๊ธˆํ•œ ์ ์ด ์žˆ๋‚˜์š”?

Q. ์•ˆ๋žฉ๊ฐ™์€ ํšŒ์‚ฌ์— ์ทจ์—…ํ•˜๊ณ  ์‹ถ์€ ํ•™์ƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๊ฐ€ ๋„์›€์ด ๋ ๊นŒ์š”?

๋ถ„์•ผ์— ๋”ฐ๋ผ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ PC์ˆ˜์ค€ ๋ณด์•ˆ์„ ๋‹ค๋ฃจ๋Š” ํŒŒํŠธ๋กœ ์ทจ์—…์„ ํฌ๋งํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด ์ด ๊ฐ•์˜์—์„œ ๋‹ค๋ฃฌ ๋‚ด์šฉ์€ ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•  ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค. ๋ชจ๋ฅด๋ฉด ์ทจ์—…์ด ํž˜๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ณด๋‹ค ๋†’์€ ๊ฒฝ์Ÿ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์‹ถ๋‹ค๋ฉด ์ปค๋„ ๋“œ๋ผ์ด๋ฒ„ ๊ฐœ๋ฐœ ๊ฒฝํ—˜๋„ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q. ์ด ์ˆ˜์—…์„ ๋“ฃ๊ณ  ๋‚˜๋ฉด V3๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‚˜์š”?

์ „์ฒด๋Š” ์•„๋‹ˆ์ง€๋งŒ ๊ธฐ๋Šฅ ์ผ๋ถ€๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. API hook ๊ธฐ์ˆ ์€ ์ „์ฒด์˜ ์ผ๋ถ€์ผ ๋ฟ ๋ชจ๋“  ๊ฒƒ์ด๋ผ ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  V3๊ฐ™์€ ์•ˆํ‹ฐ ๋ฐ”์ด๋Ÿฌ์Šค ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ์€ ์‹ค์‹œ๊ฐ„ ๊ฐ์‹œ ์—”์ง„์— ์žˆ์œผ๋ฉฐ ์ด๋Š” ์ปค๋„ ๋“œ๋ผ์ด๋ฒ„๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

Q. ์•…์„ฑ์ฝ”๋“œ ๋ถ„์„ ์ „๋ฌธ๊ฐ€๊ฐ€ ๋˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๊ฐ€ ๋„์›€์ด ๋ ๊นŒ์š”?

๋„ค, ์ž˜ ์ฐพ์•„์˜ค์…จ์Šต๋‹ˆ๋‹ค! API hook ๊ธฐ์ˆ ์€ ๊ฐ„ํ˜น '๋ฆฌ๋ฒ„์‹ฑ์˜ ๊ฝƒ'์œผ๋กœ ์„ค๋ช…๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋งŒํผ ์ค‘์š”ํ•œ ๊ฒƒ์ด๋ฉฐ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ์ผ์‹ ์š”๋ฆฌ์‚ฌ๋‹˜์˜ ์˜ˆ๋ฆฌํ•œ ์นผ๊ณผ ๊ฐ™์€ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๋ฅผ ์™„์ „ํžˆ ์ž์‹ ์˜ ๊ฒƒ์œผ๋กœ ๋งŒ๋“œ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „(OS): Windows 11

  • ์‚ฌ์šฉ ๋„๊ตฌ: Visual Studio 2022 Community

  • PC ์‚ฌ์–‘: Visual Studio๊ฐ€ ๋ฌด๋ฆฌ ์—†์ด ์ž‘๋™ ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€์ด๋ฉด ์ถฉ๋ถ„

ํ•™์Šต ์ž๋ฃŒ

  • ๊ฐ•์˜์— ์‚ฌ์šฉ๋œ PPT์ž๋ฃŒ๋ฅผ PDF๋กœ ์ œ๊ณต

  • ์ „์ฒด ์˜ˆ์ œ(x86, x64 ๋ถ„๋ฆฌ ์ œ๊ณต)

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • ํฌ์ธํ„ฐ ์‚ฌ์šฉ์— ์–ด๋ ค์›€์ด ์—†๋Š” ์ˆ˜์ค€์˜ C์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ค๋ ฅ
    (๋…ํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” C ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ˆ˜์ค€)

  • ๋””๋ฒ„๊น… ๋ชฉ์ ์œผ๋กœ ๋””์Šค์–ด์…ˆ๋ธ” ์ฝ”๋“œ๋ฅผ ์ผ๋ถ€ ์ฝ์–ด ๋ณธ ๊ฒฝํ—˜ (ํ•„์ˆ˜)

  • ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ดํ•ด ๋ฐ C์–ธ์–ด๋กœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณธ ๊ฒฝํ—˜ (ํ•„์ˆ˜)


  • C++ name mangling์— ๋Œ€ํ•œ ์ดํ•ด (ํ•„์ˆ˜)

  • Windows system programming ๊ฒฝํ—˜ (ํ•„์ˆ˜)

  • ๊ฐ„๋‹จํ•œ TCP/IP ์ฑ„ํŒ… ์˜ˆ์ œ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ์ •๋„์˜ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฒฝํ—˜ (์„ ํƒ)


์ด ๊ฐ•์˜๋ฅผ ๋งŒ๋“  
์ง€์‹๊ณต์œ ์ž๋Š”
๐Ÿ‘จโ€๐Ÿ’ป

๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž TV์˜ โ€˜๋„๋„ํ•œ ๊ฐœ๋ฐœ์žโ€™ ์ตœํ˜ธ์„ฑ์ž…๋‹ˆ๋‹ค.

  • (๋ชจ๋‘๊ฐ€ ์‹ซ์–ดํ•˜๋Š”) ๊ตญ๋‚ด ์ตœ์ดˆ PC ๋ฐฉํ™”๋ฒฝ ๊ฐœ๋ฐœ์ž

  • 1992๋…„๋ถ€ํ„ฐ C์–ธ์–ด๋ฅผ ๊ณต๋ถ€ํ•œ 30๋…„ ๋ฌต์€ C/C++ ๊ฐœ๋ฐœ์ž

  • ๋‹ค์ˆ˜ ๊ตญ์ฑ…๊ณผ์ œ ์ˆ˜ํ–‰ ๊ฒฝํ—˜์ž์ด์ž 15๋…„ ์ด์ƒ ๊ฐœ๋ฐœ ๊ฐ•์˜ ๊ฒฝ๋ ฅ์„ ํ•จ๊ป˜ ๋ณด์œ ํ•œ ์•„์ €์”จ!

  • C์–ธ์–ด ์ธ๊ธฐ ์ž…๋ฌธ์„œ ใ€Ž๋…ํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” C ํ”„๋กœ๊ทธ๋ž˜๋ฐใ€ ์ €์ž



์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • C/C++ ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ์™€ ํ•จ์ˆ˜๋ž€ ๋ฌด์—‡์ธ์ง€ ๊ทธ ๋ณธ์งˆ์— ๋Œ€ํ•ด ๊นŠ์€ ์ดํ•ด๋ฅผ ์–ป๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž

  • ๋ณด์•ˆ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋ ค๋Š” ๋ถ„

  • Windows ํ™˜๊ฒฝ์—์„œ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์„ ํ•ด๋ณด๋ ค๋Š” ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • C์–ธ์— ๋Œ€ํ•œ ๋†’์€ ์ดํ•ด๋„

  • Windows system programming (์ค‘๊ธ‰ ์ด์ƒ)

์•ˆ๋…•ํ•˜์„ธ์š”
๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

49,183

๋ช…

์ˆ˜๊ฐ•์ƒ

2,895

๊ฐœ

์ˆ˜๊ฐ•ํ‰

1,180

๊ฐœ

๋‹ต๋ณ€

4.9

์ 

๊ฐ•์˜ ํ‰์ 

27

๊ฐœ

๊ฐ•์˜

๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž TV ์ฑ„๋„ ์ฃผ์ธ์žฅ์ด์ž
30๋…„ ๋„˜๊ฒŒ IT๊ธฐ์ˆ ์˜ ๋ฐ”๋‹ค๋ฅผ ํ•ญํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฐœ๋ฐœ์ž ์ž…๋‹ˆ๋‹ค.  ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค. ^^  

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

27๊ฐœ โˆ™ (4์‹œ๊ฐ„ 6๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

37๊ฐœ

4.8

37๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • ํ™ฉ์„ฑ์ฃผ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ํ™ฉ์„ฑ์ฃผ

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  4.0

    4

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

  • ์ฑ„๊ด‘์€๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ์ฑ„๊ด‘์€

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    63% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

  • shlim1๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    shlim1

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

  • sungjae.jang๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    sungjae.jang

    ์ˆ˜๊ฐ•ํ‰ 4

    โˆ™

    ํ‰๊ท  ํ‰์  4.0

    4

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๊ฐ•์˜ ๋งŒ๋“œ์‹œ๋А๋ผ ๊ณ ์ƒํ•˜์…จ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์•ฝ๊ฐ„์˜ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ณด๋‹ˆ ์ „์ฒด ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๋Š”๋ฐ์—๋Š” ํฐ ์–ด๋ ค์›€์€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์ˆ˜๊ฐ•์ž๋ถ„๋“ค์ด ๋‹ค์Œ์— ๊ณต๋ถ€ํ•  ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ๊ทธ ๊ธธ์„ ์ฐพ๋Š”๋ฐ ์–ด๋ ค์›€์ด ์žˆ์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค์€ ์ œ๊ฐ€ ๊ทธ๋Ÿฐ ๋А๋‚Œ์„ ๋ฐ›๊ธด ํ–ˆ๊ฑฐ๋“ ์š”. ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์˜ TCP ์ „์†ก์— ๋Œ€ํ•œ hooking์—์„œ MS์—์„œ ์ง€์›ํ•ด์ฃผ๋Š” ๊ณต์‹์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ์–ธ๊ธ‰ํ•ด์ฃผ์‹  ๋ถ€๋ถ„์„ LLM์— ๋ฌธ์˜ํ•˜๋‹ˆ WFP๋ฅผ ์•Œ๋ ค์ฃผ๋„ค์š”. ์ด๋ ‡๊ฒŒ, ๋‹ค์Œ ๊ณต๋ถ€๋ฅผ ์œ„ํ•œ ๊ณต์‹์ ์ธ ๋‹จ์–ด ๋ช‡๊ฐœ๋งŒ ์•Œ๋ ค์ฃผ์…จ์–ด๋„ ๋‹ค์Œ ๊ณผ์ •์„ ์ฐพ์•„๊ฐ€๋Š”๋ฐ ๋„์›€์ด๋ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    • ๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž
      ์ง€์‹๊ณต์œ ์ž

      ๋ฌธ์ œ์ ์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ํ”ผ๋“œ๋ฐฑ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์• ์„ํ•˜๊ฒŒ๋„ ์–ด๋А ์ •๋„ ์˜ˆ์ƒ์ด ๋˜์—ˆ๋˜ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ์ง€์ ํ•ด์ฃผ์…จ์Šต๋‹ˆ๋‹ค. :) ์ด ๊ฐ•์˜๋Š” ์ •๋ง๋กœ API hook๋งŒ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ž˜ ์‚ฌ์šฉํ•  ์ผ์ด ์—†๋Š” ๊ธฐ์ˆ ์ด๊ณ  ์ด๋ก ์œผ๋กœ ์•Œ์•„๋‘๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ํ™œ์šฉํ•ด ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ์ง€ ๊ตฌ์ฒด์ ์ธ ์ˆ˜์ค€์œผ๋กœ ๋„˜์–ด๊ฐˆ ๊ฒฝ์šฐ ๊ฐ•์˜๊ฐ€ ์•„๋‹ˆ๋ผ ๊ธฐ์ˆ  ์ปจ์„คํŒ… ์ฒ˜๋Ÿผ ๋‹ต๋ณ€์„ ํ•ด์•ผ ํ•  ์ƒํ™ฉ์ด ์˜ฌ ๊ฒƒ์ด๋ผ ์šฐ๋ คํ•œ ์ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ„ ํ•˜๋‚˜์˜ ์•„์‰ฌ์›€์„ ๊ธฐ์–ตํ•˜๊ณ  ํ–ฅํ›„ ๊ฐ•์˜์ œ์ž‘์— ์ฐธ๊ณ ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ ๋ง์”€ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. :)

  • ์ดํ˜•์ผ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ์ดํ˜•์ผ

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

๋น„์Šทํ•œ ๊ฐ•์˜

๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

โ‚ฉ66,000