All Projects → borisf → Classyshark Bytecode Viewer

borisf / Classyshark Bytecode Viewer

Licence: apache-2.0
Browse your Java/Kotlin compiled code

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Labels

Projects that are alternatives of or similar to Classyshark Bytecode Viewer

Androidanimationexercise
Android 动画各种实现,包括帧动画、补间动画和属性动画的总结分享
Stars: ✭ 1,254 (+556.54%)
Mutual labels:  asm
Scott
Never debug a test again: Detailed failure reports and hassle free assertions for Java tests - Power Asserts for Java
Stars: ✭ 125 (-34.55%)
Mutual labels:  asm
Willos
💾 A minimal kernel (just a hobby, won't be big and professional). // Work In Progress
Stars: ✭ 163 (-14.66%)
Mutual labels:  asm
Hlslexplorer
See how hardware understands your HLSL
Stars: ✭ 91 (-52.36%)
Mutual labels:  asm
Jaop
jaop is a gradle plugin base on javassist&asm for android aop
Stars: ✭ 115 (-39.79%)
Mutual labels:  asm
Asm Cli Rust
interative assembly shell written in rust
Stars: ✭ 133 (-30.37%)
Mutual labels:  asm
Asm Module
✈️ ASM 4 教程中的示例代码,用于 ASM 学习,介绍了 ASM 中基本的使用说明。
Stars: ✭ 65 (-65.97%)
Mutual labels:  asm
Click Debounce
Using ASM to handle Android's click debounce, specially a quick double click.
Stars: ✭ 175 (-8.38%)
Mutual labels:  asm
Insn
Functional JVM bytecode generation for Clojure.
Stars: ✭ 124 (-35.08%)
Mutual labels:  asm
Sjasmplus
Command-line cross-compiler of assembly language for Z80 CPU.
Stars: ✭ 138 (-27.75%)
Mutual labels:  asm
Tools
Security and Hacking Tools, Exploits, Proof of Concepts, Shellcodes, Scripts.
Stars: ✭ 1,343 (+603.14%)
Mutual labels:  asm
Ass Js
Assembler.js — X86_64 and Ethereum
Stars: ✭ 115 (-39.79%)
Mutual labels:  asm
Cce
commandline compiler explorer - use https://godbolt.org from your terminal!
Stars: ✭ 139 (-27.23%)
Mutual labels:  asm
Methodtraceman
用于快速找到高耗时方法,定位解决Android App卡顿问题。通过gradle plugin+ASM实现可配置范围的方法插桩来统计所有方法的耗时,并提供友好的界面展示,支持耗时筛选、线程筛选、方法名筛选等。(A Tool for Discovering High Time-consuming Methods for Android App)
Stars: ✭ 1,258 (+558.64%)
Mutual labels:  asm
Corewar
A reproduction of the Core War game. Assembly compiler, Virtual Machine and GUI.
Stars: ✭ 173 (-9.42%)
Mutual labels:  asm
Toledo Atomchess
Toledo Atomchess is the world's smallest chess program in x86 assembly code
Stars: ✭ 69 (-63.87%)
Mutual labels:  asm
Bytex
ByteX is a bytecode plugin platform based on Android Gradle Transform API and ASM. 字节码插件开发平台
Stars: ✭ 2,140 (+1020.42%)
Mutual labels:  asm
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (-3.66%)
Mutual labels:  asm
Fake
嵌入式脚本语言 Lightweight embedded scripting language
Stars: ✭ 172 (-9.95%)
Mutual labels:  asm
Scouter
Scouter is an open source APM (Application Performance Management) tool.
Stars: ✭ 1,792 (+838.22%)
Mutual labels:  asm

Classyshark Bytecode Viewer

alt text

Download & Run

To run, grab the latest JAR and run java -jar classyshark-bytecode-viewer.jar. Optionally you can add a class file to open.

Why

Instantaneously understand and assess any Kotlin code.

How

The most accurate and measurable way is to look at Kotlin generated executable (.class) files, the same files that both JVM and Android DX tool see.

What

From every kotlin-compiler generated class file you will see 3 tabs:

  1. Equivalent Java code
  2. Equivalent Java bytecode
  3. Hex view

The (mind) flow will be as follows:

  1. From Kotlin code to Java code
  2. From Java code to Java bytecode (class format)
  3. From Java bytecode to hex view (raw binary format)

Here is the tricky part, instead of doing source to source translation from Kotlin to Java, it is better (faster and accurate) to decompile Kotlin generated class file right into Java.

To support the above the we use the following 2 libraries:

  • Procyon- an open source Java decompiler.
  • ASM - the best Java bytecode reading library (used both by Kotlin and Android Studio).

This is not an official Google product.

License

Copyright 2017 Google Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied. See the License for the specific language governing permissions and limitations under
the License.
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].