PRJ-001 / SOFTWARE

Loupe

PE inspection and an experimental emulation environment

RECORD PRJ-001 STATUS ACTIVE DEVELOPMENT STARTED 2026 CLASS SOFTWARE
INDEX TERMS GoUnicornPE / x86–64
INSPECT / PREFERRED ENTRY ADDRESS

Before execution,
an address has to mean something.

ImageBase EntryPointRVA
imageInfo.EntryPointVA = imageInfo.ImageBase + uint64(imageInfo.EntryPointRVA)
SOURCE / inspect/inspect.goFrom Loupe’s shared core. File offset ≠ virtual address ↗
PROJECT / LOUPE PRJ-001
OVERVIEW

Loupe is an investigation into how a Windows executable is structured, loaded, and eventually observed. Its long-term aim is emulation-based deobfuscation and unpacking.

The current implementation starts with a Portable Executable parser and a Unicorn-based execution harness. It is also a practical study of the boundary between file bytes, virtual memory, and program behavior.

The browser Lab exposes one complete part of that work: static inspection. It uses Loupe’s shared image model to read a file’s structure without running it. No emulation, malware verdicts, or recovered payloads are implied by those results.

Architecture

PRJ-001 / LOUPESTATIC CORE
01PE filebytes on disk
02inspect.ParseHeaders · addresses · sections
03 / NATIVELoupe CLIUnicorn harness
Experimental execution
03 / BROWSERTrinity LabGo → WebAssembly
Static inspection
One image model. Two interfaces.
Architecture of the shared inspection boundary.
CURRENT IMPLEMENTATION 3 AREAS
01

Inspect

Read PE headers, preferred image addresses, and section descriptors. The shared Go core powers the native loader and the browser Lab.

02

Map

The native CLI maps headers and selected sections into Unicorn memory. This is experimental loader code, not a complete Windows environment.

03

Instrument

The native harness contains architecture-aware IAT patching and instruction, memory, and API hooks. These are development scaffolding; the Lab does not run them.

DEVELOPMENT STATUS ACTIVE DEVELOPMENT
CURRENT STATUS

Static inspection is available in the browser. Native emulation remains experimental, with incomplete Windows API and process-environment behavior.

NEXT STEPS

Test the native loader and API stubs against controlled fixtures before exposing execution results. Reliable unpacked-output recovery is a future goal.

PRJ-001 / LOUPE IN THE BROWSERRun Loupe →Inspect a PE file locally