콘텐츠로 이동

PE-bear - PE 파일 역어셈블링 도구 치트시트

PE-bear - PE 파일 역어셈블링 도구 치트시트

PE-bear (hasherezade 작성)는 무료 멀티플랫폼 PE (Portable Executable) 분석 도구로 친절한 GUI를 제공한다. Windows 실행 파일의 모든 부분 — DOS/NT 헤더, 섹션 테이블, 데이터 디렉토리, 임포트/익스포트, 리소스, 리치 헤더 —을 파싱하고 표시한다. 그리고 다른 파서를 깨뜨리는 변형된 PE 파일에 대해 의도적으로 견고하다. 이는 멀웨어가 자주 배포하는 방식이다. 또한 바이너리를 나란히 비교하여 빠른 멀웨어 심사 및 언팩 확인을 위한 주요 도구가 된다.

설치

플랫폼방법
Windows / LinuxGitHub 릴리스 페이지에서 빌드 다운로드
소스에서Qt + bearparser 서브모듈로 빌드
이식 가능설치 필요 없음; 추출된 바이너리 실행
확인PE-bear 시작; PE 끌어다놓기

파일 로드

작업방법
PE 열기File → Open 또는 .exe/.dll/.sys 끌어다놓기
여러 파일여러 개 로드; 각각 탭 가져옴
다시 로드외부 변경 후 다시 파싱
저장수정 사항을 디스크에 저장

검사할 수 있는 항목

패널표시
DOS HeaderMZ 헤더, e_lfanew 오프셋
Rich Header컴파일러/도구 체인 지문 (어트리뷰션에 좋음)
NT Headers파일 헤더 + 선택 헤더 (진입점, 서브시스템)
Section Headers이름, 가상/원본 크기, 특성, 엔트로피
Imports바이너리가 호출하는 DLL 및 함수
Exports바이너리가 노출하는 함수
Resources아이콘, 매니페스트, 내장 데이터
Data Directories임포트/익스포트/재배치/TLS 등 테이블

섹션 읽기 (심사 신호)

신호암시
높은 엔트로피 섹션패킹됨/암호화됨 (예: .text ~7.9+)
비정상적인 섹션 이름UPX0, .vmp0, 임의 이름 → 패커
쓰기 가능 + 실행 가능 섹션자기 수정 / 언팩 스텁
작은 임포트 테이블런타임에 확인된 임포트 (패킹됨)
홀수 진입점 섹션.text가 아닌 진입점 → 의심스러움

바이너리 비교

PE-bear는 두 파일을 나란히 표시할 수 있다 — 언팩 전후 또는 멀웨어 변형 비교에 매우 유용하다.

사용방법
패킹됨 vs 언팩됨헤더/섹션/임포트 비교
변형 분석패밀리의 두 샘플 Diff
덤프 확인메모리 덤프를 원본과 비교

편집

기능참고
헤더 필드 편집헤더 값 수정 또는 변조
섹션 편집섹션 특성 조정
추가/변환수리를 위한 구조적 편집
다른 이름으로 저장수정된 PE 작성

일반적인 워크플로우

# 알려지지 않은 Windows 샘플 심사
1. PE-bear로 샘플 끌어다놓기
2. 섹션 엔트로피 확인 → 높음 = 패킹 가능성
3. 임포트 확인 → 작음/홀수 = 런타임 확인 (패킹됨)
4. Rich Header 읽기 도구 체인/어트리뷰션 힌트
5. 내장 페이로드를 위한 리소스 검사

# 언팩된 덤프 확인
- 언팩된 PE를 원본과 나란히 보기로 비교
- IAT와 진입점이 합리적으로 보이는지 확인

PE-bear vs 다른 PE 도구

측면PE-bearCFF ExplorerDetect It EasyPEStudio
포커스PE 구조 + diffPE 편집패커/형식 ID위협 지표
변형된 PE매우 견고중간견고중간
파일 비교아니오제한적아니오
최고심사 + 구조 분석편집패커 식별IOC-스타일 심사

Detect It Easy와 패커 식별을 위해, PE-sieve와 메모리 내 임플란트 감지를 위해 잘 작동한다.

자료