bytecode-viewer README

The project's README from github.com/Konloch/bytecode-viewer. As one markdown file: README.md.

Bytecode Viewer

Bytecode Viewer - a lightweight user-friendly Java/Android Bytecode Viewer, Decompiler & More.

New Features

Key Features

Command Line Input

	-help                         Displays the help menu
	-clean                        Deletes the BCV directory
	-english                      Forces English language translations
	-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/Android Reverse Engineering Suite. Powered by several open source tools BCV is designed to aid in the reversing process.

BCV comes with 6 decompilers, 3 disassemblers, 2 assemblers, 2 APK converters, advanced searching, debugging & more.

It's written completely in Java, and it's open sourced. It's currently being maintained and developed by Konloch.

Is there a demo?

BCV Demo

Please note this demo is from a very old version

How do I install BCV?

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

How can I use BCV?

How do the plugins work?

There is also a plugin system that will allow you to interact with the loaded classfiles. You could for example write a String deobfuscator, a malicious code searcher, or anything else you can think of.

You can either use one of the pre-written plugins, or write your own. The plugin system supports java and javascript 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.

Instructions to compile

Just clone this repo and run mvn package. It's that simple!

Working on the source

Open the Maven project (e.g. in IntelliJ, open the pom.xml as a project file).

UI Is Lagging

Change the theme to your systems. Go into View->Visual Settings->Window Theme and select System Theme.

Java Heap Space Issues (java.lang.OutOfMemoryError)

Start BCV with more RAM, e.g. java -Xmx3G -jar BCV.jar

File Permission Issues (java.io.FileNotFoundException)

Right click on the jar file, go to Properties, and select Unblock under Security at the bottom of the General tab.

APK File Permission Issues (java.io.FileNotFoundException)

Run BCV as administrator.

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

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

bytecode-viewer (Konloch/bytecode-viewer)

Searching Database…

Что это такое?Bytecode Viewer (BCV) — это лёгкий набор инструментов для реверс-инжиниринга Java/Android: перетащите внутрь Jar- или APK-файл, и он декомпилирует, дизассемблирует, ищет и отлаживает его, используя несколько open source-инструментов.
Это десктопное приложение или работает в браузере?Это десктопное приложение, полностью написанное на Java, с полноценным графическим интерфейсом (по умолчанию тёмная тема), а не веб-сервис — вы запускаете его локально. Также оно принимает ввод через командную строку.
Как его запустить?Скачайте последнюю версию Bytecode-Viewer в виде jar-файла и запустите его (через java -jar, если двойной клик не срабатывает); нужна Java-среда версии 8 или новее. Чтобы собрать из исходников, склонируйте репозиторий и выполните mvn package.
Есть ли подводные камни с большими файлами или на Windows?Большие файлы могут исчерпать память (heap) — перезапустите с большим объёмом RAM, например java -Xmx3G -jar BCV.jar. На Windows может понадобиться разблокировать jar-файл в его свойствах, а при ошибках доступа к APK запускайте от имени администратора.
На каких языках есть перевод интерфейса?Более чем на 30, включая арабский, немецкий, японский, китайский, русский и испанский. По умолчанию включена тёмная тема с несколькими вариантами оформления, а если интерфейс подтормаживает, можно переключиться на системную тему в настройках отображения.
Пригодится ли для анализа вредоносного кода?Да — в комплекте есть API для сканирования вредоносного кода, а система плагинов создана именно для таких задач: например, можно писать поиск вредоносного кода или деобфускаторы строк, работающие по каждому загруженному классу.
Что нового в последних версиях?Недавние версии добавили переход к объявлению, перетаскиваемые вкладки, Plugin Writer для создания плагинов прямо внутри BCV, дизассемблер Javap, поддержку XAPK, поддержку файлов JDK 13+ и исправление CVE-2022-21675 — убедитесь, что у вас v2.11.X.
What are similar projects?jadx, radare2, dex2jar, ASC, Apktool, dnSpy, jd-gui, Detect-It-Easy
Creator
Konloch
Size
633.5 MB
Stars
15.7K
Age
12y
Commits · 90 Days