The Bytecode Club
Log inJoin the club
Bytecode Viewer

⌨️ 2.6.0 Released >EDITING SUPPORT<

Started by Konloch · Jan 11, 2015

9 replies190,986 views
Jan 11, 2015#1

01/06/2015 - Now saves if maximized or not.
01/07/2015 - For all save as functions, it will now append the correct extension if not added by the user.
01/07/2015 - You can no longer use use the save functions if no classes are loaded (fixes a crash issue).
01/07/2015 - Moved the Update Check to the Settings menu.
01/08/2015 - Added an extremely basic code sqeuence diagram plugin.
01/08/2015 - Updated CFR to CFR_0.93.jar
01/08/2015 - Threaded the Add files function.
01/08/2015 - Finally implemented Kontainer's HTTPRequest wrapper now that I've open sourced it.
01/08/2015 - Set the panes to be non-editable.
01/08/2015 - Sexified the view pane selection.
01/08/2015 - Started working on Smali Editing support, finished decompiler so far.
01/09/2015 - Fixed a bug with saving.
01/09/2015 - Added add entire directory.
01/09/2015 - Fixed import .DEX files.
01/10/2015 - Finished Smali Editing.
01/10/2015 - Fixed a class opening issue with sychronization.
01/11/2015 - Threaded all of the save functions.
01/11/2015 - Removed all instances of the setCursor to busy.
01/11/2015 - Added are you sure you wish to overwrite this existing file to all the other save functions.
01/11/2015 - All of the decompiling names are now randomly generated instead of a counting number.
01/11/2015 - Updated CFR to CFR_0.94.jar
01/11/2015 - Updated to the latest version of FernFlower.
01/11/2015 - Fixed an extension appending issue with save Java file.

Download: https://github.com/Konloch/bytecode-viewer/releases/tag/v2.6.0

Jan 11, 2015#2

Hello. I'm not edit code Java.

Jan 11, 2015#3

Hello. I'm not edit code Java.

Yup, you need to select Smali Editing in the view panes

Jan 16, 2015#5

How does the editing work exactly? I put view3 to smali editor, made my fixes, clicked the File->Compile Smali then File-> Save as Jar... and the resulting file was about 300KB smaller than the original file and gave an error when attempting to open it. The changes I made were changing a hardcoded int value (so no new/edited opcodes).

Jan 17, 2015#6

How does the editing work exactly? I put view3 to smali editor, made my fixes, clicked the File->Compile Smali then File-> Save as Jar... and the resulting file was about 300KB smaller than the original file and gave an error when attempting to open it. The changes I made were changing a hardcoded int value (so no new/edited opcodes).

Keep in mind it needs to first convert the jar to Dex, then it converts to smali, after the changes it converts it from smali, to dex then back to Java bytecode. This works pretty well for Android APKs, but it does break some Java class files.

Jan 17, 2015#7

Have you considered adding Krakatau to the decompiler list? I find it to be a bit of a pain using it from the command line and you could also use it for disassembling. Some guy got it working with Jython, so it seems like it would be possible.

Jan 18, 2015#8

Have you considered adding Krakatau to the decompiler list? I find it to be a bit of a pain using it from the command line and you could also use it for disassembling. Some guy got it working with Jython, so it seems like it would be possible.

I've been planning it, the Jython work around I've tried and it seems pretty broken, hopefully I'll get it working eventually.

Jan 20, 2015#9

How does the editing work exactly? I put view3 to smali editor, made my fixes, clicked the File->Compile Smali then File-> Save as Jar... and the resulting file was about 300KB smaller than the original file and gave an error when attempting to open it. The changes I made were changing a hardcoded int value (so no new/edited opcodes).

Jan 20, 2015#10

How does the editing work exactly? I put view3 to smali editor, made my fixes, clicked the File->Compile Smali then File-> Save as Jar... and the resulting file was about 300KB smaller than the original file and gave an error when attempting to open it. The changes I made were changing a hardcoded int value (so no new/edited opcodes).

Keep in mind it needs to first convert the jar to Dex, then it converts to smali, after the changes it converts it from smali, to dex then back to Java bytecode. This works pretty well for Android APKs, but it does break some Java class files.

So Jar>Dex>Smali -EDITS- Smali >Dex>Jar, it's mainly designed for APK use.

Got something to add?

Log in to post a reply.

Join the conversation