Update About Text

This commit is contained in:
Konloch 2022-01-19 12:43:30 -06:00
parent 39adef2cec
commit 76c53eddb4
2 changed files with 35 additions and 172 deletions

View file

@ -1,166 +0,0 @@
<html lang="en">
<h2>About</h2>
Bytecode Viewer (BCV) is an easy to use Java & Android Reverse Engineering Suite!<br>
BCV is designed to be extremely user and beginner friendly, because of this almost everything is accessible through an interface, settings, tools, etc.
<br><br>To start drag your Jar/APK/Class file into the resource list.
<h2>How To - Java Importing</h2>
<pre>
Java resources have no special preprocessing before you open them.
Import your Jar/Class/WAR/EAR file via the File>Open menu in Bytecode Viewer. (CTRL + O)
</pre>
<h2>How To - Android Importing</h2>
<pre>
Android resources have three options for preprocessing:
1). Decode Resources
2). Enjarify
3). Dex2Jar (d2j)
1). Decode Resources will run APKTool to decode any packed android-specific resources
2). Enjarify will convert the dalvik specific bytecode to java bytecode
3). Dex2Jar will convert the dalvik specific bytecode to java bytecode
Import your APK/WAPK/DEX file via the File>Open menu in Bytecode Viewer. (CTRL + O)
</pre>
<h2>How To - File Navigation</h2>
<pre>
Using the resource list (it should say "Files" on the title bar) you can select all of the resources added into BCV.
Any archive will opened, to select a resource click + button for each folder.
Using the search pane inside of the resource list you can search by file name and extension.
For case-sensitivity enable the checkbox labeled "Exact".
</pre>
<h2>Settings</h2>
<ul>
<li>Fat Jar: {fatJar}</li>
<li>Java: {java}</li>
<li>Javac: {javac}</li>
<li>Python 2.7 (or PyPy): {python}</li>
<li>Python 3.X (or PyPy): {python3}</li>
<li>RT.jar: {rt}</li>
<li>Optional Lib: {lib}</li>
<li>BCV Dir: {bcvDir}</li>
<li>Temp Dir: {tempDir}</li>
<li>Krakatau Dir: {krakatauDir}</li>
<li>Enjarify Dir: {enjarifyDir}</li>
<li>BCV Krakatau version: v{krakatauVersion}</li>
<li>BCV Enjarify version: v{enjarifyVersion}</li>
</ul>
<h2>Command Line Interface (CLI)</h2>
<ul>
<li> -help Displays the help menu</li>
<li> -list Displays the available decompilers</li>
<li> -decompiler [decompiler] Selects the decompiler, procyon by default</li>
<li> -i [input file] Selects the input file (Jar, Class, APK, ZIP, DEX all work automatically)</li>
<li> -o [output file] Selects the output file (Java or Java-Bytecode)</li>
<li> -t [target classname] Must either be the fully qualified classname or "all" to decompile all as zip</li>
<li> -nowait Doesn't wait for the user to read the CLI messages</li>
</ul>
<h2>File</h2>
<ul>
<li>Add (Ctrl + O) - If you add a jar/zip BCV will unzip it, if you add an APK or DEX file, BCV will run dex2jar
then run the jar input process.
</li>
<li>Reopen Recent File (Ctrl + L) - Reopens your last recent opened file.</li>
<li>New Workspace (Ctrl + N) - It clears the opened jars/resources.</li>
<li>Run (Ctrl + R) - Runs the classfiles you've loaded into BCV in a secure sandboxed JVM instance that you can
fully debug.
</li>
<li>Compile (Ctrl + T) - Tries to compile all of the editable panes you've selected, if it's Java it'll compile with
Ranino. Krakatau and *Smali use their own assemblers.
</li>
<li>Save As Jar - Export the class files and loaded resources as a runnable Jar file.</li>
<li>Save As DEX - Run jar2dex and export the Classfiles as DEX.</li>
<li>Save Files As - Save all the Classfiles and resources as a zip.</li>
<li>Save Java File As - Save the currently opened decompiled Classfile.</li>
<li>Save Java Files As - Save all of the decompiled Classfiles as a zip.</li>
<li>Recent Files - Last 25 files/directories you've opened with BCV.</li>
<li>About - A small information window about BCV.</li>
<li>Exit - Closes BCV.</li>
</ul>
<h2>View Panes</h2>
<ul>
<li>Editable - Defines if that viewing pane will be editable.</li>
<li>None - Nothing will be displayed.</li>
<li>Procyon - Decompiles with Procyon decompiler.</li>
<li>CFR - Decompilers with CFR decompiler.</li>
<li>FernFlower - Decompiles with FernFlower decompiler.</li>
<li>JD-GUI - Decompiles with JD-GUI decompiler.</li>
<li>Krakatau Java - Decompiles with Krakatau decompiler.</li>
<li>Krakatau Bytecode - Disassembles with Krakatau disassembler.</li>
<li>Smali - Disassembles with Smali.</li>
<li>Bytecode - Decompiles the Bytecode via CFIDE. Not Editable.</li>
<li>Hexcode - Shows the classfile in a hex viewer. Not Editable.</li>
</ul>
<h2>Settings</h2>
<ul>
<li>Compile On Save - If selected whenever you do one of the File>Save * functions it will try to compile before it
saves.
</li>
<li>Compile On Refresh - If selected whenever you press refresh it compile before it reloads the resource/class.
</li>
<li>Update Check - If selected it queries https://github.com/Konloch/bytecode-viewer to ensure you've got the latest
version.
</li>
<li>Refresh On View Change - If selected whenever you change an option in the View Panes it will refresh the
currently opened resources/class.
</li>
<li>Decode APK Resources - If selected whenever you add an APK, it will first run APKTool.jar to decode the
resources.
</li>
<li>Set Python 2.7 Executable - Set the Python 2.7 executable if you want Krakatau decompiler/disassembler/assembler
to work.
</li>
<li>Set JRE RT Library - Set the JRE RT library for Krakatau decompiler.</li>
</ul>
<h2>Plugins</h2>
<ul>
<li>Open Plugin - Open a .java plugin created for BCV.</li>
<li>Recent Plugins - Last 25 plugins you've opened with BCV.</li>
<li>Code Sequence Diagram - Builds a crude code sequence diagram for the classfile that's currently opened.</li>
<li>Malicious Code Scanner - Allows you to define what to search for, and outputs what it found.</li>
<li>Show Main Methods - Detects and outputs all of the public static void main(String[]) functions.</li>
<li>Show All Strings - Grabs then outputs all of the strings in every classfile.</li>
<li>Replace Strings - Allows you to do a simple permanent .replace on the classfile strings, very useful for URL swapping.</li>
<li>Allatori String Decrypter - Decrypts the Allatori obfuscated/encrypted strings.</li>
<li>ZKM String Decrypter - Decrypts the ZKM obfuscated/encrypted strings.</li>
<li>ZStringArray String Decrypter - Decrypts the ZStringArray obfuscated/encrypted strings.</li>
</ul>
<h2>Code from various projects has been used, including but not limited to</h2>
<ul>
<li>J-RET by WaterWolf</li>
<li>JHexPane by Sam Koivu</li>
<li>RSynaxPane by Robert Futrell</li>
<li>Commons IO by Apache</li>
<li>ASM by OW2</li>
<li>FernFlower by Stiver</li>
<li>Procyon by Mstrobel</li>
<li>CFR by Lee Benfield</li>
<li>CFIDE by Bibl</li>
<li>Smali by JesusFreke</li>
<li>Dex2Jar by pxb1988</li>
<li>Krakatau by Storyyeller</li>
<li>JD-GUI + JD-Core by The Java-Decompiler Team</li>
<li>Enjarify by Storyyeller</li>
</ul>
<h2>Notes</h2>
<ul>
<li>If BCV fails to boot simply append -clean as an argument to clean the lib directory.</li>
<li>Relax and take notes</li>
<li>BCV was created out of love for Java Reverse engineering.</li>
<li>You can join our Discord server at <a href="https://discord.gg/aexsYpfMEf">https://discord.gg/aexsYpfMEf</a>!</li>
<li>Bytecode Viewer's Homepage is <a href="https://bytecodeviewer.com">https://bytecodeviewer.com</a></li>
</ul>
</html>

View file

@ -1,25 +1,54 @@
<html lang="en">
<h2>About</h2>
Bytecode Viewer (BCV) was designed to be extremely user and beginner friendly, because of this almost everything
is accessible through an interface, settings, tools, etc.
Bytecode Viewer (BCV) is an easy to use Java & Android Reverse Engineering Suite!<br>
BCV is designed to be extremely user and beginner friendly, because of this almost everything is accessible through an interface, settings, tools, etc.
<br><br>To start drag your Jar/APK/Class file into the resource list.
<h2>How To - Java Importing</h2>
<pre>
Java resources have no special preprocessing before you open them.
Import your Jar/Class/WAR/EAR file via the File>Open menu in Bytecode Viewer. (CTRL + O)
</pre>
<h2>How To - Android Importing</h2>
<pre>
Android resources have three options for preprocessing:
1). Decode Resources
2). Enjarify
3). Dex2Jar (d2j)
1). Decode Resources will run APKTool to decode any packed android-specific resources
2). Enjarify will convert the dalvik specific bytecode to java bytecode
3). Dex2Jar will convert the dalvik specific bytecode to java bytecode
Import your APK/WAPK/DEX file via the File>Open menu in Bytecode Viewer. (CTRL + O)
</pre>
<h2>How To - File Navigation</h2>
<pre>
Using the resource list (it should say "Files" on the title bar) you can select all of the resources added into BCV.
Any archive will opened, to select a resource click + button for each folder.
Using the search pane inside of the resource list you can search by file name and extension.
For case-sensitivity enable the checkbox labeled "Exact".
</pre>
<h2>Settings</h2>
<ul>
<li>Fat Jar: {fatJar}</li>
<li>Java: {java}</li>
<li>Javac: {javac}</li>
<li>BCV Dir: {bcvDir}</li>
<li>Python 2.7 (or PyPy): {python}</li>
<li>Python 3.X (or PyPy): {python3}</li>
<li>RT.jar: {rt}</li>
<li>Optional Lib: {lib}</li>
<li>BCV Krakatau: v{krakatauVersion}</li>
<li>BCV Dir: {bcvDir}</li>
<li>Temp Dir: {tempDir}</li>
<li>Krakatau Dir: {krakatauDir}</li>
<li>BCV Enjarify: v{enjarifyVersion}</li>
<li>Enjarify Dir: {enjarifyDir}</li>
<li>BCV Krakatau version: v{krakatauVersion}</li>
<li>BCV Enjarify version: v{enjarifyVersion}</li>
</ul>
<h2>Command Line Interface (CLI)</h2>
@ -134,4 +163,4 @@ is accessible through an interface, settings, tools, etc.
<li>Bytecode Viewer's Homepage is <a href="https://bytecodeviewer.com">https://bytecodeviewer.com</a></li>
</ul>
</html>
</html>