Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pefile — pefile is a Python module to read and work with PE (Portable Executable) files | Kitploit
도구/GitHubGitHub/erocarrera/pefile
Static AnalysisVulnerability AnalysisReverse EngineeringForensicsMalware AnalysisBinary AnalysisMalware Analysis #18위Static Analysis #9위
GitHuberocarrera/pefile

pefile

pefile is a Python module to read and work with PE (Portable Executable) files

저장소 보기
2.1k5419021시간 5분 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
요청한 언어로 콘텐츠를 사용할 수 없습니다. 영어 버전을 표시합니다.

pefile

PyPI version pefile test Coverage OpenSSF Scorecard Contributors Code style: black Downloads Downloads

pefile is a multi-platform Python module to parse and work with Portable Executable (PE) files. Most of the information contained in the PE file headers is accessible, as well as all the sections' details and data.

The structures defined in the Windows header files will be accessible as attributes in the PE instance. The naming of fields/attributes will try to adhere to the naming scheme in those headers. Only shortcuts added for convenience will depart from that convention.

pefile requires some basic understanding of the layout of a PE file — with it, it is possible to explore nearly every single feature of the PE file format.

Installation

To install pefile through pip:

pip3 install pefile

source checkout

this repository contains a large compressed test corpus, and its git history retains older versions of that corpus. a full clone can therefore be much larger than the library itself. use the pip installation above if you only need the library.

to work on the source without downloading the test corpus or its history:

git clone --depth 1 --filter=blob:none --sparse https://github.com/erocarrera/pefile.git
cd pefile
git sparse-checkout set ordlookup

this checks out the library and its ordinal lookup tables. to include the tests, run git sparse-checkout set ordlookup tests; this also downloads the large test corpus. --depth 1 omits older history, and filtered clones fetch additional file contents when needed.

Features

Some of the tasks that pefile makes possible are:

  • Inspecting headers
  • Analyzing of sections' data
  • Retrieving embedded data
  • Reading strings from the resources
  • Warnings for suspicious and malformed values
  • Basic modifying of PEs, like writing to some fields and other parts of the PE
    • This functionality won't rearrange PE file structures to make room for new fields, so use it with care.
    • Overwriting fields should mostly be safe.
  • Packer detection with PEiD’s signatures
  • PEiD signature generation

Please, refer to Usage Examples for some code snippets that demonstrate how to use pefile.

Here are a few examples of what a dump produced with pefile looks like for different types of files:

  • a packed file
  • kernel32.dll
  • TinyPE

To work with authenticated binaries, including Authenticode signatures, please check the project verify-sigs.

pefile runs in several pipelines scanning hundreds of thousands of new PE files every day, and, while not perfect, it has grown to be pretty robust over time. That being said, small glitches are found now and then. If you bump into a PE that does not appear to be processed correctly, do report it, please! It will help make pefile a tiny bit more powerful.

Dependencies

pefile is self-contained. The module has no dependencies; it is endianness independent; and it works on Windows, macOS, and Linux.

Running tests

The test runner lives in tests/pefile_test.py. Its PE samples and expected dumps come from the separate pefile-tests repository. Clone that repository into pefile-tests/ at the root of this checkout, then run:

python -m pip install -e ".[dev]"
python -m pytest tests

CI checks out the corpus in the same location and runs this test module through tox. The corpus remains in its own repository so binary samples and expected dumps can be updated independently.

Projects and products using pefile

  • Didier Stevens' pecheck, a tool for displaying PE file info, handles PEiD files better then pefile does.
  • MAEC, a standardized language for encoding and communicating high-fidelity information about malware based upon attributes such as behaviors, artifacts, and attack patterns. MAEC converts pefile's output into their XML format.
  • Qiew, a Hex/File format viewer.
  • VirusTotal
  • bbfreeze
  • pyemu: download, GitHub, whitepaper
  • Immunity Debugger 1.1
  • Cuckoo
  • CAPE
  • MultiScanner
  • PE Tree
  • icoextract

Additional resources

PDFs of posters depicting the PE file format:

  • Portable Executable Format Layout shows the full view of the headers and structures defined by the PE format.
  • Portable Executable Header Walkthrough shows the raw view of an executable file with the PE format fields laid out over the corresponding areas.

The following links provide detailed information about the PE format and its structures.

도구 다운로드