Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Repository files navigation

Trinity logo

Trinity

A next-generation Java reverse-engineering workspace for exploring, understanding, and rewriting bytecode.

GitHub release License: Apache 2.0 Java 17+ Gradle 8.4 GitHub stars

Decompiler · Assembler · Extensive Cross-referencing · Instant Refactoring

Screenshot

What makes Trinity stand out?

Decompiler

Trinity approaches decompilation differently. Built on the battle-tested Fernflower, it integrates directly with the decompiler engine instead of treating the generated Java as plain text. Numerous bugs and anti-decompilation exploits are fixed.

Renaming

Rename variables, fields, methods, and classes in place. Trinity updates every known usage across the workspace immediately, so you can turn an unreadable codebase into something understandable as you investigate it.

Renaming Example

Cross-referencing

Trinity's cross-reference (Xref) search is instant and exceptionally thorough. It follows references throughout the bytecode, including class literals, annotations, casts, method parameters, return types, field accesses, and invocations.

Xref Example

Constant search

Search constants across the entire project instantly, not just the strings visible in decompiled source. Strings, numbers, class literals, annotation values, bootstrap arguments, and other class-pool constants are all discoverable.

Constants Example

Workspaces

Load one or several files into a workspace, edit their classes and members, and save the complete project as a compressed Trinity database (.tdb), letting you resume your work right where you left it off.

...and more!

Built-in refactoring / deobfuscation, custom themes, a built-in theme editor, configurable key mappings, among many others

Building

Running Trinity requires Java 17 or newer. Gradle 8.4 builds require JDK 17-20; build and run with the checked-in wrapper:

git clone https://github.com/firstfault/Trinity.git
cd Trinity
./gradlew run

The executable fat JAR is produced at build/libs/Trinity.jar by ./gradlew build. Pre-built versions are available from GitHub Releases.

Authors

Contributing

Contributions are massively appreciated. Please feel free to open an issue or pull request if anything you need is missing.

Libraries Used

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.