Skip to content

amosshi/binaryinternals

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
September 22, 2023 00:54
September 22, 2023 00:54
September 22, 2023 08:22
September 22, 2023 00:54
September 22, 2023 00:54
September 22, 2023 00:54
September 22, 2023 00:54
September 22, 2023 00:54
September 22, 2023 08:22
February 12, 2023 22:52
June 13, 2020 00:01
September 22, 2023 08:22
March 5, 2023 23:24
September 22, 2023 00:54
September 22, 2021 01:02
September 22, 2021 01:02
September 22, 2023 00:54

Binary Internals Viewer

An application to show binary file internals visually & interactively for the meaning of every bit.

Supported Formats

Sample

  • Here is a screen shot opening java.lang.String.class file

Sample Class

Download

User guide

  • We need the java command to run this tool
    • java -jar BinaryInternalsViewer-3.6-timestamp.jar
      • Where timestamp is the auto-generated build timestamp
    • Menu item: File > Open...
    • Choose the binary file to view

Build the Source Code

  • Prerequisite
    • Java Version: OpenJDK version 11 or higher
    • Set JAVA_HOME environment variable
      • If not set use the export statements in the build.sh script
    • Build Tool: Apache Maven 3.6 or higher: because we are using the Maven CI Friendly Versions ${revision} feature
  • Build
    • Build via maven command
      • mvn clean
      • mvn package
      • mvn install
      • mvn site:site
      • mvn site:stage
    • Build with Script
      • ./build.sh (Linux/MacOS/Windows Git Bash)
      • build.cmd (Windows CMD)

Structure

  • This application does not have 3rd party dependency other than JDK, easy to add it to your existing project
  • Show dependency tree for this project
    • mvn dependency:tree
  • Graph of all dependencies aggregated
    • Make sure Graphviz has been installed, dot command is available
    • mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DcreateImage -Dincludes=org.binaryinternals -DshowGroupIds -DshowVersions -DoutputDirectory=docs

Dependency Graph

Legacy note

  • The original Java Class Viewer has been retired and merged into Binary Internals Viewer since Apr 2021

Standalone Libs

The FormatXXXX.jar files can be used in your project when needed.