Skip to content

amosshi/freeinternals

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

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

freeinternals Binary Internals Viewer

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

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.5-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.5 or higher: because we are using the Maven CI Friendly Versions ${revision} feature
  • Build
    • Build via maven command
      • mvn clean package install
    • 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
  • Project Structure
    • mvn dependency:tree
    • mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DcreateImage -Dincludes=org.freeinternals -DshowGroupIds -DshowVersions -DoutputDirectory=docs - this command needs dot command from Graphviz

Dependency Graph

Legacy note

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