1. The Interactive DisAssembler

 

์„ค์น˜ ํ™”๋ฉด

 

 

2. IDA ๋‘˜๋Ÿฌ๋ณด๊ธฐ

 

Functions window

 

IDA์—์„œ ๋ถ„์„ํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ํ•จ์ˆ˜๋ฅผ ๋‚˜์—ดํ•œ๋‹ค.

ํ•ด๋‹น ์ฐฝ์—์„œ Ctrl + F ๋‹จ์ถ•ํ‚ค๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

Graph overview

 

ํ•จ์ˆ˜๋ฅผ ๊ทธ๋ž˜ํ”„ํ™”ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค€๋‹ค.

ํ•ด๋‹น ์ฐฝ์„ ํ†ตํ•ด ํ•จ์ˆ˜์˜ ํ๋ฆ„์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

Output window

 

๋ถ„์„ ๊ณผ์ •์„ ๋ฉ”์‹œ์ง€๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

ํ•ด๋‹น ์ฐฝ์„ ํ†ตํ•ด IDA์˜ ๋ถ„์„ ๊ณผ์ •์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

View

 

๋””์ปดํŒŒ์ผ ๊ฒฐ๊ณผ, Hex-View, ๊ตฌ์กฐ์ฒด ๋ชฉ๋ก ๋“ฑ์˜ ํ™”๋ฉด์„ ํ‘œ์‹œํ•œ๋‹ค.

 

 

 

 

 

3. IDA ๊ธฐ๋Šฅ

์ž„์˜ ์ฃผ์†Œ ๋ฐ ๋ ˆ์ด๋ธ” ์ด๋™

 

๋‹จ์ถ•ํ‚ค G๋ฅผ ์ด์šฉํ•ด ์ž„์˜ ์ฃผ์†Œ ๋˜๋Š” ๋ ˆ์ด๋ธ”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

ํ•จ์ˆ˜ ๋ฐ ๋ณ€์ˆ˜ ์ด๋ฆ„ ์žฌ์„ค์ •

 

๋‹จ์ถ•ํ‚ค N์„ ์‚ฌ์šฉํ•ด ํ•จ์ˆ˜ ๋ฐ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์žฌ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ •์˜๋˜์ง€ ์•Š์€ ํ•จ์ˆ˜ ๋ฐ ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ด๋ฆ„์„ ์„ค์ •ํ•˜์—ฌ ๋ถ„์„ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

Cross reference (Xref)

 

 

์ž„์˜์˜ ํ•จ์ˆ˜ ๋˜๋Š” ๋ณ€์ˆ˜๋ฅผ ํด๋ฆญํ•˜๊ณ , ๋‹จ์ถ•ํ‚ค X๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ํ•จ์ˆ˜ ๋ฐ ๋ณ€์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์˜์—ญ์„ ์žฌ์ฐธ์กฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

ํ•จ์ˆ˜ ๋ฐ ๋ณ€์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ

 

์ž„์˜์˜ ํ•จ์ˆ˜ ๋˜๋Š” ๋ณ€์ˆ˜๋ฅผ ํด๋ฆญํ•˜๊ณ , ๋‹จ์ถ•ํ‚ค Y๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ํ•จ์ˆ˜ ๋ฐ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ, ์ „๋‹ฌ๋˜๋Š” ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ํƒ€์ž…์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

Strings

 

๋‹จ์ถ•ํ‚ค Shift + F12๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•จ์ˆ˜์˜ ์‹ฌ๋ณผ์ด ์กด์žฌํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ๋ณต์žกํ•  ๊ฒฝ์šฐ ๋ฌธ์ž์—ด์„ ํ†ตํ•ด ๋ถ„์„ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

Decompile

 

IDA์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์œผ๋กœ, ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ C์–ธ์–ด ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ณด์—ฌ์ค€๋‹ค.

 

 

 

 

 

 

๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค!