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 拖进去,它就能反编译、反汇编、搜索和调试,背后集成了多个开源工具。
这是桌面软件,还是在浏览器里用的?它是一个完全用 Java 编写的桌面应用,带完整的图形界面(默认深色模式),不是网页服务——要在本地运行。它也支持命令行输入。
怎么把它跑起来?下载最新的 Bytecode-Viewer jar 直接运行(如果双击没反应就用 java -jar 运行);需要 Java 8 或更高版本的运行环境。想从源码构建的话,克隆仓库然后运行 mvn package。
处理大文件或在 Windows 上有什么坑?输入文件太大可能会耗尽内存——可以分配更多内存后重新启动,比如 java -Xmx3G -jar BCV.jar。在 Windows 上可能需要在 jar 的属性里解除锁定,遇到 APK 权限错误则需要以管理员身份运行。
界面支持哪些语言?支持 30 多种,包括阿拉伯语、德语、日语、中文、俄语和西班牙语。默认开启深色模式,还有多套主题;如果界面卡顿,可以在视觉设置里切换成系统主题。
它能用来分析恶意软件吗?可以——它自带恶意代码扫描 API,插件系统也正是为这类工作设计的,比如编写在所有已加载类上运行的恶意代码搜索器或字符串去混淆器。
最近的版本有什么新东西?最近的版本加入了跳转到声明、可拖动标签页、在 BCV 内编写插件的 Plugin Writer、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