Coder Social home page Coder Social logo

graxcode / cafebabe Goto Github PK

View Code? Open in Web Editor NEW
259.0 22.0 43.0 8.45 MB

Easy-to-use java bytecode editor - successor of JByteMod!

Home Page: https://grax.info

License: GNU General Public License v3.0

Java 95.78% HTML 4.22%
java bytecode bytecode-manipulation reverse-engineering

cafebabe's Introduction

Cafebabe Lite

Cafebabe is an user-friendly java bytecode editor suited for bytecode amateurs and pros. It supports multiview; edit and decompile multiple class files at once. Many features have been adopted from JByteMod, including the control flow graphing capability. Using Cafebabe you don't have to create or edit stack frames manually, they will automatically get regenerated at exporting, without the requirement of library jar files needed at runtime. Method descriptors will automatically be reversed to original java-syntax and node access can be changed without knowing the actual jvm access-values. Try catch blocks are (going to be) automatically implemented into the bytecode as well as jump offsets (labels). You don't need to know every opcode, the in-editor help will explain them to you. Note that this version is not completed yet and may not support some features listed here. If you encounter bugs, please report them by opening an issue. You are also welcome to contribute to this project!

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

Libraries

  • Objectweb ASM 7.0 (Modified version)
  • WebLaF 1.28
  • RSyntaxTextArea ?
  • CFR Decompiler 0.145
  • JGraphX ?

cafebabe's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cafebabe's Issues

Translations needed!

To make your own translations use the "Translation editor" under "Preferences".
Make sure you have loaded as many translatable texts as you can before submitting them here.

The translation document can be found in %userprofile%/.cafebabe/translations (or /home/ for linux)

Less useful than ByteMod

It's less useful than bytemod, I cannot even edit the bytecode (I can only delete and insert instructions), how is that an usability improvement?

Also code is hidden and I need to click many times to get into it (why did you burry it like that?).

Add functions in the left tree panel, open code on click.

Add option to display decompiled code in 3rd panel, next to the opcodes panel and refresh it on every change.

Think about option to modify Java code by compiling actual Java code like it's done in .net dnSpy decompiler (take a look at its design, it's really good).

Update WebLaF to 1.2.9

Cafebase version: 0.1.2
Java version: Adopt OpenJDK version "11" 2018-09-25
OS: macOS 10.14.6

The following exception occurred when launching Cafebase on macOS:

cafebase-exception

Once the application was shown it came with an opaque border and I could not resize the window:

cafebase-opaque

Noob question: How do I even build this?

Very new to Java development. I'm used to working in an environment with a build system or something already set up where I can just run <toolname> build or something and have it just work. This has no such thing. I tried my hardest to set up an Ant build for this, but I couldn't figure it out. Can you tell me how to compile it without a build system, so that I might be able to set up a build system in the future? I don't get how to set the classpath and such.

Make project more developer-friendly

Have you considered making the project more developer-friendly? What I mean by that is to actually make the project use Gradle or Maven, add some readme.md file with the information on how to contribute to the project and so on.

I am a developer myself and I really would like to support this project, for example by making pull requests. Sure, I can also create issues but with pull requests, the time you spend on the project would be lowered because of the help from me (now), and maybe even larger community later on.

All in all, consider making the project more developer-friendly so that other developers may find it easier to contribute to it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.