Phone:

Hidden from the page source until you click: friction against scrapers, not a guarantee.

Email:

[email protected]

Role:

Sole designer & engineer

Stack:

Browser-native, virtualised rendering, no server

Status:

Early access

Leviathan

A binary-analysis and forensics workbench that runs entirely in the browser: one tab, one file, every tool you need.

  • Forensics
  • Reverse engineering
  • Browser-based
  • No upload
Leviathan
The problem

Binary analysis and forensics work usually means switching between a dozen single-purpose tools: a hex editor here, a hashing utility there, a separate cipher cracker, a separate structure parser, often on a machine with no installation rights and definitely no network access. Nothing shares state, so bookmarks, notes and intermediate findings live in a scattered mess of scratch files, and every handoff to a colleague means re-explaining what you found and where.

What I built

A single-page workbench with a real hex editor at its core: virtualised rendering so multi-hundred-megabyte files stay smooth, configurable row width and endianness, in-place patching with reversible history, and a live entropy minimap that pins every search hit, bookmark and diff region. Over twenty tools sit in a side dock around that core, all sharing the same bookmarks, evidence log and hex view, so starting from any one of them (a hash, a suspicious string, an embedded certificate) leads naturally into the others.

It runs entirely client-side: no upload, no telemetry, no account, which matters as much for air-gapped incident response as it does for not wanting a case's raw bytes to leave the building. Every panel is marked solid, partial or heuristic, because a forensics tool that doesn't say when it's guessing is worse than useless.

Engineering decisions
  • Shared state over isolated tools: bookmarks, evidence and hashes are visible from every panel, so context never has to be rebuilt when switching tools.
  • Virtualised rendering: only what's on screen is rendered, so a 500 MB firmware dump scrolls as smoothly as a 5 KB file.
  • Truthful confidence labelling: structural parsers report solid matches, heuristic scanners (like the timestamp finder) are labelled as guesses.
  • Portable case export: everything a session produces bundles into one file, so handing a case to a colleague doesn't mean re-explaining it from scratch.
What it demonstrates

Taking a domain full of separate, well-understood single-purpose tools and unifying them around a genuinely shared data model, in the browser, without sacrificing the performance a hex editor needs on large files. It's also a reasonable proxy for how I approach most engineering: find the point where twenty disconnected tools should really have been one connected workbench, then build that instead.

Twenty-plus tools, one workbench
Inspector

The byte under the cursor as every common type at once: u8-i64 (LE/BE), f32/f64, ASCII/UTF-8/UTF-16, and Unix, FILETIME, WebKit and OLE timestamps.

Search

ASCII text, hex with ?? wildcards, and Go-flavoured regex, streamed over the file with matches carried across chunk boundaries.

Entropy

Shannon entropy over a configurable window: encrypted or compressed regions stand out near 8.0; flat regions are usually text, code or padding.

Hashes

Streaming CRC32, MD5, SHA-1, SHA-256 and SHA-512 over the whole file or any selected range.

Strings

Printable ASCII and UTF-16 (LE/BE) strings with a configurable minimum length, carried across chunk boundaries.

IOCs

A regex-driven indicator extractor across 15 categories: IPs, email, URL, domain, hashes, CVE IDs, Bitcoin addresses, registry keys and more.

Bookmarks

Named, coloured, categorised markers shown in the editor and on the minimap, persisted locally and bundled into the case export.

Structures

Auto-detects and parses PNG, JPEG, ZIP, ELF, PE, Mach-O, RIFF and ASN.1/DER, with every field clickable back to the hex view.

Templates

A compact DSL for arbitrary binary layouts: nested structs, arrays, enums, conditionals and full expressions, saved locally and shareable.

Certificates

Finds PEM/DER X.509 certificates and renders subject, issuer, validity, key and signature algorithms, SANs and fingerprint.

Keys & Secrets

Finds embedded cryptographic material: PEM key blocks, PKCS#1/PKCS#8, OpenSSH, PKCS#12/PFX, to sweep a dump for accidental key leaks.

Preview

Renders embedded images, audio and video directly, so a JPEG inside a ZIP or an MP3 stashed in a PNG is visible immediately.

Carver

Searches for 17 embedded formats, each with its own structural validator where possible, to split a disk image into its files.

Timestamps

Scans for plausible 32/64-bit Unix, Windows FILETIME, WebKit and OLE dates, filtered to a sensible range.

Transforms

A pipeline of hex/Base64 encode-decode, XOR and inflate steps, each feeding the next, to unwrap layered encodings in one pass.

Cipher

A classical-cipher workbench with brute-forcing and an English-frequency scorer: Caesar, Atbash, XOR-byte brute, Vigenère.

Rules (YARA-like)

A compact YARA-like engine combining ASCII, hex and regex patterns with any/all/N-of conditions for reusable triage rulesets.

Case export

Bookmarks, evidence, patches, hashes and diffs bundle into one portable case file to hand to a colleague.