๐Ÿ“Œ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ์‹ค์Šต ๋ฐฉ๋ฒ• - ์ฝ”๋“œ ํŒจ์น˜

1๋ถ€ํ„ฐ 100๊นŒ์ง€์˜ ํ•ฉ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— Immunity Debugger์—์„œ ์ฝ”๋“œ ํŒจ์น˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃจ๋ ค๊ณ  ํ•œ๋‹ค.

 

๋””๋ฒ„๊ฑฐ์—์„œ ์•„๋ฌด ์‹คํ–‰ ํŒŒ์ผ(*.exe)์„ ์—ด๊ณ , ์ฝ”๋“œ ๋ถ€๋ถ„์„ ๋”๋ธ” ํด๋ฆญํ•ด์„œ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.

์ฝ”๋“œ๋ฅผ ๋”๋ธ” ํด๋ฆญํ•˜๋ฉด 

์™ผ์ชฝ ์ฒ˜๋Ÿผ ๋œฐ ํ…๋ฐ, ์—ฌ๊ธฐ์„œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  Assemble์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ์ค„์˜ ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ณ  ๋ฐ‘์—๋Š” NOP์œผ๋กœ ๋ชจ๋‘ ๋ณ€๊ฒฝ๋œ๋‹ค.

์•„๋ž˜๋กœ ์ˆœ์„œ๋Œ€๋กœ ์ฝ”๋“œ ํŒจ์น˜๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

 

 

 ๐Ÿ“Œ 1๋ถ€ํ„ฐ 100๊นŒ์ง€์˜ ํ•ฉ ver.1 (๋ ˆ์ง€์Šคํ„ฐ 3๊ฐœ ์‚ฌ์šฉ)

  1. EAX, EBX๊ฐ’์„ 1๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚ค๊ณ  EBX๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ EAX์— EBX๋ฅผ ๋”ํ•ด์ค€๋‹ค.
  2. LOOP๋Š” EBX๊ฐ€ 100์ด ๋  ๋•Œ๊นŒ์ง€ ๋ˆ๋‹ค. (ECX๊ฐ€ 0์ผ ๋•Œ๊นŒ์ง€ ๋ˆ๋‹ค. ์—ฌ๊ธฐ์„œ LOOP ๋ช…๋ น์–ด๋Š” ECX๋ฅผ ๋จผ์ € 1๊ฐ์†Œํ•˜๊ณ  0์ธ์ง€ ์•„๋‹Œ์ง€ ๋น„๊ตํ•จ์— ์ฃผ์˜)

๐Ÿ’ป ์ฝ”๋“œ

  1. EAX๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚จ๋‹ค.
  2. EBX๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚จ๋‹ค.
  3. LOOP๋Š” EBX๊ฐ€ 100์ผ ๋•Œ๊นŒ์ง€ ๋”ํ•˜๋ ค๋ฉด 2~100๊นŒ์ง€ ์ฆ‰ 99๋ฒˆ ๋Œ์•„์•ผ ํ•˜๋ฏ€๋กœ ECX๊ฐ’์„ 99๋กœ ์ •ํ•ด ์ค˜์•ผํ•จ. 99๋ฅผ 16์ง„์ˆ˜๋กœ ํ•˜๋ฉด 63์ด๊ธฐ ๋•Œ๋ฌธ์— 63์œผ๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚จ๋‹ค.
  4. ๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ ํ•œ ์ค„ ๋„์šฐ๊ธฐ ์œ„ํ•ด NOP ์‚ฌ์šฉ. (ํ•ด๋‹น ์ค„์€ ์—†์–ด๋„ ๋œ๋‹ค.)
  5. EBX๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
    (1~100์„ ๋”ํ•˜๋Š”๋ฐ EAX๊ฐ€ 1์ด๊ณ  EBX๋„ 1์ด๊ธฐ ๋•Œ๋ฌธ์— EBX๋ฅผ ๋จผ์ € 1์ฆ๊ฐ€์‹œํ‚ค๊ณ  EAX์— ๋”ํ•˜๋Š” ๊ฒƒ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.)
  6. EAX์— EBX๋ฅผ ๋”ํ•ด์„œ EAX์— ์ €์žฅํ•œ๋‹ค.
  7. 5๋ฒˆ ์ค„๊ณผ 6๋ฒˆ์ค„์„ EBX๊ฐ€ 100์ด ๋  ๋•Œ๊นŒ์ง€ (CX๊ฐ€ 0์ด ๋  ๋•Œ๊นŒ์ง€)๋ฐ˜๋ณตํ•œ๋‹ค.

 

๐Ÿ’ก ๋ ˆ์ง€์Šคํ„ฐ ๋ณ€ํ™” ํ™•์ธ

1.  EAX, EBX, ECX ์ดˆ๊ธฐํ™”

2.  ๋”ํ•˜๋Š” ๊ณผ์ •

EBX๊ฐ’์„ 1 ์ฆ๊ฐ€์‹œํ‚จ ํ›„ EAX์— EBX๋ฅผ ๋”ํ•œ๋‹ค.

 

3. ๊ฒฐ๊ณผ

ECX๊ฐ€ 0์ด ๋˜๋ฉด LOOP๋ฅผ ๋ฉˆ์ถ˜๋‹ค. 99๋ฒˆ ๋Œ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ์‹œ์ ์—์„œ EBX๊ฐ’์„ ๋ณด๋ฉด 1์—์„œ 99๋ฅผ ๋”ํ•œ 64(10์ง„์ˆ˜๋กœ 100)์ด๋‹ค.

๋˜ํ•œ EAX ๊ฐ’์€ 1์—์„œ 100๊นŒ์ง€๋ฅผ ๋”ํ•œ 13BA(10์ง„์ˆ˜๋กœ 5050)๊ฐ€ ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๐Ÿ“Œ 1๋ถ€ํ„ฐ 100๊นŒ์ง€์˜ ํ•ฉ ver.2 (๋ ˆ์ง€์Šคํ„ฐ 2๊ฐœ ์‚ฌ์šฉ)

  1. EAX๊ฐ’์„ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚ค๊ณ  ECX๊ฐ€ 100๋ถ€ํ„ฐ 0๊นŒ์ง€ -1์”ฉ ํ•˜๋ฉด์„œ ECX๋ฅผ EAX๋ฅผ ๋”ํ•œ๋‹ค.
  2. LOOP๋Š” ECX๊ฐ€ 0์ผ ๋•Œ๊นŒ์ง€ ๋ˆ๋‹ค. (์—ฌ๊ธฐ์„œ LOOP ๋ช…๋ น์–ด๋Š” ECX๋ฅผ ๋จผ์ € 1๊ฐ์†Œํ•˜๊ณ  0์ธ์ง€ ์•„๋‹Œ์ง€ ๋น„๊ตํ•จ์— ์ฃผ์˜)

๐Ÿ’ป ์ฝ”๋“œ

  1. EAX๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚จ๋‹ค.
  2. LOOP๋Š” 1~100์„ ๋”ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ECX๊ฐ’์„ 100์œผ๋กœ ์ •ํ•ด ์ค˜์•ผํ•จ.
    100๋ฅผ 16์ง„์ˆ˜๋กœ ํ•˜๋ฉด 64์ด๊ธฐ ๋•Œ๋ฌธ์— 64์œผ๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚จ๋‹ค.
  3. EAX์— ECX๋ฅผ ๋”ํ•œ๋‹ค. (์ฒ˜์Œ์—” 100, LOOP ํ•œ ๋ฒˆ ๋Œ ๋•Œ ECX๊ฐ€ -1๋˜๋ฏ€๋กœ ๋‹ค์Œ์—” 99๋ฅผ ๋”ํ•˜๋Š” ์‹)
  4. ADD EAX, ECX๋ฅผ 100๋ฒˆ ๋ˆ๋‹ค.

 

๐Ÿ’ก ๋ ˆ์ง€์Šคํ„ฐ ๋ณ€ํ™” ํ™•์ธ

1.  EAX, ECX ์ดˆ๊ธฐํ™”

2.  ๋”ํ•˜๋Š” ๊ณผ์ •

ECX ๊ฐ’์„ EAX์— ๋”ํ•ด์ฃผ๊ณ  ECX๊ฐ’์€ ๋ฃจํ”„๋ฅผ ๋Œ๋ฉด์„œ 1์”ฉ ๊ฐ์†Œํ•œ๋‹ค.

3.  ๊ฒฐ๊ณผ

ECX๊ฐ€ 0์ด ๋˜๋ฉด LOOP๋ฅผ ๋ฉˆ์ถ˜๋‹ค.

EAX ๊ฐ’์€ 100์—์„œ 1๊นŒ์ง€๋ฅผ ๋”ํ•œ 13BA(10์ง„์ˆ˜๋กœ 5050)๊ฐ€ ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 ๐Ÿ“Œ ๋Š๋‚€์ 

๋ ˆ์ง€์Šคํ„ฐ 3๊ฐœ๋ฅผ ์‚ฌ์šฉํ•  ๋• 2 ~ 100๊นŒ์ง€ 99๋ฒˆ ๋Œ์•„์•ผ ํ•ด์„œ ECX ๋ ˆ์ง€์Šคํ„ฐ์— 99๋ฅผ 16์ง„์ˆ˜๋กœ ๋ฐ”๊พผ 63์„ ๋„ฃ์–ด์คฌ๋Š”๋ฐ,๋ ˆ์ง€์Šคํ„ฐ 2๊ฐœ๋ฅผ ์‚ฌ์šฉํ•  ๋• ECX๊ฐ€ ์ง์ ‘ ํ•ฉ์— ๊ด€์—ฌํ•˜๋Š” ๋ณ€์ˆ˜์˜€๊ธฐ ๋•Œ๋ฌธ์— 1 ~ 100์„ ๋”ํ•ด์•ผํ•ด์„œ 100์„ 16์ง„์ˆ˜๋กœ ๋ฐ”๊พผ 64๋ฅผ ๋„ฃ์–ด์ฃผ๋Š” ๊ณผ์ •์ด ํ—ท๊ฐˆ๋ ธ์—ˆ๋‹ค.

์ง€๊ธˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋ ˆ์ง€์Šคํ„ฐ 3๊ฐœ ์‚ฌ์šฉํ•  ๋•Œ EAX, EBX ์ดˆ๊ธฐ๊ฐ’์„ 0์œผ๋กœ ๋„ฃ๊ณ  ์ด 100๋ฒˆ(1๋ถ€ํ„ฐ 100๊นŒ์ง€) ๋„๋Š” ๊ฑธ๋กœ ์ƒ๊ฐํ•ด์„œ ECX์— 64๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์ด ์ข€ ๋” ์ˆ˜์›”ํ–ˆ์„ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

'Security > Windows' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Immunity Debugger] sum.exe ํŒŒ์ผ ๋ถ„์„  (0) 2022.03.06

+ Recent posts