PRIVATE • IN-BROWSER • ZERO UPLOAD

Leviathan

A complete binary analysis,
reverse-engineering and
digital-forensics workbench —
right inside your browser.

The successor to HexEditor and BoRIS: combined, expanded, and rebuilt around a single coherent interface. Drop a file. See everything. Nothing leaves your tab.

Private by default Hundreds of MB, smoothly Plugin-extensible

One tab. One file. Every tool you need.

Leviathan is a single-page workbench for anyone who spends their day staring at unknown bytes. It combines tools you normally scatter across a dozen different utilities — a hex editor, a signature scanner, a string extractor, a disassembler, a structure parser, a diff tool, a certificate inspector, a PDF surgeon, a steganography toolkit and more — into one coherent interface.

Shared bookmarks. Shared evidence. One-click case export. Everything runs locally — the moment you drop a file onto the page the analysis begins, and nothing leaves your tab.

Replaces
  • HexEditor
    In-browser hex editing & inspection.
  • BoRIS
    Firmware triage & signature flagging.
  • + A whole forensics suite
    Disassembly, PDF surgery, stego, certificates, key recovery, SquashFS extraction, YARA-like rules, plugins, case export…

Built on four principles

Leviathan exists to be the calm, honest tool you reach for when the bytes are weird and the deadline is short.

Private by default

No upload. No telemetry. No account. Leviathan can't phone home because Leviathan has no home to phone.

Truthful over flashy

Every panel is marked solid, partial or heuristic. When a tool is guessing, it says so.

Everything in one place

Bookmarks, evidence, patches, hashes and diffs are shared across every panel and bundled into one portable case file.

Built for large files

Multi-hundred-megabyte firmware images stay smooth. Only what's on screen is rendered; the engine streams everything else.

Who it's for

If it opens in a hex editor, it opens in Leviathan — and then goes much, much further.

Malware analysts

Triage a fresh sample from cursor to case-zip without leaving the browser.

Forensic examiners

Pull artefacts from a disk or memory dump with a full evidence trail.

Firmware reversers

Unpack an IoT image: U-Boot, kernel, SquashFS rootfs — all in one tab.

CTF players

One workbench instead of twenty: hex, stego, transforms, ciphers, carving.

Incident responders

Use it on an air-gapped machine with no installation rights.

Pentesters

Investigate captured binaries, payloads and key material in seconds.

Teachers & students

Learn binary formats, cryptography and forensics with a hands-on tool.

Curious researchers

Anyone whose day involves strange bytes and short attention spans.

The hex editor

A real hex editor at the heart.

Virtualised rendering keeps multi-hundred-megabyte files scrolling smoothly. Configurable row width, endianness and encoding. In-place patching with reversible history. A live entropy minimap with pins for every search hit, bookmark and diff region.

  • Row widths: 16, 24, 32 or 48 bytes.
  • Endianness: LE / BE. Encoding: ASCII or UTF-8.
  • Type two hex digits to patch a byte. Ctrl+Z to undo.
  • Goto accepts decimal or 0x-prefixed hex.
  • Click any minimap pin to jump.
Keyboard shortcuts
Open fileCtrl+O
Save working copyCtrl+S
Command paletteCtrl+K
Undo editCtrl+Z
Goto offsetG
Add bookmarkB
Focus search/
Cycle panelsTab
Start / end of rowHome / End
Scroll a pagePgUp / PgDn
File start / endCtrl+Home / End
Close dialogEsc
The panels

Twenty-plus tools. One workbench.

Every panel lives in the side dock, shares the same bookmarks and evidence log, and clicks through to the same hex view. Pick a starting point — they all feed into each other.

Inspector

solid

Live data inspector. Shows the byte under the cursor as every common type at once: u8i64 (LE/BE), f32/f64, ASCII / UTF-8 / UTF-16, Unix & FILETIME & WebKit timestamps, OLE dates.

Use case: spot a suspicious 8-byte value in a header — instantly see whether it's a size, a pointer, an epoch or floating-point junk.

Search

solid

Three modes in one panel: ASCII text, hex with ?? wildcards (e.g. DE AD ?? ?? BE EF), and Go-flavoured regex. Streams over the file in chunks so very large inputs don't freeze the browser; matches carry across chunk boundaries.

Use case: hunt a known indicator — an API key, a domain, a protocol magic — across a disk image in seconds.

Entropy

solid

Shannon entropy plotted over a configurable window and step. High regions (approaching 8.0) indicate encryption or strong compression; flat regions are typically text, code or padding.

Use case: identify encrypted blobs inside an otherwise readable firmware dump — hidden payloads pop out immediately.

Hashes

solid

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

Use case: compute an evidentiary hash over a disk region before and after an edit, or compare against a public IOC database.

Strings

solid

Extracts printable ASCII and UTF-16 LE/BE strings with a configurable minimum length. Runs are carried across chunk boundaries so straddled strings aren't missed.

Use case: pull user-agents, URLs, command-line strings, file paths and passwords out of a closed-source binary in a single pass.

IOCs

solid

Regex-driven indicator-of-compromise extractor. 15 built-in categories: IPv4 / IPv6, email, URL, domain, MD5 / SHA-1 / SHA-256, CVE IDs, Bitcoin addresses, Windows registry keys, file paths, hex-encoded PE headers, Base64 blocks…

Use case: drop a suspicious document in and instantly get a clean list of every network indicator and file path it references.

Bookmarks

solid

Named, coloured, optionally categorised markers. Shown as highlights in the editor and pins on the minimap. Persisted in the browser and bundled into the case export.

Use case: mark every unpacked field of a header so you can return after a detour — or annotate suspicious regions for a colleague who will receive the case archive.

Structures

solid

Auto-detects and parses common formats: PNG, JPEG, ZIP, ELF, PE, Mach-O, RIFF, ASN.1 / DER. Every field is clickable — clicking jumps the hex view and highlights the byte range.

Use case: drop an unfamiliar .exe in and see every PE header field, every import and every section laid out as a tree.

Templates — Binary Templates DSL

solid

A compact DSL for arbitrary binary layouts. Write a struct that matches your file, apply it, and every field is parsed, decoded and cross-linked into the hex view. Supports primitive types (LE/BE), nested structs, arrays sized by literal or prior field, constants, enums, conditionals, and full expressions. Templates are saved to the browser.

const MAGIC_LEN = 4
enum Kind { A = 1, B = 2 }

struct Header {
  magic:   char[MAGIC_LEN]
  version: u32le
  count:   u32le
  items:   Record[count]
  if version == Kind.B {
    extra: u64le
  }
}

struct Record { id: u16le; name: char[16] }

apply Header at 0

Use case: invent your own packet format on a Tuesday afternoon, or reverse an undocumented configuration blob and share the template with a colleague.

Certificates

solid

Scans for both PEM- and DER-encoded X.509 certificates. Renders subject, issuer, serial number, validity window, public-key & signature algorithm, SANs, key usage, and SHA-256 fingerprint.

Use case: triage a captured firmware image for expired or self-signed certificates, or pull all certificates out of a memory dump for chain-of-trust analysis.

Keys & Secrets

solid

Finds embedded cryptographic material: PEM key blocks (RSA, EC, DSA, OpenSSH), PKCS#1 / PKCS#8 DER, EC private keys, OpenSSH public-key one-liners, OpenSSH v1 magic, PKCS#12 / PFX. Each finding reports kind, format, offset, length and a summary.

Use case: sweep a firmware dump or memory image for accidentally-embedded private keys before they end up in the wrong hands.

Preview

solid

Renders embedded media directly: images (PNG, JPEG, GIF, BMP, WebP), audio (WAV, MP3, OGG, FLAC), video (Matroska, MP4). Auto-scan the whole file or render just a highlighted range.

Use case: spot a JPEG hidden inside a ZIP, or play an MP3 stashed at the end of a PNG, without having to carve it out first.

Carver

solid

Searches for 17 embedded formats, each with its own structural validator where possible. Exact lengths for PNG/JPEG/ZIP/ELF; offsets and class for magic-only matches (gzip, bzip2, Mach-O, RAR).

Use case: split a monolithic disk image into its constituent files without relying on the on-disk filesystem.

Timestamps

partial

Scans for plausible timestamps in common formats: 32- and 64-bit Unix, Windows FILETIME, WebKit time, OLE automation date. Filtered to a sensible date range to cut down false positives.

Use case: build a timeline from an undocumented log or packed database file.

Transforms

solid

A transform pipeline. Chain operations: hex / Base64 encode & decode, XOR with a single byte or a full key, inflate (zlib / raw DEFLATE / gzip). Each step's output becomes the next step's input; intermediate results are shown after every stage.

Use case: unwrap a doubly-encoded payload in a single pass: base64 → zlib-inflate → xor 0x42.

Cipher

solid

Classical-cipher workbench with brute-forcing and an English-frequency scorer: Caesar shift (any), Atbash, XOR-byte brute, Vigenère (with a known key), and a "try everything" mode.

Use case: crack a trivially-obscured CTF flag or triage an obfuscated strings blob without writing a one-off script.

Rules (YARA-like)

solid

A compact YARA-like engine: ASCII, hex (with ?? wildcards) and regex patterns combined with any of them, all of them, N of them, plus basic boolean conditions.

Use case: reuse a sharing-friendly ruleset for recurring triage — a quick "is this a Cobalt Strike beacon?" pass, for example.

Compare

solid

Loads two files (main slot & compare slot — drop with Shift held) and diffs them by chunk. Differing regions are highlighted, pinned on the minimap and navigable with next / previous buttons.

Use case: identify exactly what changed between firmware 1.2.0 and 1.2.1, or spot a single flipped byte between a known-good binary and a tampered copy.

Disassembly

heuristic

Heuristic decoder for x86, x86_64, AArch64. Recognises common instruction patterns (branches, returns, moves, calls, jumps, syscalls) and falls back to db / .word with an uncertainty marker. ARM32 and MIPS render raw bytes today. Every run is logged to evidence.

Use case: get a reasonable first look at a shellcode fragment or a small firmware routine without spinning up a full disassembler.

PDF Surgery

solid

Enumerates every object in a PDF, walks stream contents and decompresses FlateDecode streams in place. Rogue objects, missing cross-references and embedded JavaScript become easy to spot.

Use case: triage a suspicious PDF attachment without running it, or extract a compressed JavaScript payload for further analysis.

Steganography

solid

Trailer detection for PNG / JPEG / ZIP — flags appended data after the EOF markers and extracts it. LSB tooling for PNG IDAT (extract or inject at configurable bit depths). Metadata extraction for PNG (tEXt / zTXt / iTXt), JPEG (COM / APPn) and a minimal EXIF ASCII parser.

Use case: CTF stego challenges — and legitimate forensic hunts for data hidden inside marketing PDFs or avatar images.

BoRIS — firmware triage

solid

A one-click firmware classifier. Flags 20+ markers: gzip, lzma, xz, bzip2, zstd, SquashFS, UBI, JFFS2, U-Boot headers, Android boot images, ELF, and more. Reports presence and offset, not contents.

Use case: first pass on an unknown IoT image — confirm whether it contains a SquashFS rootfs, a U-Boot envelope or a compressed kernel, before committing to a deeper extraction.

SquashFS

partial

Opens a SquashFS 4.x image, reads the superblock, walks the directory tree and lets you extract individual files straight to disk. Gzip is fully supported; xz, lzma, zstd, lz4 and lzo surface a clear "compressor not supported" message rather than pretending.

Use case: pull /etc/shadow or /etc/ssl/ out of a SquashFS rootfs carved from a router firmware image.

Binsnoop

solid

A multi-pattern signature scanner with Over 100 built-in formats. Archives, compression, filesystems, executables, firmware headers, images and more. Each hit comes with a confidence score (low / medium / high), an offset, a size where possible, and a description. Filter by confidence, click to jump, or carve any hit straight to disk.

Use case: a JPEG wrapped in a tarball wrapped in a cpio wrapped in a UBI volume? Binsnoop tells you.

Patch scripting

solid

A tiny audit-friendly DSL: set, fill, xor, copy. Patches are planned before they are applied — you see the exact before / after layout before anything is committed.

Use case: patch out a hard-coded check in a binary, or blank a sensitive field before sharing an artefact.

Evidence log

solid

Every significant action — hashes, disassembly runs, parsed formats, user notes — lands in an append-only evidence log. Bundled into the case export, and clearable or filterable any time.

Use case: produce a clean, timestamped trail of your investigation for a later report or an audit.

Plugins

solid

Drop an ES-module plugin file into the Plugins panel and it registers itself as a new side panel. Plugins have full access to the bridge, the bus and the shared state — first-class citizens, not walled off.

Use case: add a bespoke decoder for your organisation's internal format without ever forking the main codebase.

Cross-cutting workflows

The glue between every panel.

Case export

A single click in the title bar produces a complete portable record of your investigation as a ZIP:

  • manifest.jsonname, size, hashes, timestamps
  • original.binuntouched source
  • working.binyour edits applied
  • hashes.jsonCRC32 → SHA-512
  • bookmarks.jsonoffsets, notes, colours
  • evidence.jsonlappend-only log
  • patches.jsonevery patch you applied

Local persistence

Everything you do persists in the browser via IndexedDB:

  • The last-opened file bytes.
  • Every bookmark, note and evidence entry.
  • Saved templates.
  • Plugin registrations.

Close the tab, come back a week later, and the workbench is exactly as you left it. The browser's Application inspector can clear it any time.

Command palette

Ctrl+K opens a searchable command palette. Every panel and every action is one fuzzy-match away.

> squa
Open SquashFS panelaction
Carve SquashFS at cursoraction
Run BoRIS — flag SquashFSpanel

Useful for keyboard-first users.

In the wild

Three worked examples.

From unknown blob to explained artefact — without touching the command line.

Example 1

Triaging an unknown firmware image

  1. 01Drop the .bin straight onto the page.
  2. 02BoRIS fires automatically and reports squashfs @ 0x200000, uimage @ 0x0, gzip @ 0x40.
  3. 03Click the SquashFS pin to jump to offset 0x200000.
  4. 04Open the SquashFS panel, hit Open / refresh — the full directory tree appears.
  5. 05Click /etc/shadow — the file is extracted and downloaded.
  6. 06Flip to Keys & Secrets, press Scan, and two embedded RSA private keys are surfaced in the kernel region.
  7. 07Add an evidence note ("two keys found, likely OTA update channel") and export the case as a single ZIP.
Total wall-clock time: under five minutes.
Example 2

A suspicious PDF attachment

  1. 01Drop the PDF.
  2. 02PDF Surgery lists every object. A Catalog → Names → JavaScript entry stands out.
  3. 03The associated stream shows FlateDecode. One click decompresses it in place.
  4. 04The decompressed blob is obviously Base64. Copy it into Transforms, chain base64 → inflate and you have the underlying payload.
  5. 05IOCs picks out the embedded staging URL; Strings confirms the family.
  6. 06Export case; hand off to your incident-response team.
Never executed. Never opened. Just bytes.
Example 3

A CTF stego challenge

  1. 01Drop the PNG.
  2. 02Stego → Trailer detection flags 12 KB of data after the IEND marker. One click extracts it as a ZIP.
  3. 03The ZIP is password-protected. Carry on to Stego → LSB extract on the IDAT — the LSB channel contains the password.
  4. 04Submit flag.
Four steps. Zero scripts.

Truthful, not flashy.

Leviathan publishes a status table for every panel — solid, partial or heuristic. When a tool is guessing, it tells you so in the panel itself.

We care about being correct far more than about having the longest feature list. That said — the feature list is already very long.

Format coverage out of the box

Binsnoop signature detector 100+ formats
Structures parser PNG, JPEG, ZIP, ELF, PE, Mach-O, RIFF, ASN.1, X.509
Carver 17 formats
BoRIS firmware flagger 20+ markers
IOC categories 15 built-in
Custom formats unlimited (templates DSL)
FAQ

Frequently asked.

The honest answers — same energy as the panel status flags.

Does anything leave my browser?

No. There is no upload, no telemetry, and no account system. Analysis runs entirely inside the page.

Is it free?

Leviathan is proprietary software. Contact the author for licensing terms.

How big a file can I open?

Leviathan is designed for hundreds of megabytes of input. The editor only renders what is on screen, and the engine streams through files in chunks.

Can I use it on an air-gapped machine?

Yes — nothing needs network access once the page is loaded.

Can I extend it?

Yes. Plugins are ES modules you drop in at runtime; they register new side panels and talk to the same bridge as the built-in code.

What formats does it actually understand?

Out of the box: every format in the Binsnoop detector (over 100), every format in the Structures panel (PNG, JPEG, ZIP, ELF, PE, Mach-O, RIFF, ASN.1, X.509), every format in the Carver (17), every format in the BoRIS firmware flagger (20+). You can also author your own with the binary templates DSL.

Who is it for?

Anyone whose day involves strange bytes — malware analysts, forensic examiners, firmware RE folks, CTF players, incident responders, security researchers, and curious students.

Drop a file. See everything.

Ready to take it for a swim?

Leviathan is currently in private beta.
If you want early access, a demo, or to deploy it in your environment — let's talk.

REQUEST EARLY ACCESS

"A complete binary workbench that never leaves your browser."