본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Petools

0

Petools는 PE(Portable Executable) 파일을 분석하고 편집하는 도구 키트입니다.

PE 파일덤퍼디스어셈블러리빌더엔트로피 뷰어역공학프로세스 뷰어헥스 편집기

소개

Petools는 PE(Portable Executable) 파일을 분석하고 편집하는 도구 키트입니다. PE 파일 헤더, 섹션, 디렉터리 편집, 프로세스 뷰어, 덤퍼, 리빌더, 비교기, 스니퍼 등을 포함하며, 2002년부터 역공학 분야에서 사용되어 온 오래된 도구입니다. Jupiter 개발자가 2007년부터 유지보수해 왔으며, MIT 라이선스로 배포됩니다.

상세정보

프로그램 소개

Petools는 PE(Portable Executable) 파일을 분석, 편집, 비교, 덤프 및 재구성할 수 있는 종합적인 역공학 도구 키트입니다. 2002년부터 개발되어 온 이 도구는 PE 파일 구조에 대한 깊은 이해를 바탕으로, 말웨어 분석, 소프트웨어 디버깅, 보안 연구 등에 활용됩니다. Jupiter 개발자가 장기간 유지보수해 왔으며, MIT 라이선스 하에 오픈소스로 제공됩니다.

주요 기능

PE Editor

PE 및 DOS 헤더 편집, 섹션 편집, 디렉터리 뷰어 및 편집 기능을 제공합니다. 내보내기, 가져오기, 리소스, 예외, 재배치, 디버그, TLS, 로드 구성, 바운드 디렉터리 등을 직접 수정할 수 있으며, HEX 편집기는 섹션 컨텍스트 메뉴 및 모든 데이터 디렉터리에서 접근 가능합니다.

파일 위치 계산기 (FLC)

가상 주소(Virtual Address), 상대 가상 주소(Relative Virtual Address), 원시 파일 오프셋(Raw File Offset) 간의 변환을 지원하여 PE 파일의 내부 구조를 정확히 이해하는 데 도움을 줍니다.

PE 파일 비교기

두 PE 파일의 헤더 및 특성을 나란히 비교하여 차이점을 시각적으로 분석할 수 있습니다. 이는 패치된 파일이나 버전 간 변경 사항을 식별하는 데 유용합니다.

프로세스 뷰어 및 관리자

실행 중인 프로세스의 기본 정보와 로드된 모듈 목록을 보여줍니다. 이는 프로세스 기반 분석 및 디버깅 시 시작점으로 사용됩니다.

PE 덤퍼

실행 중인 프로세스의 메모리를 덤프할 수 있으며, 전체 덤프, 부분 덤프, 지역 덤프 세 가지 모드를 지원합니다. (참고: 덤퍼 서버 SDK는 현재 비활성화 상태입니다.)

PE 리빌더

덤프 파일을 수정하여 정상적인 PE 파일로 재구성할 수 있습니다. 덤프 픽스, 리로케이션 와이퍼, 리소스 디렉터리 재구성, PE 파일 검증, 임포트 바인더, 이미지 베이스 변경 기능을 포함합니다.

PE 스니퍼

PE 파일의 시그니처를 분석하여 패커 여부를 탐지합니다. Signs.txt에 저장된 PEiD 서명을 기반으로 작동하며, 알려지지 않은 패커에 대한 heuristic 분석도 지원합니다.

다운로드 및 설치 방법

공식 GitHub 저장소의 Releases 섹션에서 최신 버전의 7z 압축 파일을 다운로드합니다. 다운로드 후 압축을 해제하면 PETools.exe 파일을 확인할 수 있으며, 이 파일을 더블클릭하여 바로 실행할 수 있습니다. 별도의 설치 과정은 필요하지 않으며, 포터블 형태로 USB 드라이브 등에 복사하여 사용할 수 있습니다. 실행 시 관리자 권한이 필요할 수 있으니, 우클릭 후 ‘관리자 권한으로 실행’을 권장합니다.

기본 사용법

PETools.exe를 실행하면 메인 화면에서 메뉴 바를 통해 각 기능을 선택할 수 있습니다. 파일을 분석하려면 ‘파일 열기’ 메뉴를 클릭하거나 드래그 앤드롭으로 PE 파일을 가져올 수 있습니다. PE 편집기를 opened 후에는 왼쪽 트리에서 헤더, 섹션, 디렉터리 항목을 선택하여 값을 수정할 수 있으며, 변경 사항은 ‘저장’ 또는 ‘다른 이름으로 저장’을 통해 적용됩니다. 프로세스 뷰어는 ‘도구’ 메뉴에서 접근할 수 있으며, 현재 실행 중인 프로세스 목록을 새로고침하여 선택 후 모듈 정보를 확인할 수 있습니다.

이런 경우에 유용합니다

말웨어 분석가가 의심스러운 실행 파일의 내부 구조를 조사하거나, 보안 연구원이 패커 또는 보호 메커니즘을 우회하기 위해 PE 헤더를 수정해야 할 때 유용합니다. 또한, 소프트웨어 개발자가 자신의 애플리케이션이 올바른 PE 구조를 가지는지 검증하거나, 레거시 바이너리의 리소스를 추출하고 재구성해야 하는 경우에도 실용적으로 사용할 수 있습니다.

지원 환경·시스템 요구사항

최소 Windows XP부터 Windows 11까지 모든 주요 Windows 버전을 지원하며, 관리자 권한으로 실행 시 SeDebugPrivilege를 통해 프로세스 덤핑 및 저수준 파일 접근이 가능합니다. Wine 3.4, 3.0, 2.16 버전에서 테스트된 macOS 및 ReactOS 0.4.7에서도 네이티브 또는 호환 레이어를 통해 실행할 수 있습니다. 다만, 4GB 이상의 대용량 파일 처리 및 ARM 아키텍처 디스어셈블러 기능은 현재 지원되지 않습니다.

최신 버전·업데이트

현재 버전은 1.9.762.2018이며, v1.9 릴리스에서 엔트로피 뷰어, 64-bit 디스어셈블러 (diStorm v3.3.4), 로드 구성 디렉터리 편집기 향상, 고해상도 디스플레이 지원 (96/120/144/192 DPI)가 주요 추가 사항입니다. 아이콘, 로고, 툴바 등은 고해상도 모드에서 선명하게 redraw되었습니다. 자세한 변경 내역은 공식 저장소의 HISTORY 파일을 참조하십시오.

제한 사항·확인 사항

4GB를 초과하는 대용량 파일은 처리할 수 없습니다. 이는 내부 버퍼 및 주소 공간 제한 때문입니다. 또한, ARM 프로세스용 명령어 디스어셈블러 기능은 현재 제공되지 않으며, 이는 향후 개발 계획에 포함되어 있습니다. 프로세스 덤핑 기능을 사용하려면 반드시 관리자 권한으로 실행하고, 시스템 보안 설정이 SeDebugPrivilege를 허용해야 합니다.

시스템 요구사항

Windows XP 이상에서 실행 가능하며, SeDebugPrivilege를 위한 관리자 권한이 필요합니다. Windows 11, 10, 8.1, 8, 7을 지원하며, Wine을 통해 macOS 및 ReactOS에서도 실행 가능합니다.