Java Reverse Engineering

Open-source Java projects categorized as Reverse Engineering

Top 23 Java Reverse Engineering Projects

  • ghidra

    Ghidra is a software reverse engineering (SRE) framework

    Project mention: Show HN: Ghidra Plays Mario | news.ycombinator.com | 2023-09-09

    Nice, I'll give it a closer look. My only concern so far is memory hooking (still needed for hardware registers), which on Java side was called by FilteredMemoryState [1]. In memstate.cc it looks like just the simpler MemoryState is implemented [2], and there's no equivalent to MemoryAccessFilter. But it might not be that complicated to add...

    [1]: https://github.com/NationalSecurityAgency/ghidra/blob/4561e8...

    [2]: https://github.com/NationalSecurityAgency/ghidra/blob/4561e8...

  • Apktool

    A tool for reverse engineering Android apk files

    Project mention: Reverse engineering android app | /r/ReverseEngineering | 2023-06-14

    Apktool is all you need most of the time.

  • Sonar

    Write Clean Java Code. Always.. Sonar helps you commit clean code every time. With over 600 unique rules to find Java bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • Recaf

    The modern Java bytecode editor

    Project mention: what is the easiest way to decompile, edit and recompile a mod? | /r/feedthebeast | 2022-10-11

    IF you've got the legal situation all sorted out, and know that you need to change a Java class file, and know how to program in Java, I'd suggest Recaf. With it, you can import a jar file, decompile, edit and recompile any source files in it, and export the whole thing again.

  • simplify

    Android virtual machine and deobfuscator

  • fernflower

    Unofficial mirror of FernFlower Java decompiler (All pulls should be submitted upstream)

    Project mention: read Minecraft source code | /r/javahelp | 2023-03-12
  • BinAbsInspector

    BinAbsInspector: Vulnerability Scanner for Binaries

  • GAppsMod

    Tweak Google apps (e.g., Phone and Messages) to unlock hidden features (e.g., available only in some countries or on certain devices). Root is required.

    Project mention: Turn on experimental flags of Google apps with GappsMod to enable new features (Root Required) | /r/fossdroid | 2023-06-07
  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • OpenPods

    The Free and Open Source app for monitoring your AirPods on Android

    Project mention: Which APP would you guys recommend to show battery level for Airpod pro on Android phone, specifically Pixel 6? | /r/androidapps | 2022-11-01

    Try OpenPod it ain't on playstore but it's open source and on F-Droid so you know it respects your privacy Get it on F-Droid https://f-droid.org/en/packages/com.dosse.airpods Or GitHub https://github.com/adolfintel/OpenPods

  • JByteMod-Beta

    Java bytecode editor

  • Ghidra-Cpp-Class-Analyzer

    Ghidra C++ Class and Run Time Type Information Analyzer

  • skidfuscator-java-obfuscator

    Public proof-of-concept obfuscator using the MapleIR framework designed by cts & bibl

    Project mention: Help with Minecraft RAT decryption (idk where else to ask for help) | /r/technicalminecraft | 2023-06-07

    This is a RAT some1 tried to send me, could some1 reverse engineer to what discord webhook this is being sent to? I know for a fact that this is a discord webhook and I also know what obfuscator is being used (https://github.com/skidfuscatordev/skidfuscator-java-obfuscator/ this is the github link). Even more helpful would be if some1 could teach me how to deobfuscate things cuz Im kind of a noob. The link to the whole Jar file is https://drive.google.com/file/d/1WGvYfHeEYStsPmygwnGlCmnNyVAoB533/view?usp=sharing *Keep in mind this is a Trojan* The webhook is normally entered in the json.JSONrareException class. Any help is appreciated thanks! I tried looking at the decompiled code but again it is obfuscated and idk how to deobfuscate so plz help ty. If you dont want to download and decompile the rat yourself (thats totally understandable) I have inserted where I think are the important stuff here: https://pastebin.com/hEzDAdcg and the full code here: https://pastebin.com/aENGYHwn The variable I'm trying to decrypt is webthingy. It should be a link to a discord webhook.

  • jpsxdec

    jPSXdec: cross-platform PlayStation 1 audio and video converter

    Project mention: How do I extract sound effect files from PS1 games? | /r/REGames | 2023-06-10

    See https://github.com/m35/jpsxdec

  • Deobfuscator

    Some deobfuscator for java lol (by narumii)

  • SkidSuite

    A collection of java reverse engineering tools and informational links

    Project mention: Open-Obfuscator: A free and open-source solution for obfuscating mobile applications. | /r/androiddev | 2022-11-01

    Check the android page: https://github.com/GenericException/SkidSuite

  • efiSeek

    Ghidra analyzer for UEFI firmware.

    Project mention: How to Reverse UEFI modules (DXE Driver) | dev.to | 2022-11-09

    efiseek (for Ghidra)

  • Ghidra-Switch-Loader

    Nintendo Switch loader for Ghidra

    Project mention: I have dumped the Nintendo Switch's OS/ Firmware's contents, and code, and converted those NCAs into NSOs and NPDMs using Linux, and am trying to import them into Ghidra. | /r/SwitchPirates | 2022-10-29
  • GhidraEmu

    Native Pcode emulator

    Project mention: GhidraEmu - a plugin that allows you to easily deal with native pcode emulation. Can be useful for working with a variety of exotic processors or for cases which there is no common emulators implemented. If the processor/vm supported is by Ghidra for reverse engineering — it can be emulated! | /r/ReverseEngineering | 2022-12-19
  • AndroidLibrary

    Android library to reveal or obfuscate strings and assets at runtime

  • allsafe

    Intentionally vulnerable Android application.

    Project mention: Where to practice Owasp mobile top 10 vulnerabilities?- | /r/bugbounty | 2023-03-08
  • GhidRust

    GhidRust: Rust decompiler plugin for Ghidra

    Project mention: GhidRust: Rust decompiler plugin for Ghidra | /r/ReverseEngineering | 2023-04-23
  • ghidra-emotionengine-reloaded

    An extension for Ghidra that adds support for the PlayStation 2.

    Project mention: im trying to find the debug symbols for a ps2 game | /r/REGames | 2023-07-06

    There's a tool there called "stdump" and a matching ghidra extension.

  • spice86

    Reverse engineer and rewrite real mode dos programs! (by kevinferrare)

    Project mention: Roadmap for transition from Java | /r/dotnet | 2023-01-19

    Here is a good example of an an advanced project written in Java: https://github.com/kevinferrare/spice86

  • bindiff

    Quickly find differences and similarities in disassembled code

    Project mention: BinDiff is now open source | news.ycombinator.com | 2023-09-29
  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-09-29.

Java Reverse Engineering related posts

Index

What are some of the best open-source Reverse Engineering projects in Java? This list will help you:

Project Stars
1 ghidra 43,095
2 Apktool 17,317
3 Recaf 5,203
4 simplify 4,210
5 fernflower 3,043
6 BinAbsInspector 1,417
7 GAppsMod 827
8 OpenPods 803
9 JByteMod-Beta 785
10 Ghidra-Cpp-Class-Analyzer 609
11 skidfuscator-java-obfuscator 497
12 jpsxdec 387
13 Deobfuscator 279
14 SkidSuite 265
15 efiSeek 264
16 Ghidra-Switch-Loader 247
17 GhidraEmu 240
18 AndroidLibrary 233
19 allsafe 169
20 GhidRust 146
21 ghidra-emotionengine-reloaded 70
22 spice86 60
23 bindiff 50
Updating dependencies is time-consuming.
Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.
blog.mergify.com