All Projects → zxh0 → Classpy

zxh0 / Classpy

Licence: mit
GUI tool for investigating Java class files

Programming Languages

java
68154 projects - #9 most used programming language
lua
6591 projects

Projects that are alternatives of or similar to Classpy

jvm
Pure Rust implementation of the JVM 7 specification
Stars: ✭ 27 (-96.84%)
Mutual labels:  jvm, wasm
wasm.cljc
Spec compliant WebAssembly compiler, decompiler, and generator
Stars: ✭ 178 (-79.16%)
Mutual labels:  jvm, wasm
Asmble
Compile WebAssembly to JVM and other WASM tools
Stars: ✭ 466 (-45.43%)
Mutual labels:  wasm, jvm
wasm2kt
Web Assembly to Kotlin and Java converter. Allows to compile a C or C++ program/library, and generate a Kotlin or Java program/library.
Stars: ✭ 20 (-97.66%)
Mutual labels:  jvm, wasm
Wasm2kt
Web Assembly to Kotlin and Java converter. Allows to compile a C or C++ program/library, and generate a Kotlin or Java program/library.
Stars: ✭ 18 (-97.89%)
Mutual labels:  wasm, jvm
Skylight
A tutorial wayland based window manager based off Wayland McWayface
Stars: ✭ 26 (-96.96%)
Mutual labels:  jvm
Bestnote
👊 持续更新,Java Android 近几年最全面的技术点以及面试题 供自己学习使用
Stars: ✭ 841 (-1.52%)
Mutual labels:  jvm
Node Electrum Client
Electrum Client for node.js
Stars: ✭ 25 (-97.07%)
Mutual labels:  bitcoin
Loom
https://openjdk.java.net/projects/loom/
Stars: ✭ 921 (+7.85%)
Mutual labels:  jvm
Jvm Callgraph
Call graph generator for JVM bytecode
Stars: ✭ 9 (-98.95%)
Mutual labels:  jvm
Token Core Ios
a blockchain private key management library on iOS
Stars: ✭ 850 (-0.47%)
Mutual labels:  bitcoin
Zemeroth
😠⚔️😈 A minimalistic 2D turn-based tactical game in Rust
Stars: ✭ 940 (+10.07%)
Mutual labels:  wasm
Crypto Supplies
Cryptocurrency circulating, maximum and total supplies
Stars: ✭ 26 (-96.96%)
Mutual labels:  bitcoin
Raspibolt
Bitcoin & Lightning full node on a Raspberry Pi
Stars: ✭ 842 (-1.41%)
Mutual labels:  bitcoin
Lnbook
Mastering the Lightning Network (LN)
Stars: ✭ 931 (+9.02%)
Mutual labels:  bitcoin
Webrtc
Pure Go implementation of the WebRTC API
Stars: ✭ 8,399 (+883.49%)
Mutual labels:  wasm
Bitcoin Donate
Add simple donate buttons to any website
Stars: ✭ 24 (-97.19%)
Mutual labels:  bitcoin
Finch
An Open Source Cryptocurrency Payment Processor.
Stars: ✭ 27 (-96.84%)
Mutual labels:  bitcoin
Warren
🐇 Kotlin/JVM, tested, IRC v3.2 client state management and observing
Stars: ✭ 8 (-99.06%)
Mutual labels:  jvm
Multy Back
Back-end of the Multy - mobile multy-blockchain wallet.
Stars: ✭ 26 (-96.96%)
Mutual labels:  bitcoin

Classpy

Classpy is a GUI tool for investigating Java class file, Lua binary chunk, Wasm binary code, and other binary file formats.

Inspiration

This tool is mainly inspired by javap and JavaClassViewer. I reinvent the wheel for the following two reasons:

1. Learn Java class file format and bytecode through parsing it
2. Try JavaFX 8

Features

  • Understands class files described by JVMS9
  • Supports Lua 5.3 binary chunk format
  • Supports Wasm binary format
  • Supports Bitcoin raw block and transaction format
  • Displays parsed binary file as tree and hex text
  • The corresponding hex text is highlighted when you select a tree node

Quick Start

Just for macos with brew

  • Install
brew tap guxingke/repo && brew install classpy
  • Try
    • open default gui window
    classpy
    
    • open gui window with args
    echo "public class HelloWorld { public static void main(String[] args) { System.out.println(\"Hello World\"); } }" > HelloWorld.java
    $JAVA_HOME/bin/javac HelloWorld.java
    
    classpy HelloWorld.class
    

Requirements

Java 15 (checkout branch java8 if you stuck on Java 8)

Build

cd path/to/classpy
./gradlew fatJar
# java -jar path/to/classpy/classpy-gui/build/libs/classpy-fat-jar-0.10.0.jar

Run

cd path/to/classpy
./gradlew run

Screenshots

Screenshot1 Screenshot2 Screenshot3 Screenshot4

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].