Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Astral-PE is a low-level mutator (headers obfuscator and patcher) for Windows PE files (.exe, .dll, .sys) that rewrites structural metadata after compilation (or postbuild protection) — without breaking execution.

It does not pack, encrypt or inject. Instead, it mutates low-hanging but critical structures like timestamps, headers, section flags, debug info, import/export names, and more.

🛠 Download Astral-PE build for Windows/Linux x64

🔧 In what cases is it useful?

You’ve protected a binary — but public unpackers or YARA rules still target its unchanged structure.

👨🏼‍💻 Use Astral-PE as a post-processing step to:

  • Prevent automated unpacking
  • Break static unpacker logic
  • Invalidate reverse-engineering signatures
  • Disrupt clustering in sandboxes
  • Strip metadata, overlays (only if file is signed), debug traces...

🤩 Perfect for:

  • For packed/protected builds (e.g. legacy Enigma)
  • To create your own protector on this base
  • Hardened loaders that remain structurally default
  • To create interesting crackme quests
  • For educational purposes

✨ What it modifies

Astral-PE applies precise, compliant, and execution-safe mutations:

TargetDescription
🕓 TimestampClears TimeDateStamp in file headers
🧠 Rich HeaderFully removed — breaks toolchain fingerprinting
📜 Section NamesWiped (.text, .rsrc, etc. → null)
📎 ChecksumReset to zero
📦 OverlayStripped if file was signed
🧵 TLS DirectoryRemoved if unused
⚙ Load ConfigDeleted (if CFG not present)
🧬 RelocationsRemoved if not used in the file
🧱 Large Address AwareEnables 4 GB memory range for 32-bit processes
🧩 Header FlagsStripped: DEBUG_STRIPPED, LOCAL_SYMS_STRIPPED, LINE_NUMS_STRIPPED
🧼 Subsystem VersionMinimum OS and Subsystem versions set to zero
🧠 Stack & Heap ReserveIncreased to safe defaults (32/64 MB) if too low
📋 Version InfoErased from optional header
📁 Original FilenameLocated and zeroed in binary tail
🔎 Debug InfoPDB paths wiped, Debug Directory erased
🚀 Entry Point PatchReplaces or shuffles prologue, changes AddressOfEntryPoint...
🧪 Import TableDLL names mutated: case, prefix, randomized formatting
🏷 Export TableFaked if absent (baits certain scanners)
📚 Data DirectoryAll unused entries cleaned
💾 PermissionsR/W/X + code flags applied to all sections
📄 DOS StubReset to clean "MZ", patched e_lfanew

📝 Does not support .NET binaries. Native PE only.

🚀 Usage

Astral-PE.exe <input.exe> -o <output.exe>
  • -o, --output — output file name (optional). Default output: <input>_ast.exe
  • -l, --legacy-win-compat-mode — specify to ensure compatibility with Windows 7, 8, or 8.1. Obfuscation will be less effective!
  • No args? Shows help

🧪 Example

Astral-PE.exe payload.exe -o payload_clean.exe

📎 Combination with other protections

Use Astral-PE after applying protectors.
Chain it into your CI, cryptor, or loader pipeline:

Build → Any packer → Astral-PE → Sign → Distribute

Or (A more effective way):

Build → Astral-PE → Any packer → Astral-PE → Sign → Distribute

🔬 What it’s not

  • Not a cryptor
  • Not a stub injector
  • Not a runtime packer
  • Not a code obfuscator

It’s a surgical metadata cleaner and PE-headers/entrypoint obfuscator for post-processing protected binaries.

🔎 Before and after

A file compiled via Microsoft Visual C++ was chosen as a sample for demonstration.

File analyzers go crazy.

Scanned with Detect It Easy. No reliable verdicts other than the heuristic analysis.

Imports have become mutated.

This makes it very difficult for all existing PE file analyzers to analyze the file.

No debug data in PE!

Automatically remove references to PDB files, embedded debug information or other patterns that can simplify analysis (e.g. Rich signature)


关于 About

Astral-PE is a low-level mutator (Headers/EP obfuscator) for native Windows PE files (x32/x64)
cppcscybersecuritydotnethacktoberfestinfoseclow-levellow-level-programmingmalware-analysismutatornativeobfuscationobfuscatorpepentestreverse-engineeringsecuritystatic-analysis

语言 Languages

C#97.7%
Batchfile2.3%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
1
Total Commits
峰值: 1次/周
Less
More

核心贡献者 Contributors