소스 분석과 리버싱



강병탁 / window31 (window31@empal.com / www.window31.com)


월간 마이크로소프트웨어 2008년 12월호
("올리디버거 플러그인의 구조와 원리 3회 - 리버싱 보조 플러그인 中)


리버스 엔지니어링이란 참 묘한 부분이 있다. 수십 시간을 투자해도 결과물이 나오지 않아 스트레스를 받을 때가 있는 반면에 단 몇십분만에 분석이 완료되어 쾌감을 느낄 때가 있다는 양면성 때문이다. 그것은 바이너리가 크고 작고의 문제가 아니며 코드의 양 또한 이유가 되지 못한다. 바로 분석 지점의 정확하고도 탁월한 선택이 어떻느냐에 따라 달라지는 내용이다. 그리고 그것은 분석가를 지치고 괴롭게 하거나 또는 명쾌한 해결이라는 지름길로 안내해 줄 지를 결정하게 된다.

그래서 타겟의 목표 번지 선정이 필요한 것이고 브레이크 포인트라는 개념이 존재한다. 타인이 개발한 프로그램의 소스를 받아 살펴볼 때와 리버스 엔지니어링의 공통점이 바로 그것이다. 내가 아는 부분이나 불필요한 부분, 나의 소스분석의 목적과 관계가 없는 부분은 더듬어갈 필요가 없다. 그리고 그런 부분은 살펴보아봤자 시간낭비가 될 뿐이다. 개발자와 리버서는 늘 시간에 쫓기는 사람들이다. 자신이 원하는 기능과 필요로 하는 내용을 섭렵하기 위해서 정확한 목표 지점을 선정하는 작업은 정말 필수적인 것이다........

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/223 관련글 쓰기

댓글을 달아주세요

BLOG main image
by window31

카테고리

분류 전체보기 (272)
Reverse Engineering (21)
C, C++ (20)
Kernel (8)
Guitar (18)
잡담 (74)
etc (6)
who am i (8)
보안 이야기 (85)
Tools (3)
월간 마이크로소프트웨어/.. (28)

글 보관함