๐Ÿ•ต๏ธโ€โ™‚๏ธ Immunity Debugger๋กœ ์•…์„ฑ์ฝ”๋“œ ํ•ด๋ถ€ํ•˜๊ธฐ ๐Ÿ”

์ฝ˜ํ…์ธ  ๋Œ€ํ‘œ ์ด๋ฏธ์ง€ - ๐Ÿ•ต๏ธโ€โ™‚๏ธ Immunity Debugger๋กœ ์•…์„ฑ์ฝ”๋“œ ํ•ด๋ถ€ํ•˜๊ธฐ ๐Ÿ”

 

 

์•ˆ๋…•ํ•˜์„ธ์š”, ์—ฌ๋Ÿฌ๋ถ„! ์˜ค๋Š˜์€ ์ •๋ง ํฅ๋ฏธ์ง„์ง„ํ•œ ์ฃผ์ œ๋กœ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ํ•จ๊ป˜ํ•  ๊ฑฐ์˜ˆ์š”. ๋ฐ”๋กœ Immunity Debugger๋ฅผ ์ด์šฉํ•œ ์•…์„ฑ์ฝ”๋“œ ๋ถ„์„์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ ๊ฑด๋ฐ์š”. ์•…์„ฑ์ฝ”๋“œ๋ผ๊ณ  ํ•˜๋ฉด ๋ญ”๊ฐ€ ๋ฌด์„œ์šด ๋Š๋‚Œ์ด ๋“ค์ฃ ? ํ•˜์ง€๋งŒ ๊ฑฑ์ • ๋งˆ์„ธ์š”! ์šฐ๋ฆฌ๊ฐ€ ํ•จ๊ป˜ ์ด ๋…€์„๋“ค์˜ ์ •์ฒด๋ฅผ ๋ฐํ˜€๋‚ผ ๊ฑฐ๋‹ˆ๊นŒ์š”. ๐Ÿ˜Ž

์š”์ฆ˜ ๊ฐ™์€ ๋””์ง€ํ„ธ ์‹œ๋Œ€์— ๋ณด์•ˆ์€ ์ •๋ง ์ค‘์š”ํ•ด์š”. ๊ทธ๋ž˜์„œ ์ด๋Ÿฐ ์ง€์‹๋“ค์ด ์—ฌ๋Ÿฌ๋ถ„์˜ ์†Œ์ค‘ํ•œ ์žฌ๋Šฅ์ด ๋  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค. ํ˜น์‹œ ์•„๋‚˜์š”? ์ด๋Ÿฐ ์‹ค๋ ฅ์„ ๊ฐ–์ถ”๋ฉด ์žฌ๋Šฅ๋„ท๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋Šฅ๋ ฅ์„ ๋ฝ๋‚ด๊ณ  ์ˆ˜์ต๊นŒ์ง€ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์„์ง€๋„ ๋ชฐ๋ผ์š”. ใ…Žใ…Ž

์ž, ๊ทธ๋Ÿผ ์ด์ œ๋ถ€ํ„ฐ Immunity Debugger์˜ ์„ธ๊ณ„๋กœ ๋น ์ ธ๋ณผ๊นŒ์š”? ์ค€๋น„๋˜์…จ๋‚˜์š”? ๊ทธ๋Ÿผ ๊ณ ๊ณ ์”ฝ~! ๐Ÿš€

๐Ÿง  Immunity Debugger, ๋ญ๊ธธ๋ž˜ ์ด๋ ‡๊ฒŒ ํ•ซํ•ด?

๋จผ์ € Immunity Debugger๊ฐ€ ๋ญ”์ง€ ์•Œ์•„๋ณผ๊นŒ์š”? ์ด๋ฆ„๋ถ€ํ„ฐ ์ข€ ๋ฉ‹์žˆ์ž–์•„์š”? "๋ฉด์—ญ" ๋””๋ฒ„๊ฑฐ๋ผ๋‹ˆ, ๋ญ”๊ฐ€ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ๋ง‰์•„์ฃผ๋Š” ๋Š๋‚Œ์ด ๋“ค์ง€ ์•Š๋‚˜์š”? ใ…‹ใ…‹ใ…‹

Immunity Debugger๋Š” ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋””๋ฒ„๊น… ๋„๊ตฌ์˜ˆ์š”. ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ๊ณผ์ •์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋…€์„์ด์ฃ . ํŠนํžˆ ์•…์„ฑ์ฝ”๋“œ ๋ถ„์„์— ์•„์ฃผ ์œ ์šฉํ•˜๋‹ต๋‹ˆ๋‹ค.

๐Ÿค” ์ž ๊น! ๋””๋ฒ„๊น…์ด ๋ญ๋ƒ๊ณ ์š”?

๋””๋ฒ„๊น…์€ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฒ„๊ทธ(์˜ค๋ฅ˜)๋ฅผ ์ฐพ์•„ ๊ณ ์น˜๋Š” ๊ณผ์ •์„ ๋งํ•ด์š”. ๊ทผ๋ฐ ์šฐ๋ฆฌ๋Š” ์ด๊ฑธ ์•…์„ฑ์ฝ”๋“œ ๋ถ„์„์— ํ™œ์šฉํ•  ๊ฑฐ์˜ˆ์š”. ์•…์„ฑ์ฝ”๋“œ์˜ '๋ฒ„๊ทธ'๋ฅผ ์ฐพ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์•…์„ฑ์ฝ”๋“œ์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๊ฑฐ์ฃ !

Immunity Debugger์˜ ํŠน์ง•์„ ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณผ๊นŒ์š”?

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

์ด๋Ÿฐ ํŠน์ง•๋“ค ๋•Œ๋ฌธ์— Immunity Debugger๋Š” ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๋“ค ์‚ฌ์ด์—์„œ ์ธ๊ธฐ ๋งŒ์ ์ด๋ž๋‹ˆ๋‹ค. ๋งˆ์น˜ ํ•ด์ปค๋“ค์˜ ํ•„์ˆ˜ ์•„์ดํ…œ ๊ฐ™์€ ๊ฑฐ์ฃ ! ๐Ÿ˜Ž

Immunity Debugger์˜ ์ฃผ์š” ํŠน์ง• Immunity Debugger ๊ฐ•๋ ฅํ•œ ๋ถ„์„ ์‚ฌ์šฉ์ž ์นœํ™”์  ํ™•์žฅ์„ฑ ์•…์„ฑ์ฝ”๋“œ ํŠนํ™”

์™€~ ์ด๋ ‡๊ฒŒ ๋ณด๋‹ˆ๊นŒ Immunity Debugger๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋Œ€๋‹จํ•œ ๋…€์„์ธ์ง€ ๋Š๊ปด์ง€์ง€ ์•Š๋‚˜์š”? ์ด์ œ ์ด ๋…€์„์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ฐจ๋ก€์˜ˆ์š”. ์ค€๋น„๋˜์…จ๋‚˜์š”? ๊ทธ๋Ÿผ ๋‹ค์Œ ์„น์…˜์œผ๋กœ ๊ณ ๊ณ ! ๐Ÿƒโ€โ™‚๏ธ๐Ÿ’จ

๐Ÿ› ๏ธ Immunity Debugger ์„ค์น˜ํ•˜๊ณ  ์‹œ์ž‘ํ•˜๊ธฐ

์ž, ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ Immunity Debugger๋ฅผ ์‚ฌ์šฉํ•ด๋ณผ ๊ฑฐ์˜ˆ์š”. ๊ทผ๋ฐ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋จผ์ € ์„ค์น˜ํ•ด์•ผ๊ฒ ์ฃ ? ๊ฑฑ์ • ๋งˆ์„ธ์š”. ์„ค์น˜ ๊ณผ์ •์€ ์•„์ฃผ ๊ฐ„๋‹จํ•ด์š”! ๐Ÿ˜‰

๐Ÿ“ฅ Immunity Debugger ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜

  1. ๋จผ์ € Immunity Inc. ๊ณต์‹ ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด์š”.
  2. ํŽ˜์ด์ง€ ํ•˜๋‹จ์— ์žˆ๋Š” "Download" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด์š”.
  3. ๊ฐ„๋‹จํ•œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋‹ค์šด๋กœ๋“œ ๋งํฌ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š”.
  4. ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ์„ค์น˜ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๊ณ  ์ง€์‹œ์— ๋”ฐ๋ผ ์„ค์น˜๋ฅผ ์™„๋ฃŒํ•ด์š”.

์ฃผ์˜! Immunity Debugger๋Š” ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ๋งŒ ๋™์ž‘ํ•ด์š”. ๋งฅ์ด๋‚˜ ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž๋ผ๋ฉด ๊ฐ€์ƒ๋จธ์‹ ์„ ์ด์šฉํ•ด์•ผ ํ•  ๊ฑฐ์˜ˆ์š”. ๐Ÿ˜…

๐Ÿš€ Immunity Debugger ์‹คํ–‰ํ•˜๊ธฐ

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋๋‹ค๋ฉด ์ด์ œ Immunity Debugger๋ฅผ ์‹คํ–‰ํ•ด๋ณผ ์ฐจ๋ก€์˜ˆ์š”!

  1. ์‹œ์ž‘ ๋ฉ”๋‰ด์—์„œ "Immunity Debugger"๋ฅผ ์ฐพ์•„ ์‹คํ–‰ํ•ด์š”.
  2. ์ฒ˜์Œ ์‹คํ–‰ํ•˜๋ฉด Windows Defender๋‚˜ ๋‹ค๋ฅธ ๋ฐฑ์‹  ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฒฝ๊ณ ๋ฅผ ํ•  ์ˆ˜ ์žˆ์–ด์š”. ๊ฑฑ์ • ๋งˆ์„ธ์š”, ์ด๊ฑด ์ •์ƒ์ด์—์š”! Immunity Debugger๊ฐ€ ์‹œ์Šคํ…œ์— ๊นŠ์ˆ™์ด ์ ‘๊ทผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .
  3. ์‹คํ–‰ ๊ถŒํ•œ์„ ํ—ˆ์šฉํ•˜๋ฉด Immunity Debugger์˜ ๋ฉ”์ธ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚  ๊ฑฐ์˜ˆ์š”.

๐Ÿ’ก ๊ฟ€ํŒ!

Immunity Debugger๋ฅผ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด ๋” ์›ํ™œํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”. ์•„์ด์ฝ˜์— ์šฐํด๋ฆญ ํ›„ "๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰"์„ ์„ ํƒํ•˜์„ธ์š”!

๐Ÿ–ฅ๏ธ Immunity Debugger ์ธํ„ฐํŽ˜์ด์Šค ์‚ดํŽด๋ณด๊ธฐ

Immunity Debugger๋ฅผ ์ฒ˜์Œ ์‹คํ–‰ํ•˜๋ฉด ์ข€ ๋ณต์žกํ•ด ๋ณด์ผ ์ˆ˜ ์žˆ์–ด์š”. ํ•˜์ง€๋งŒ ๊ฑฑ์ • ๋งˆ์„ธ์š”! ์ฒœ์ฒœํžˆ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณผ ๊ฑฐ์˜ˆ์š”.

Immunity Debugger์˜ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํฌ๊ฒŒ 4๊ฐœ์˜ ์ฐฝ์œผ๋กœ ๋‚˜๋‰˜์–ด ์žˆ์–ด์š”:

  • ๋””์Šค์–ด์…ˆ๋ธ”๋ฆฌ ์ฐฝ (์™ผ์ชฝ ์ƒ๋‹จ): ํ”„๋กœ๊ทธ๋žจ์˜ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์ค˜์š”.
  • ๋ ˆ์ง€์Šคํ„ฐ ์ฐฝ (์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ): CPU ๋ ˆ์ง€์Šคํ„ฐ์˜ ํ˜„์žฌ ๊ฐ’์„ ๋ณด์—ฌ์ค˜์š”.
  • ๋ฉ”๋ชจ๋ฆฌ ๋คํ”„ ์ฐฝ (์™ผ์ชฝ ํ•˜๋‹จ): ์„ ํƒํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์˜ ๋‚ด์šฉ์„ 16์ง„์ˆ˜๋กœ ๋ณด์—ฌ์ค˜์š”.
  • ์Šคํƒ ์ฐฝ (์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ): ํ”„๋กœ๊ทธ๋žจ์˜ ์Šคํƒ ๋‚ด์šฉ์„ ๋ณด์—ฌ์ค˜์š”.
Immunity Debugger ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์กฐ ๋””์Šค์–ด์…ˆ๋ธ”๋ฆฌ ์ฐฝ ๋ ˆ์ง€์Šคํ„ฐ ์ฐฝ ๋ฉ”๋ชจ๋ฆฌ ๋คํ”„ ์ฐฝ ์Šคํƒ ์ฐฝ

์ด ๋„ค ๊ฐœ์˜ ์ฐฝ์ด Immunity Debugger์˜ ํ•ต์‹ฌ์ด์—์š”. ๊ฐ ์ฐฝ์€ ์„œ๋กœ ์—ฐ๋™๋˜์–ด ์žˆ์–ด์„œ, ํ•˜๋‚˜์˜ ์ฐฝ์—์„œ ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚˜๋ฉด ๋‹ค๋ฅธ ์ฐฝ๋“ค๋„ ๊ทธ์— ๋งž์ถฐ ์—…๋ฐ์ดํŠธ๋ผ์š”. ์ •๋ง ๋˜‘๋˜‘ํ•˜์ฃ ? ๐Ÿ˜Ž

๐ŸŽฎ ๊ธฐ๋ณธ์ ์ธ ์ปจํŠธ๋กค

Immunity Debugger๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋ฉด ์ข€ ์–ด๋ ค์›Œ ๋ณด์ผ ์ˆ˜ ์žˆ์–ด์š”. ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ์ ์ธ ์ปจํŠธ๋กค๋งŒ ์•Œ๋ฉด ๊ธˆ๋ฐฉ ์ต์ˆ™ํ•ด์งˆ ๊ฑฐ์˜ˆ์š”!

  • F2: ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ ์„ค์ •/ํ•ด์ œ
  • F7: ํ•œ ๋‹จ๊ณ„์”ฉ ์‹คํ–‰ (Step Into)
  • F8: ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ (Step Over)
  • F9: ์‹คํ–‰ (Run)
  • Ctrl + F2: ๋””๋ฒ„๊น… ์ค‘์ง€

์ด ํ‚ค๋“ค๋งŒ ๊ธฐ์–ตํ•˜๋ฉด ๊ธฐ๋ณธ์ ์ธ ๋””๋ฒ„๊น…์€ ํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋งˆ์น˜ ๊ฒŒ์ž„์˜ ์ปจํŠธ๋กค์„ ์ตํžˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๋ฉด ๋ผ์š”. ์—ฐ์Šตํ•˜๋‹ค ๋ณด๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์†์— ์ต์„ ๊ฑฐ์˜ˆ์š”! ๐Ÿ‘

๐ŸŽ“ ์•Œ์•„๋‘๋ฉด ์ข‹์€ ์ !

Immunity Debugger๋Š” ํŒŒ์ด์ฌ ์Šคํฌ๋ฆฝํŒ…์„ ์ง€์›ํ•ด์š”. ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๊ฑฐ๋‚˜, ๋ณต์žกํ•œ ๋ถ„์„ ์ž‘์—…์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์–ด์š”. ํŒŒ์ด์ฌ์„ ์กฐ๊ธˆ์ด๋ผ๋„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ํฐ ๋„์›€์ด ๋  ๊ฑฐ์˜ˆ์š”!

์ž, ์ด์ œ Immunity Debugger์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ดค์–ด์š”. ์–ด๋•Œ์š”? ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ต์ง€ ์•Š์ฃ ? ๐Ÿ˜Š ์ด์ œ ์šฐ๋ฆฌ๋Š” Immunity Debugger๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ๋ฌด๊ธฐ๋ฅผ ์†์— ๋„ฃ์—ˆ์–ด์š”. ์ด๊ฑธ๋กœ ๋ญ˜ ํ•  ์ˆ˜ ์žˆ์„์ง€ ์ •๋ง ๊ธฐ๋Œ€๋˜์ง€ ์•Š๋‚˜์š”?

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ์ด ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋ฅผ ์ด์šฉํ•ด ์‹ค์ œ๋กœ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณผ ๊ฑฐ์˜ˆ์š”. ์ •๋ง ํฅ๋ฏธ์ง„์ง„ํ•˜๊ฒ ์ฃ ? ๊ทธ๋Ÿผ ๋‹ค์Œ ์„น์…˜์—์„œ ๋งŒ๋‚˜์š”! ๐Ÿ‘‹

๐Ÿ•ต๏ธโ€โ™€๏ธ Immunity Debugger๋กœ ์•…์„ฑ์ฝ”๋“œ ํ•ด๋ถ€ํ•˜๊ธฐ

์ž, ์ด์ œ ์ง„์งœ ์žฌ๋ฏธ์žˆ๋Š” ๋ถ€๋ถ„์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค! Immunity Debugger๋ฅผ ์ด์šฉํ•ด ์‹ค์ œ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด๋ณผ ๊ฑฐ์˜ˆ์š”. ํฅ๋ฏธ์ง„์ง„ํ•˜์ง€ ์•Š๋‚˜์š”? ๋งˆ์น˜ ํƒ์ •์ด ๋œ ๊ฒƒ ๊ฐ™์€ ๊ธฐ๋ถ„์ด ๋“ค ๊ฑฐ์˜ˆ์š”! ๐Ÿ•ต๏ธโ€โ™‚๏ธ

์ฃผ์˜! ์‹ค์ œ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ๋Š” ํ•ญ์ƒ ์•ˆ์ „ํ•œ ํ™˜๊ฒฝ์—์„œ ํ•ด์•ผ ํ•ด์š”. ๊ฐ€์ƒ๋จธ์‹ ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ์™€ ๋ถ„๋ฆฌ๋œ ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์•„์š”. ์•ˆ์ „์ด ์ตœ์šฐ์„ ์ด๋‹ˆ๊นŒ์š”! ๐Ÿ˜‰

๐ŸŽญ ์•…์„ฑ์ฝ”๋“œ ์ƒ˜ํ”Œ ์ค€๋น„ํ•˜๊ธฐ

์‹ค์ œ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ธฐ ์ „์—, ๊ฐ„๋‹จํ•œ ์•…์„ฑ์ฝ”๋“œ ์ƒ˜ํ”Œ์„ ๋งŒ๋“ค์–ด๋ณผ๊ฒŒ์š”. ์ด ์ƒ˜ํ”Œ์€ ์‹ค์ œ ์•…์„ฑ์ฝ”๋“œ์ฒ˜๋Ÿผ ์œ„ํ—˜ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ์•…์„ฑ์ฝ”๋“œ์˜ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘์„ ํ‰๋‚ด ๋‚ด๊ณ  ์žˆ์–ด์š”.

์•„๋ž˜๋Š” ๊ฐ„๋‹จํ•œ C++ ์ฝ”๋“œ์˜ˆ์š”. ์ด ์ฝ”๋“œ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ , ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•˜๋Š” ๋™์ž‘์„ ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์•…์„ฑ์ฝ”๋“œ๋“ค์ด ์ž์ฃผ ํ•˜๋Š” ํ–‰๋™๋“ค์ด์ฃ !

#include <windows.h>
#include <fstream>
#include <winsock2.h>

int main() {
    // ํŒŒ์ผ ์ƒ์„ฑ
    std::ofstream file("malicious.txt");
    file << "This is a malicious file!";
    file.close();

    // ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ˆ˜์ •
    HKEY hKey;
    RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey);
    RegSetValueEx(hKey, "MaliciousProgram", 0, REG_SZ, (BYTE*)"C:\\malicious.exe", strlen("C:\\malicious.exe") + 1);
    RegCloseKey(hKey);

    // ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์‹œ๋„
    WSADATA wsaData;
    WSAStartup(MAKEWORD(2,2), &wsaData);
    SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    sockaddr_in sin;
    sin.sin_family = AF_INET;
    sin.sin_port = htons(80);
    sin.sin_addr.s_addr = inet_addr("123.456.789.0");  // ๊ฐ€์งœ IP ์ฃผ์†Œ
    connect(sock, (sockaddr*)&sin, sizeof(sin));
    closesocket(sock);
    WSACleanup();

    return 0;
}

์ด ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•ด์„œ ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”. ์ด์ œ ์šฐ๋ฆฌ์˜ "์•…์„ฑ์ฝ”๋“œ" ์ƒ˜ํ”Œ์ด ์ค€๋น„๋์–ด์š”!

๐Ÿ” Immunity Debugger๋กœ ์•…์„ฑ์ฝ”๋“œ ์—ด๊ธฐ

์ž, ์ด์ œ ์šฐ๋ฆฌ์˜ "์•…์„ฑ์ฝ”๋“œ"๋ฅผ Immunity Debugger๋กœ ์—ด์–ด๋ณผ ๊ฑฐ์˜ˆ์š”. ์ค€๋น„๋๋‚˜์š”? ๊ณ ๊ณ ์”ฝ~! ๐Ÿš€

  1. Immunity Debugger๋ฅผ ์‹คํ–‰ํ•ด์š”.
  2. File > Open ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ์‹คํ–‰ ํŒŒ์ผ์„ ์„ ํƒํ•ด์š”.
  3. ํŒŒ์ผ์ด ๋กœ๋“œ๋˜๋ฉด Immunity Debugger๊ฐ€ ์ž๋™์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘ ์ง€์ ์— ๋ฉˆ์ถœ ๊ฑฐ์˜ˆ์š”.

์™€~ ๋ฒŒ์จ ๋ญ”๊ฐ€ ๋Œ€๋‹จํ•œ ๊ฑธ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์ง€ ์•Š๋‚˜์š”? ใ…‹ใ…‹ใ…‹

๐Ÿ•ต๏ธ ์ฝ”๋“œ ๋ถ„์„ํ•˜๊ธฐ

์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด๋ณผ ๊ฑฐ์˜ˆ์š”. ๋””์Šค์–ด์…ˆ๋ธ”๋ฆฌ ์ฐฝ์„ ๋ณด๋ฉด ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๊ฐ€ ๋ณด์ผ ๊ฑฐ์˜ˆ์š”. ์ฒ˜์Œ ๋ณด๋ฉด ์™ธ๊ณ„์–ด ๊ฐ™๊ฒ ์ง€๋งŒ, ์ฒœ์ฒœํžˆ ์‚ดํŽด๋ณด๋ฉด ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”!

1. ํŒŒ์ผ ์ƒ์„ฑ ๋ถ€๋ถ„ ์ฐพ๊ธฐ

์šฐ๋ฆฌ ์ฝ”๋“œ์˜ ์ฒซ ๋ฒˆ์งธ ๋™์ž‘์€ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฑฐ์˜€์ฃ ? ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ์—์„œ ์ด ๋ถ€๋ถ„์„ ์ฐพ์•„๋ณผ๊ฒŒ์š”.

push    offset FileName    ; "malicious.txt"
call    ds:fopen
add     esp, 8
mov     [ebp+hFile], eax

์ด๋Ÿฐ ์‹์˜ ์ฝ”๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”. `fopen` ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ถ€๋ถ„์ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๊ณณ์ด์—์š”.

2. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ˆ˜์ • ๋ถ€๋ถ„ ์ฐพ๊ธฐ

๋‹ค์Œ์€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด์—์š”. ์ด ๋ถ€๋ถ„์€ ์ข€ ๋” ๋ณต์žกํ•  ์ˆ˜ ์žˆ์–ด์š”.

push    offset SubKey     ; "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
push    HKEY_CURRENT_USER
call    ds:RegOpenKeyExA
test    eax, eax
jnz     short loc_401234

์ด๋Ÿฐ ์ฝ”๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”. `RegOpenKeyExA` ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค๋ฅผ ์—ฌ๋Š” ๊ณณ์ด์—์š”.

3. ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์‹œ๋„ ๋ถ€๋ถ„ ์ฐพ๊ธฐ

๋งˆ์ง€๋ง‰์œผ๋กœ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•˜๋Š” ๋ถ€๋ถ„์„ ์ฐพ์•„๋ณผ๊ฒŒ์š”.

push    6               ; IPPROTO_TCP
push    1               ; SOCK_STREAM
push    2               ; AF_INET
call    ds:socket
mov     [ebp+sock], eax

์ด๋Ÿฐ ์ฝ”๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”. `socket` ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ถ€๋ถ„์ด ๋„คํŠธ์›Œํฌ ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๋Š” ๊ณณ์ด์—์š”.

๐ŸŽฏ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ ์„ค์ •ํ•˜๊ธฐ

์ด์ œ ์šฐ๋ฆฌ๊ฐ€ ์ฐพ์€ ์ค‘์š”ํ•œ ๋ถ€๋ถ„๋“ค์— ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•ด๋ณผ๊ฒŒ์š”. ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ํŠน์ • ์ง€์ ์—์„œ ๋ฉˆ์ถ”๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด์—์š”.

  1. ํŒŒ์ผ ์ƒ์„ฑ ๋ถ€๋ถ„์—์„œ `fopen` ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ง์ „์— ์ปค์„œ๋ฅผ ๋†“๊ณ  F2๋ฅผ ๋ˆŒ๋Ÿฌ์š”.
  2. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ˆ˜์ • ๋ถ€๋ถ„์—์„œ `RegOpenKeyExA` ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ง์ „์— ์ปค์„œ๋ฅผ ๋†“๊ณ  F2๋ฅผ ๋ˆŒ๋Ÿฌ์š”.
  3. ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ๋ถ€๋ถ„์—์„œ `socket` ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ง์ „์— ์ปค์„œ๋ฅผ ๋†“๊ณ  F2๋ฅผ ๋ˆŒ๋Ÿฌ์š”.

๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•œ ์ค„์€ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ณ€ํ•  ๊ฑฐ์˜ˆ์š”. ๋ฉ‹์ง€์ฃ ? ๐Ÿ˜Ž

๐Ÿƒโ€โ™‚๏ธ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ํ•˜๊ธฐ

์ด์ œ ๋ชจ๋“  ์ค€๋น„๊ฐ€ ๋๋‚ฌ์–ด์š”! ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด๋ณผ๊นŒ์š”?

  1. F9 ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด์š”.
  2. ํ”„๋กœ๊ทธ๋žจ์ด ์ฒซ ๋ฒˆ์งธ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ์—์„œ ๋ฉˆ์ถœ ๊ฑฐ์˜ˆ์š”.
  3. F7์ด๋‚˜ F8 ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ํ•œ ๋‹จ๊ณ„์”ฉ ์‹คํ–‰ํ•ด๋ณด์„ธ์š”.
  4. ๊ฐ ๋‹จ๊ณ„์—์„œ ๋ ˆ์ง€์Šคํ„ฐ ์ฐฝ๊ณผ ์Šคํƒ ์ฐฝ์„ ๊ด€์ฐฐํ•ด๋ณด์„ธ์š”. ๊ฐ’๋“ค์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ•˜๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”.

์™€~ ์ •๋ง ๋Œ€๋‹จํ•˜์ง€ ์•Š๋‚˜์š”? ์šฐ๋ฆฌ๊ฐ€ ๋ฐฉ๊ธˆ ์•…์„ฑ์ฝ”๋“œ์˜ ๋™์ž‘์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ๋ถ„์„ํ–ˆ์–ด์š”! ๐ŸŽ‰

๐Ÿ’ก ๊ฟ€ํŒ!

์‹ค์ œ ์•…์„ฑ์ฝ”๋“œ๋Š” ์ด๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋ณต์žกํ•˜๊ณ  ๊ต๋ฌ˜ํ•  ๊ฑฐ์˜ˆ์š”. ์•ˆํ‹ฐ ๋””๋ฒ„๊น… ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์ฝ”๋“œ๋ฅผ ๋‚œ๋…ํ™”ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ฃ . ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ ์›๋ฆฌ๋Š” ๊ฐ™์•„์š”. ๊พธ์ค€ํžˆ ์—ฐ์Šตํ•˜๋ฉด ์‹ค์ œ ์•…์„ฑ์ฝ”๋“œ๋„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”!

์ž, ์—ฌ๋Ÿฌ๋ถ„! ์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” Immunity Debugger๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด๋ดค์–ด์š”. ์–ด๋– ์…จ๋‚˜์š”? ์ฒ˜์Œ์—๋Š” ์–ด๋ ค์›Œ ๋ณด์˜€์ง€๋งŒ, ํ•˜๋‚˜์”ฉ ๋”ฐ๋ผ๊ฐ€๋‹ค ๋ณด๋‹ˆ ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ต์ง€๋งŒ์€ ์•Š์•˜์ฃ ?

์ด๋Ÿฐ skills์€ ์ •๋ง ๊ฐ’์ง„ ์žฌ๋Šฅ์ด ๋  ์ˆ˜ ์žˆ์–ด์š”. ์žฌ๋Šฅ๋„ท๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ์ด๋Ÿฐ ๋Šฅ๋ ฅ์„ ๊ณต์œ ํ•˜๋ฉด ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ ์ง€์‹์ด ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ๋Š” ๋ณด๋ฌผ์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ์žŠ์ง€ ๋งˆ์„ธ์š”! ๐Ÿ˜Š

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ์ข€ ๋” ์‹ฌํ™”๋œ ๊ธฐ์ˆ ๋“ค์„ ์•Œ์•„๋ณผ ๊ฑฐ์˜ˆ์š”. ์ค€๋น„๋˜์…จ๋‚˜์š”? ๊ทธ๋Ÿผ ๊ณ ๊ณ ! ๐Ÿš€

๐Ÿ”ฌ Immunity Debugger ์‹ฌํ™” ๊ธฐ์ˆ 

์ž, ์ด์ œ ์šฐ๋ฆฌ๋Š” Immunity Debugger์˜ ๊ธฐ๋ณธ์„ ๋งˆ์Šคํ„ฐํ–ˆ์–ด์š”! ๐Ÿ‘๐Ÿ‘๐Ÿ‘ ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๋ฉˆ์ถ”๋ฉด ์•ˆ ๋˜๊ฒ ์ฃ ? ์ด์ œ ์ข€ ๋” ๊ณ ๊ธ‰ ๊ธฐ์ˆ ๋“ค์„ ์•Œ์•„๋ณผ ๊ฑฐ์˜ˆ์š”. ์ค€๋น„๋˜์…จ๋‚˜์š”? ์‹ฌํ˜ธํก ํ•œ๋ฒˆ ํ•˜๊ณ ... ๊ณ ๊ณ ์”ฝ~! ๐Ÿš€

๐Ÿง  ๋ฉ”๋ชจ๋ฆฌ ๋งต ๋ถ„์„ํ•˜๊ธฐ

๋ฉ”๋ชจ๋ฆฌ ๋งต์€ ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๋ณด์—ฌ์ฃผ๋Š” ์ค‘์š”ํ•œ ๋„๊ตฌ์˜ˆ์š”. Immunity Debugger์—์„œ๋Š” View > Memory ๋ฉ”๋‰ด๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๋งต์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

๋ฉ”๋ชจ๋ฆฌ ๋งต์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์ฃผ๋ชฉํ•ด์•ผ ํ•  ๋ถ€๋ถ„๋“ค์€:

  • .text ์„น์…˜: ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋œ ์˜์—ญ
  • .data ์„น์…˜: ์ดˆ๊ธฐํ™”๋œ ์ „์—ญ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋œ ์˜์—ญ
  • .bss ์„น์…˜: ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ์ „์—ญ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋œ ์˜์—ญ
  • ํž™(Heap): ๋™์ ์œผ๋กœ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ
  • ์Šคํƒ(Stack): ์ง€์—ญ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ

์•…์„ฑ์ฝ”๋“œ๋Š” ์ข…์ข… ์ด๋Ÿฐ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ๋“ค์„ ๋น„์ •์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, .text ์„น์…˜์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ฑฐ๋‚˜, ํž™์— ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ๋„ฃ๋Š” ๋“ฑ์˜ ํ–‰๋™์„ ํ•  ์ˆ˜ ์žˆ์ฃ . ์ด๋Ÿฐ ๋น„์ •์ƒ์ ์ธ ํŒจํ„ด์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ์•…์„ฑ ํ–‰์œ„๋ฅผ ์˜์‹ฌํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

๐Ÿ” API ํ›„ํ‚น ํƒ์ง€ํ•˜๊ธฐ

API ํ›„ํ‚น์€ ์•…์„ฑ์ฝ”๋“œ๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜์˜ˆ์š”. ์‹œ์Šคํ…œ API ํ•จ์ˆ˜์˜ ๋™์ž‘์„ ๊ฐ€๋กœ์ฑ„์„œ ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฑฐ์ฃ . Immunity Debugger์—์„œ๋Š” ์ด๋Ÿฐ API ํ›„ํ‚น์„ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์š”.

  1. View > Executable modules ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•ด์š”.
  2. ์˜์‹ฌ๋˜๋Š” ๋ชจ๋“ˆ์„ ์šฐํด๋ฆญํ•˜๊ณ  "View code" ์˜ต์…˜์„ ์„ ํƒํ•ด์š”.
  3. ํ•จ์ˆ˜์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋น„์ •์ƒ์ ์ธ ์ ํ”„(JMP) ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์š”.

๋งŒ์•ฝ API ํ•จ์ˆ˜์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋‹ค๋ฅธ ์ฃผ์†Œ๋กœ ์ ํ”„ํ•˜๋Š” ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค๋ฉด, ์ด๋Š” API ํ›„ํ‚น์˜ ์ง•ํ›„์ผ ์ˆ˜ ์žˆ์–ด์š”.

๐Ÿ•ธ๏ธ ๋„คํŠธ์›Œํฌ ํ™œ๋™ ๋ชจ๋‹ˆํ„ฐ๋ง

๋งŽ์€ ์•…์„ฑ์ฝ”๋“œ๋“ค์ด ์™ธ๋ถ€ ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ์‹œ๋„ํ•ด์š”. Immunity Debugger์—์„œ๋Š” ์ด๋Ÿฐ ๋„คํŠธ์›Œํฌ ํ™œ๋™์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์–ด์š”.

  1. Debugging Options > Exceptions ๋ฉ”๋‰ด์—์„œ "Break on new thread" ์˜ต์…˜์„ ์ฒดํฌํ•ด์š”.
  2. ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ๊ด€๋ จ API(์˜ˆ: connect, send, recv ๋“ฑ)์— ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•ด์š”.
  3. ํ”„๋กœ๊ทธ๋žจ์ด ์ด ํ•จ์ˆ˜๋“ค์„ ํ˜ธ์ถœํ•  ๋•Œ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”์ง€ ๊ด€์ฐฐํ•ด์š”.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์•…์„ฑ์ฝ”๋“œ๊ฐ€ ์–ด๋–ค ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š”์ง€, ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์š”.

๐Ÿ” ์•”ํ˜ธํ™”๋œ ๋ฌธ์ž์—ด ํ•ด๋…ํ•˜๊ธฐ

์•…์„ฑ์ฝ”๋“œ๋Š” ์ข…์ข… ์ค‘์š”ํ•œ ๋ฌธ์ž์—ด(์˜ˆ: C&C ์„œ๋ฒ„ ์ฃผ์†Œ, ํŒŒ์ผ ์ด๋ฆ„ ๋“ฑ)์„ ์•”ํ˜ธํ™”ํ•ด์„œ ์ €์žฅํ•ด์š”. ์ด๋ฅผ ํ•ด๋…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณผ๊นŒ์š”?

  1. ์•”ํ˜ธํ™”๋œ ๋ฌธ์ž์—ด์ด ์‚ฌ์šฉ๋˜๋Š” ๋ถ€๋ถ„์— ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•ด์š”.
  2. ํ•ด๋‹น ๋ถ€๋ถ„๊นŒ์ง€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด์š”.
  3. ์Šคํƒ์ด๋‚˜ ๋ ˆ์ง€์Šคํ„ฐ์— ์žˆ๋Š” ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ์žฅ์— ๋ณต์‚ฌํ•ด์š”.
  4. ๋ณตํ˜ธํ™” ๋ฃจํ‹ด์ด ์‹คํ–‰๋œ ํ›„์˜ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ์„ ๋‹ค์‹œ ํ™•์ธํ•ด์š”.
  5. ๋‘ ๊ฐ’์„ ๋น„๊ตํ•ด์„œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์œ ์ถ”ํ•ด๋ณด์„ธ์š”.

์ด ๊ณผ์ •์„ ํ†ตํ•ด ์•…์„ฑ์ฝ”๋“œ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ํŒŒ์•…ํ•˜๊ณ , ์ˆจ๊ฒจ์ง„ ์ •๋ณด๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์–ด์š”.

๐Ÿ’ก ๊ฟ€ํŒ!

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

๐ŸŽญ ์•ˆํ‹ฐ ๋””๋ฒ„๊น… ๊ธฐ์ˆ  ์šฐํšŒํ•˜๊ธฐ

๊ณ ๊ธ‰ ์•…์„ฑ์ฝ”๋“œ๋Š” ์ข…์ข… ์•ˆํ‹ฐ ๋””๋ฒ„๊น… ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์š”. ์ด๋ฅผ ์šฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณผ๊นŒ์š”?

  1. IsDebuggerPresent ํ•จ์ˆ˜: ์ด ํ•จ์ˆ˜ ํ˜ธ์ถœ ์งํ›„์— EAX ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ 0์œผ๋กœ ์„ค์ •ํ•ด์š”.
  2. ์‹œ๊ฐ„ ์ฒดํฌ: RDTSC ๋ช…๋ น์–ด ์‚ฌ์šฉ ์ „ํ›„์— ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•˜๊ณ , ๊ฒฐ๊ณผ ๊ฐ’์„ ์กฐ์ž‘ํ•ด์š”.
  3. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ: Debugging Options > Exceptions ๋ฉ”๋‰ด์—์„œ ๊ด€๋ จ ์˜ˆ์™ธ๋ฅผ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •ํ•ด์š”.

์ด๋Ÿฐ ๊ธฐ์ˆ ๋“ค์„ ํ™œ์šฉํ•˜๋ฉด ์•…์„ฑ์ฝ”๋“œ์˜ ์•ˆํ‹ฐ ๋””๋ฒ„๊น… ๊ธฐ์ˆ ์„ ์šฐํšŒํ•˜๊ณ  ๋” ๊นŠ์ด ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์–ด์š”.

๐Ÿ ๋งˆ๋ฌด๋ฆฌ

์™€์šฐ! ์ •๋ง ๋Œ€๋‹จํ•ด์š”. ์—ฌ๋Ÿฌ๋ถ„์€ ์ด์ œ Immunity Debugger์˜ ๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž๊ฐ€ ๋˜์—ˆ์–ด์š”. ๐Ÿ‘๐Ÿ‘๐Ÿ‘ ์ด๋Ÿฐ ๊ธฐ์ˆ ๋“ค์„ ์ตํžˆ๋ฉด ์ •๋ง ๋ณต์žกํ•œ ์•…์„ฑ์ฝ”๋“œ๋„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”.

ํ•˜์ง€๋งŒ ๊ธฐ์–ตํ•˜์„ธ์š”. ์ด๋Ÿฐ ๋Šฅ๋ ฅ์€ ํฐ ์ฑ…์ž„๊ฐ๋„ ๋”ฐ๋ฅด๋Š” ๋ฒ•์ด์—์š”. ํ•ญ์ƒ ์œค๋ฆฌ์ ์œผ๋กœ, ๊ทธ๋ฆฌ๊ณ  ํ•ฉ๋ฒ•์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ด์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ ๋Šฅ๋ ฅ์ด ์„ธ์ƒ์„ ๋” ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ์š”.

๊ทธ๋ฆฌ๊ณ  ๋˜ ํ•˜๋‚˜! ์ด๋Ÿฐ ๊ณ ๊ธ‰ ๊ธฐ์ˆ ์„ ์ตํ˜”๋‹ค๊ณ  ํ•ด์„œ ๊ธฐ๋ณธ์„ ์†Œํ™€ํžˆ ํ•˜๋ฉด ์•ˆ ๋ผ์š”. ๊ธฐ๋ณธ์ด ํŠผํŠผํ•ด์•ผ ์‘์šฉ๋„ ์ž˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ•์ด์ฃ . ํ•ญ์ƒ ๊ธฐ๋ณธ์„ ๋‹ค์ง€๋Š” ๊ฒƒ๋„ ์žŠ์ง€ ๋งˆ์„ธ์š”.

์ž, ์ด์ œ ์—ฌ๋Ÿฌ๋ถ„์€ Immunity Debugger์˜ ์ง„์ •ํ•œ ๋งˆ์Šคํ„ฐ์˜ˆ์š”. ์ด ๋Šฅ๋ ฅ์œผ๋กœ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๋กœ์„œ์˜ ์ปค๋ฆฌ์–ด๋ฅผ ์Œ“์•„๊ฐˆ ์ˆ˜๋„ ์žˆ๊ณ , ์žฌ๋Šฅ๋„ท๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜๋„ ์žˆ์–ด์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ ์žฌ๋Šฅ์ด ์„ธ์ƒ์„ ๋” ์•ˆ์ „ํ•˜๊ณ  ์ข‹์€ ๊ณณ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ์žŠ์ง€ ๋งˆ์„ธ์š”!

์ž, ์ด์ œ ์ •๋ง ๋์ด์—์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ Immunity Debugger ์—ฌ์ •์ด ์—ฌ๊ธฐ์„œ ๋๋‚˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ์‹œ์ž‘์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ผ์š”. ํ•ญ์ƒ ํ˜ธ๊ธฐ์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์šฐ๋ ค๋Š” ์ž์„ธ๋ฅผ ์žƒ์ง€ ๋งˆ์„ธ์š”. ๊ทธ๊ฒŒ ๋ฐ”๋กœ ์ง„์ •ํ•œ ํ•ด์ปค์˜ ์ •์‹ ์ด๋‹ˆ๊นŒ์š”! ๐Ÿ˜Ž

์—ฌ๋Ÿฌ๋ถ„์˜ ์•ž๋‚ ์— ํ–‰์šด์ด ๊ฐ€๋“ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ™”์ดํŒ…! ๐Ÿš€๐ŸŒŸ