Skip to content
A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)
Java Other
  1. Java 99.6%
  2. Other 0.4%
Branch: master
Clone or download

Latest commit

Konloch Merge pull request #262 from CertainLach/master
Fix class recompilation on linux
Latest commit 2f65241 Nov 22, 2019

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
install 2.9.8 Jul 30, 2015
libs Add ObjectWeb ASM Textifier 'decompiler' Aug 11, 2019
plugins 2.9.7 changes Jul 8, 2015
src Fix class recompilation on linux Nov 22, 2019
.gitignore Merge pull request #259 from hopana/utf8_character_support Nov 20, 2019
BCV Icon.ico 2.9.0 Feb 24, 2015
BCV Icon.png Added Icon Dec 18, 2014
CONTRIBUTING.md v2.9.16 Apr 17, 2019
CREDITS.md v2.9.19 changes May 6, 2019
LICENSE Reverting to a build that doesn't bug when saving a new zip -_- Jan 31, 2018
README.md v2.9.19 changes May 6, 2019
VERSION Version change Jan 31, 2018

README.md

Bytecode Viewer

Bytecode Viewer - a lightweight user friendly Java Bytecode Viewer.

New Features

  • WAR & JSP Loading
  • JADX-Core Decompiler
  • Fixed APK & dex loading
  • Fixed Java 10+ classfiles
  • Better visual feedback due to the new busy icon system
  • Synchronized viewing pane option & quick method selection
  • Updated most libraries to their 2019 version
  • Tons of bug fixes and general improvements

Links

Key Features

  • Krakatau Integration for Bytecode assembly/disassembly.
  • Smali/BakSmali Integration - You can now edit class files/dex files via smali!
  • APK/DEX Support - Using Dex2Jar and Jar2Dex it's able to load and save APKs with ease!
  • Java Decompiler - It utilizes FernFlower, Procyon, CFR, and JD for decompilation.
  • Bytecode Decompiler - A modified version of CFIDE's.
  • Hex Viewer - Powered by JHexPane.
  • Each Decompiler/Editor/Viewer is toggleable, you can also select what will display on each pane.
  • Fully Featured Search System - Search through strings, functions, variables and more!
  • A Plugin System With Built In Plugins - (Show All Strings, Malicious Code Scanner, String Decrypters, etc)
  • Fully Featured Scripting System That Supports Groovy.
  • EZ-Inject - Graphically insert hooks and debugging code, invoke main and start the program.
  • Recent Files & Recent Plugins.
  • And more! Give it a try for yourself!

Command Line Input

	-help                         Displays the help menu
	-list                         Displays the available decompilers
	-decompiler <decompiler>      Selects the decompiler, procyon by default
	-i <input file>               Selects the input file (Jar, Class, APK, ZIP, DEX all work automatically)
	-o <output file>              Selects the output file (Java or Java-Bytecode)
	-t <target classname>         Must either be the fully qualified classname or "all" to decompile all as zip
	-nowait                       Doesn't wait for the user to read the CLI messages

What is Bytecode Viewer?

Bytecode Viewer (BCV) is an Advanced Lightweight Java Bytecode Viewer, GUI Java Decompiler, GUI Bytecode Editor, GUI Smali, GUI Baksmali, GUI APK Editor, GUI Dex Editor, GUI APK Decompiler, GUI DEX Decompiler, GUI Procyon Java Decompiler, GUI Krakatau, GUI CFR Java Decompiler, GUI FernFlower Java Decompiler, GUI DEX2Jar, GUI Jar2DEX, GUI Jar-Jar, Hex Viewer, Code Searcher, Debugger and more. It's written completely in Java, and it's open sourced. It's currently being maintained and developed by Konloch.

There is also a plugin system that will allow you to interact with the loaded classfiles, for example you can write a String deobfuscator, a malicious code searcher, or something else you can think of. You can either use one of the pre-written plugins, or write your own. It supports groovy scripting. Once a plugin is activated, it will execute the plugin with a ClassNode ArrayList of every single class loaded in BCV, this allows the user to handle it completely using ASM.

How do I install BCV?

Download the latest version from https://github.com/konloch/bytecode-viewer/releases and run the Bytecode-Viewer-2.9.x.jar. You may need to execute it via command line java -jar Bytecode-Viewer-2.9.x.jar (replace the X with the current minor version)

How do I use BCV?

All you have to do is add a jar, class or APK file into the workspace. Then select the file you'd like to view from the workspace. BCV will automatically start decompiling the class in the background. When it's done it will show the Source code, Bytecode and Hexcode of the class file you chose (depending on the View panes you have selected). If you are trying to view a resource BCV will attempt to display it the best it can with code highlighting or by embedding the resources itself.

Are you a Java Reverse Engineer? Do you want to learn?

Join The Bytecode Club Today! - https://the.bytecode.club

You can’t perform that action at this time.