Skip to content

Latest commit

 

History

History
81 lines (54 loc) · 3.99 KB

File metadata and controls

81 lines (54 loc) · 3.99 KB
Trinity logo

Trinity

One tool to rule them all.

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

Self-Maintained Decompiler · Text 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

I haven't bothered with pre-built releases much - but this will come very soon. For now, I highly recommend running Trinity from source:

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

However, there are binaries (usually outdated) available which you can get from here.

Authors

Contributing

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

Please review the planned features before requesting a feature addition!

Libraries Used

Who is this meant for?

Hackers, hobbyists, professionals, everyone is welcome.

Context

Originally Trinity started out as an obfuscator with an interactive interface. Over time, I began using it as a decompiler, and eventually it evolved into this awesome tool.