Hex viewer로 PE/PE+, Native/Managed(.net) Binary를 구분하는 방법

간혹 정말 별것 아닌 사소한 스킬로 사람들의 이목이 집중되는 경우가 있습니다. 오히려 그 사소함이 더욱 그들을 장인으로 비춰지게 합니다.

오늘 소개 할 글은, 별다른 도구 없이 오로지 Hex Viewer 하나로 Windows에서 실행 가능한 실행 파일의 정보 (PE/PE+, Native/Managed)를 분석하는 방법을 설명합니다.

제 아무리 경력이 오래 된 개발자라 하더라도 실행 파일의 구조를 모두 외우고 다니지 않기 마련인데,

본 글의 내용을 따르면, 매우 단순하고 간단한 정보들을 기반으로 빠른 시간 내 PE/PE+, Native/Managed 정보를 분석 할 수 있게 됩니다.

직접 소개된 방법을 따라 해 본 결과, 무작위 실행 파일을 대상으로 평균 약 10초면 정보 분석이 가능 했습니다.

대신, 글을 상세히 읽고 이해하는데 약 20분정도 소요 된 것 같습니다.

요약 :

  1. PE signature를 찾습니다. (직관적으로 찾는 방법이 소개 되어 있습니다.)

  2. Optional Header에서 Magic을 찾습니다. (이 또한 굉장히 쉽게 찾도록 설명 되어 있습니다.)

  3. CLR Runtime Header를 찾습니다. (단순한 라인점프로 찾는 방법이 설명 됩니다.)

주 요지는, 프로그램이 아니라 눈으로 찾는 방법이 설명 되어 있다는 부분 입니다.

상당히 직관적으로 찾을 수 있는 방법으로, 감히 상상컨데 개발자가 아니라도 따라 할 수 있는 수준의 방법 입니다.

본문에, 약간 복잡한 설명들도 조금씩은 포함 되는데, 별다른 상세한 공부 없이 첨부된 그림만 참고해도 학습이 가능합니다.

6개의 좋아요