Better About Draft
Still a work in progress. Formatting for the pre tag is broken and should be replaced with something else
This commit is contained in:
parent
84d3b36454
commit
7b227bb10e
3 changed files with 167 additions and 2 deletions
|
@ -73,7 +73,6 @@ import static the.bytecode.club.bytecodeviewer.Constants.*;
|
|||
* + View>Visual Settings>Show Class Methods
|
||||
* + Spam-clicking the refresh button will cause the swing thread to deadlock (Quickly opening resources used to also do this)
|
||||
* This is caused by the ctrlMouseWheelZoom code, a temporary patch is just removing it worst case
|
||||
* + Versioning and updating need to be fixed
|
||||
* + Fix classfile searcher
|
||||
*
|
||||
* TODO API BUGS:
|
||||
|
|
|
@ -3,6 +3,7 @@ package the.bytecode.club.bytecodeviewer.translation;
|
|||
import com.google.gson.reflect.TypeToken;
|
||||
import org.apache.commons.collections4.map.LinkedMap;
|
||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||
import the.bytecode.club.bytecodeviewer.Constants;
|
||||
import the.bytecode.club.bytecodeviewer.api.BCV;
|
||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||
|
||||
|
@ -39,7 +40,7 @@ import java.util.*;
|
|||
public enum Language
|
||||
{
|
||||
ARABIC("/translations/arabic.json", "عربى", "English", "ar"),
|
||||
ENGLISH("/translations/english.json", "English", "English", "en"),
|
||||
ENGLISH("/translations/english.json", "English", (Constants.DEV_MODE ? "english.draft" : "english"), "en"),
|
||||
ESTONIAN("/translations/estonian.json", "Eesti", "English", "et"),
|
||||
FARSI("/translations/farsi.json", "فارسی ", "English", "fa"),
|
||||
FINNISH("/translations/finnish.json", "Suomen Kieli", "English", "fi"),
|
||||
|
|
165
src/main/resources/translations/html/intro.english.draft.html
Normal file
165
src/main/resources/translations/html/intro.english.draft.html
Normal file
|
@ -0,0 +1,165 @@
|
|||
<html>
|
||||
<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:
|
||||
Decode Resources
|
||||
Enjarify
|
||||
Dex2Jar (d2j)
|
||||
Decode Resources will run APKTool to decode any packed android-specific resources
|
||||
Enjarify will convert the dalvik specific bytecode to java bytecode
|
||||
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>
|
Loading…
Reference in a new issue