간혹 정말 별것 아닌 사소한 스킬로 사람들의 이목이 집중되는 경우가 있습니다. 오히려 그 사소함이 더욱 그들을 장인으로 비춰지게 합니다.
오늘 소개 할 글은, 별다른 도구 없이 오로지 Hex Viewer 하나로 Windows에서 실행 가능한 실행 파일의 정보 (PE/PE+, Native/Managed)를 분석하는 방법을 설명합니다.
제 아무리 경력이 오래 된 개발자라 하더라도 실행 파일의 구조를 모두 외우고 다니지 않기 마련인데,
본 글의 내용을 따르면, 매우 단순하고 간단한 정보들을 기반으로 빠른 시간 내 PE/PE+, Native/Managed 정보를 분석 할 수 있게 됩니다.
직접 소개된 방법을 따라 해 본 결과, 무작위 실행 파일을 대상으로 평균 약 10초면 정보 분석이 가능 했습니다.
대신, 글을 상세히 읽고 이해하는데 약 20분정도 소요 된 것 같습니다.
요약 :
-
PE signature를 찾습니다. (직관적으로 찾는 방법이 소개 되어 있습니다.)
-
Optional Header에서 Magic을 찾습니다. (이 또한 굉장히 쉽게 찾도록 설명 되어 있습니다.)
-
CLR Runtime Header를 찾습니다. (단순한 라인점프로 찾는 방법이 설명 됩니다.)
주 요지는, 프로그램이 아니라 눈으로 찾는 방법이 설명 되어 있다는 부분 입니다.
상당히 직관적으로 찾을 수 있는 방법으로, 감히 상상컨데 개발자가 아니라도 따라 할 수 있는 수준의 방법 입니다.
본문에, 약간 복잡한 설명들도 조금씩은 포함 되는데, 별다른 상세한 공부 없이 첨부된 그림만 참고해도 학습이 가능합니다.