Skip to content

PE-Packer (Educational)

PE‑Packer is an educational laboratory for learning the Windows Portable Executable (PE) format, safe unpacking workflows, and defensive ML evaluation. It combines a Rust backend with Python bindings and enforces strict safety gates.

  • Educational PyPI package is a non‑functional stub (prints guidance and policies).
  • Source install enables educational workflows for research and instruction.

See policies: SECURITY.md · LICENSE-APPENDIX.md

Quick start (PyPI Stub)

Install and run the educational stub:

pip install rust-python-pe-packer
pe-packer

This prints guidance and links to responsible‑use policies.

Safety model (TL;DR)

  • Default: analysis‑only dry run.
  • Actual packing requires BOTH:
  • PE_PACKER_ALLOW_PACKING=1
  • --force

Without both, commands do not write packed binaries.

Install from source (for education/research)

uv sync --group dev --group training
uv run maturin develop --features python

CLI examples

# Dry run (no env/--force)
pe-packer pack input.exe out.exe

# Actual packing (requires both)
PE_PACKER_ALLOW_PACKING=1 pe-packer pack input.exe out.exe --force

Next steps

  • Usage guide: usage.md
  • Safety & policy: safety.md
  • Architecture overview: architecture.md