GithubHelp home page GithubHelp logo

col-e / recaf-4x-early-archive Goto Github PK

View Code? Open in Web Editor NEW
21.0 21.0 0.0 9.08 MB

Temporary repo to house to rewrite of the rewrite for 3X. Once done will copy-paste into dev3 on the main repo.

License: MIT License

Java 92.64% CSS 7.36%

recaf-4x-early-archive's Introduction

Recaf Discord downloads Contributions welcome

Recaf 4x UI

An easy to use modern Java bytecode editor that abstracts away the complexities of Java programs.

Download

Features

  • Easy to use navigable interface with context-sensitive actions
  • Support for standard Java and Android applications
  • Multiple decompilers to switch between, with all of their parameters made fully configurable
  • Built in compiler to allow recompiling decompiled classes, even if some referenced classes are missing (When supported, support may vary depending on code complexity and obfuscation)
  • Searching for a variety of different content: Strings/numeric constants, classes and member references, instruction patterns
  • Tools for deobfuscating obfuscated code
    • Specially crafted class files with the intent of crashing reverse engineering tools are automatically patched when opened in Recaf
    • Specially crafted jar/zip files are read as the JVM does, bypassing sneaky tricks that can trick reverse engineering tools into showing the wrong data
    • Support for automatically renaming obfuscated classes and their members
    • Support for manually renaming classes and their members (And exporting these mappings to a variety of mapping formats for use in other tools)
  • Attach to running Java process with instrumentation capabilities
  • And much more

A complete list of features can be found in the user documentation.

Scripting & Plugins

Recaf exposes almost all of its functionality through modular API's. Automating behaviors can be done easily with scripts, or with plugins for more complex situations. Additional features can also be added via plugins, which can register hooks in API's that offer them.

To create your own script or plugin, see the developer documentation on scripting and plugin development.

Command Line

Recaf can run as a command line application, which can be especially useful when paired with scripts provided at startup. You can see all the current launch arguments by passing --help as an application argument.

Development Setup

Clone the repository via git clone https://github.com/Col-E/Recaf.git -b dev4

Open the project in an IDE or generate the build with gradle.

IDE:

  1. Import the project from the build.gradle file
  2. Create a run configuration with the main class software.coley.recaf.Main

Without IDE:

  1. Run gradlew build
    • Output will be located at: recaf-ui/build/recaf-ui-{VERSION}-all.jar

recaf-4x-early-archive's People

Contributors

col-e avatar

Stargazers

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

Watchers

 avatar  avatar

recaf-4x-early-archive's Issues

how to compile

`Could not determine the dependencies of task ':recaf-ui:shadowJar'.

Could not resolve all dependencies for configuration ':recaf-ui:runtimeClasspath'.
Could not find org.fxmisc.richtext:richtextfx:0.11.1.
Searched in the following locations:
- file:/C:/Users/vzheg/.m2/repository/org/fxmisc/richtext/richtextfx/0.11.1/richtextfx-0.11.1.pom
- https://repo.maven.apache.org/maven2/org/fxmisc/richtext/richtextfx/0.11.1/richtextfx-0.11.1.pom
- https://dl.google.com/dl/android/maven2/org/fxmisc/richtext/richtextfx/0.11.1/richtextfx-0.11.1.pom
- https://jitpack.io/org/fxmisc/richtext/richtextfx/0.11.1/richtextfx-0.11.1.pom
- https://maven.quiltmc.org/repository/release/org/fxmisc/richtext/richtextfx/0.11.1/richtextfx-0.11.1.pom
Required by:
project :recaf-ui
Could not find software.coley:dex-translator:1.1.1.
Searched in the following locations:
- file:/C:/Users/vzheg/.m2/repository/software/coley/dex-translator/1.1.1/dex-translator-1.1.1.pom
- https://repo.maven.apache.org/maven2/software/coley/dex-translator/1.1.1/dex-translator-1.1.1.pom
- https://dl.google.com/dl/android/maven2/software/coley/dex-translator/1.1.1/dex-translator-1.1.1.pom
- https://jitpack.io/software/coley/dex-translator/1.1.1/dex-translator-1.1.1.pom
- https://maven.quiltmc.org/repository/release/software/coley/dex-translator/1.1.1/dex-translator-1.1.1.pom
Required by:
project :recaf-ui > project :recaf-core > project :recaf-api`

What work remains for prior 3x feature parity?

menu:

  • file
    • change viewer
  • search
    • strings
    • numbers
    • references
    • declarations
  • plugins

class-view:

  • hex-view:
    • all of it

file-view:

  • hex-view

assembler:

  • all of it

ssvm-integration:

  • all of it
    • will be using 2.X branch for now, though SSVM 3.X is in private development atm

config:

  • ui
    • global
      • font size sliders
    • workspace
      • prompt 'r u sure?' on close
      • prompt 'r u sure?' on removing supporting resources

context-menus:

  • menus are integrated, but are empty and need to be populated with actions
    • waiting on other UI things to be done (like search UI to pull up search results)
  • context-sources
    • indicate which sources are displaying 'declarations' vs 'references' which leads to menu items being different (declarations won't have goto)

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.