roger1337/JDBG has 333 GitHub stars and 21 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-14 05:32 UTC. Last push 2025-02-23.
What you can do
- Analyse decompiled classes at runtime
- Analyse method bytecode and field definitions at runtime
- Add classes to object analysis
- Inspect the stack trace
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Java Dynamic Reverse Engineering and Debugging Tool
SecurityREADME.md
OriginalJDBG
JDBG is a powerful Java debugger and reverse engineering tool that operates at runtime. It is attachable and is not limited by agent restrictions.

JDBG leverages an injected DLL along with JNI and JVMTI to provide deep insight into Java applications.
Features
- Class Analysis
- Analyse decompiled classes at runtime
- Analyse method bytecode and field definitions at runtime
- Add classes to object analysis
- Dynamically set breakpoints in bytecode
- Inspect the stack trace
- Inspect local variable values
- Planned Features
- bytecode instrumentation and class redefinitions
- static variable modification
- Static field watching
- Local variable modification for breakpoints
- Add object from stack in breakpoint to object analysis
- Object Analysis
- Add classes to object workspace
- View all instances of a class
- Apply filters using the Exprtk C++ library to obtain relevant objects
- Filters support recursive searches, e.g. obj.field1.field2 > 3 or 'hello' in obj.field1
- Planned support for arrays
- Observe object values (such as strings) and fields
- Generate graphs based on the heap relationships of objects
- Obtain pointer paths to specific objects, useful in determining classes from which they originate (especially for strings)
- Planned features
- Set field values
How to use
To use JDBG, you must have a JVM running Java 17 or higher.
Releases
You can download and run it in the releases tab of this project.
Building it yourself
The java client is built in Intellij while the dll is built in Visual Studio
To build the dll, you must add the /includes of your jdk to the include path (For things like jni.h and jvmti.h) You must also have the boost library for C++ installed.
You must add the dll to the /assets folder of the client Furthermore, you must build the JDBG 32bit Helper executable and add it to the assets folder of the client.
- The reason for this is to get the proper base address of kernel32.dll and LoadLibrary for 32 bit applicatons.
Contributing
any and all contributions to this project would be greatly appreciated. Some examples of possible contributions include:
- Cleaning up messy code
- Adding comments
- Implementing design patterns for cleaner code
- Feature implementations (Such as the planned ones above)
Thank you
Licensing
This project is licensed under the Apache-2.0 License. Furthermore, JDBG is intended only for educational and legal research purposes. It must not be used to circumvent copy protection, license verification, or other security mechanisms. The author is not responsible for any misuse of this tool. Users must comply with all applicable laws.
Explore related projects
trimstray/the-book-of-secret-knowledge
A collection of inspiring lists, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools and more.
258,353 starsHack-with-Github/Awesome-Hacking
A collection of various awesome lists for hackers, pentesters and security researchers
125,477 starsswisskyrepo/PayloadsAllTheThings
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
82,667 starscaddyserver/caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
79,026 stars