Reverse Engineering
Reverse Engineering software ๋ฅผ ๋ถ์ํ์ฌ ์์ค์ฝ๋๋ฅผ ์ญ์ผ๋ก ์์ฑ ํด ๋ด๋ ๊ธฐ๋ฒ software ๋ถ์ ๋ฐฉ๋ฒ Static analysis ํ๋ก๊ทธ๋จ์ ์คํ์ํค์ง ์๊ณ ์ํํ๋ ๋ถ์์ด๋ค. ํ๋ก๊ทธ๋จ์ ์ ์ฒด ๊ตฌ์กฐ๋ฅผ ํ์ ํ๊ธฐ ์ฌ์ฐ๋ฉฐ, ํ๊ฒฝ์ ์ ์ฝ ์ฌํญ์ ์์ ๋กญ๊ณ , ์ ์ฑ ์ฝ๋์ ์ํ์ผ๋ก๋ถํฐ ์์ ํ๋ค. ๋๋ ํ ์ ์ฉ์ ๋ถ์์ด ์ด๋ ค์ ์ง๋ค๋ ๋จ์ ์ด ์๋ค. ์ ์ ๋ถ์์ ์ฌ์ฉ๋๋ ํด๋ก๋ IDA ๊ฐ ์๋ค. IDA ๋ ํ๋ฆฌ์จ์ด๋ก https://hex-rays.com/ida-free/ ์์ ๋ค์ด ๊ฐ๋ฅํ๋ค. Dynamic analysis ํ๋ก๊ทธ๋จ์ ์คํ์ํค๋ฉฐ ์ํํ๋ ๋ถ์์ด๋ค. ํ๋ก๊ทธ๋จ์ ๊ฐ๋ต์ ์ธ ๋์์ ๋น ๋ฅด๊ฒ ํ์ธ ํ ์ ์๋ค. ์ ์ ๋ถ์๊ณผ ๋ฐ๋๋ก ํ๋ก๊ทธ๋จ ์คํ์ ํ์ํ ํ๊ฒฝ ๊ตฌ์ฑ์ด ์ด๋ ค์ธ ์ ์๋ค. ์ํฐ ๋๋ฒ๊น ๊ธฐ๋ฒ ์ ์ฉ๋ ํ๋ก๊ทธ๋จ์ ๋๋ฒ๊น ์ด ๋ถ๊ฐ๋ฅํ๋ค. IDA ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง ํด ๋จ์ถ์ด shift + F12 ๋ฌธ์์ด ๊ฒ์, String ํญ์ผ๋ก ์ด๋ x ์ํธ์ฐธ์กฐ ํ์ธ, ๋ณ์ ๋๋ ํจ์๊ฐ ์ฌ์ฉ๋๋ ๊ณณ์ ์์น๋ฅผ ํ์ธ F5 ์ด์ ๋ธ๋ฆฌ๋ฅผ C ์ธ์ด ํํ๋ก ๋ณํ g ํน์ ์ฃผ์ ํน์ ๋ผ์ธ์ผ๋ก ์ด๋ ๋์ปดํ์ผ ๋ ํจ์ ์ด๋ฆ ์์ ์ปค์๋ฅผ ๋๊ณ g ๋ฅผ ๋๋ฅด๋ฉด ์ด์ ๋ธ๋ฆฌ ์ ํจ์ ๋ผ์ธ์ ํ์ธํ ์ ์๋ค. ํจ์ ์ด๋ฆ์ ์ ์ด๋ ํจ์ ์์น๋ก ์ด๋๋๋ค. ESC ์ด์ ์ปค์ ์์น๋ก ์ด๋ Ctrl + Enter ๋ค์ ์ปค์ ์์น๋ก ์ด๋ n ๋ณ์ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ Y ๋ณ์ ํ์ ์ค์ ํจ์ ๋งค๊ฐ๋ณ์ ๋ณ๊ฒฝ, ํจ์ ๋งค๊ฐ๋ณ์ ํ์ ๋ณ๊ฒฝ F2 ์ด์ ๋ธ๋ฆฌ ํน์ C ์ธ์ด ๋ผ์ธ์์๋ break point(์ค๋จ์ ) ์ค์ stack ๋๋ hex View ์์๋ ๊ฐ ๋ณ๊ฒฝ F9 ์คํ (run) ํ๋ก๊ทธ๋จ์ ์คํ์์ผ ๋์ ๋ถ์์ ์ํํ ์ ์๋ค. F8 ํ ๋จ๊ณ ์คํ (next) F7 ํจ์ ๋ด๋ถ๋ก ์ง์ (step int) Ctrl + F2 ๋๋ฒ๊น ์ค๋จ r hex ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์๋ก ๋ณํ Shift + E ์ ํํ ๊ฐ์ ์ํ๋ ํํ๋ก ๋ณํํ์ฌ ์ถ์ถ(export) hex ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์์ด๋ก ์ถ์ถํ ๋ ์ ์ฉํ๋ค. ํ๋ฉด IDA View ...