What Binary Internals Provides
The project ships three kinds of deliverables that share the same set of format plug-ins:- BinaryInternalsViewer — a Swing desktop application that lets you open binary files from a menu or by drag-and-drop, then navigate their structure in an interactive tree.
- BinaryInternalsWeb — a self-contained web server that serves the same file view through a browser and exposes an HTTP API for programmatic parsing.
- FormatXXXX JARs — standalone libraries (one per format) that you can embed directly into your own Java project.
The Plug-in System
Format support is delivered as plug-ins discovered at runtime via the JavaServiceLoader mechanism. Each FormatXXXX module registers itself, and both the desktop viewer and the web server pick up every plug-in on the module path automatically. Adding a new format does not require changing the viewer or the web server.
Binary Internals has no third-party runtime dependencies beyond the JDK. The format JARs depend only on the shared
CommonLib module, making them safe to drop into any existing Java project without creating dependency conflicts.Supported File Formats
Java Class
JVM bytecode files produced by any Java compiler (
*.class)DEX
Dalvik Executable files for Android (
*.dex) — in progressELF
Executable and Linkable Format for *nix systems (
*.elf) — in progressZIP
ZIP archives, including JAR and APK (
*.zip)BMP
Windows Bitmap images (
*.bmp)JPEG
JPEG compressed images (
*.jpg, *.jpeg)PNG
Portable Network Graphics images (
*.png)Get Started
Choose the delivery mode that fits your workflow:Desktop Viewer
Download and run the Swing GUI application to open and explore binary files interactively on your machine.
Web Server
Start the web server with Docker or Java and use the HTTP API to parse binary files programmatically.