FindOEP
Locates the Original Entry Point of packed Windows executables using dynamic tracing, then optionally writes and verifies an unpacked dump for recovery.
Instructions
Find the Original Entry Point (OEP) of a packed executable and, optionally, produce a VERIFIED unpacked dump.
Engine: a packer-agnostic dynamic approach for the unpack-in-memory-then-jump class (UPX, ASPack, FSG, MPRESS, PECompact, Petite, simple crypters):
ESP-anchor fast-forward -- a hardware breakpoint on the stub's saved register slot skips past the decompression loop and is immune to the page writes that defeat memory breakpoints.
Section-hop conditional trace -- single-steps in the engine until execution enters a non-stub executable section (the OEP). Virtualizing protectors have no generic recoverable OEP contract here; they are reported honestly via isLikelyVirtualized rather than faked. The optional virtualization research backend is disabled in this build.
When dump_to_path is set, the dump is written via Scylla and VERIFIED before ok:true (entry moved out of the packer section to the OEP, IAT resolved, imports richer than the packed baseline). The raw memory dump is always kept, so a failed verification still leaves something for manual recovery.
timeline_to_path optionally writes a canonical unpack-workflow-v1
evidence artifact. Returns {ok, status, stages, artifacts, oepAddr,
detectedVia, confidence, moduleBase, moduleSize, packerEntry, verified,
reason, rawDumpPath, isLikelyVirtualized, ...}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| timeout_ms | No | ||
| dump_to_path | No | ||
| packer_section | No | ||
| timeline_to_path | No |