gitwtfhub

wtf is obfuscation_detection_ghidra?

mrphrazer/obfuscation_detection_ghidra — explained in plain English

Analysis updated 2026-05-18

14JavaAudience · researcherSetup · moderate

TL;DR

A Ghidra plugin that automatically flags obfuscated, packed, or encrypted-looking code in a binary to speed up reverse engineering.

Mindmap

mindmap
  root((obfuscation_detection_ghidra))
    What it does
      Flags obfuscated code
      Finds XOR loops
      Detects high entropy sections
      RC4 pattern detection
    Tech stack
      Java
      Ghidra
      Gradle
    Use cases
      Malware triage
      Reverse engineering
      Automated headless scans
    Audience
      Security researchers
      Reverse engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Triage an unfamiliar binary by highlighting functions that look obfuscated or packed.

REASON 2

Find XOR decryption loops and RC4-style encryption code inside a program automatically.

REASON 3

Spot high-entropy sections of a binary that likely contain encrypted or compressed data.

REASON 4

Run detections headlessly from the command line and get JSON output for scripting.

What's in the stack?

JavaGhidraGradle

How it stacks up

mrphrazer/obfuscation_detection_ghidrahashimsaffarini/data-structures-course-round3libambu/data-agent
Stars141414
LanguageJavaJavaJava
Setup difficultymoderateeasyhard
Complexity2/55/5
Audienceresearchergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 1h+

Requires a local Ghidra installation and building the extension with Gradle before it can be installed.

Wtf does this do

This project is a plugin for Ghidra, a free tool made by the NSA for reverse engineering software, meaning taking apart a program to understand how it works without having its original source code. The plugin helps security researchers spot code that looks obfuscated or intentionally hidden, which is common in malware, software packers, and copy protection schemes. It is a Java port of an existing plugin originally built for a different reverse engineering tool called Binary Ninja. Instead of reading through an entire unfamiliar program by hand, the plugin scans it and flags specific patterns worth a closer look, things like code that behaves like a state machine, unusually complicated functions, loops that decrypt data using XOR operations, sections of the file with high randomness that often signal encrypted or compressed data, and code patterns typical of the RC4 encryption algorithm. It marks these findings directly inside Ghidra as tags and bookmarks so a researcher can jump straight to the interesting parts of a large binary. The README notes plainly that this repository was built almost entirely with AI assistance, and it deliberately left out a few features from the original Binary Ninja version because they did not translate cleanly to Ghidra. To use it, you build the extension using Gradle pointed at your own Ghidra installation, then install the resulting zip file through Ghidra's extension manager. Once enabled, its options appear in Ghidra's Tools menu, and results can also be produced from the command line in JSON format for scripting or automation, without needing to open the Ghidra graphical interface at all.

Yoink these prompts

Prompt 1
Explain how to build this Ghidra extension using GHIDRA_INSTALL_DIR and gradle.
Prompt 2
Walk me through installing the built zip as a Ghidra extension and enabling it in CodeBrowser.
Prompt 3
Show me how to run scripts/run_detections.sh --json against a binary and interpret the output.
Prompt 4
Explain what a state machine heuristic finding means when reviewing a suspicious binary.
Prompt 5
Help me run just the xor_decryption_loop detection using the --only flag.

Frequently asked questions

wtf is obfuscation_detection_ghidra?

A Ghidra plugin that automatically flags obfuscated, packed, or encrypted-looking code in a binary to speed up reverse engineering.

What language is obfuscation_detection_ghidra written in?

Mainly Java. The stack also includes Java, Ghidra, Gradle.

How hard is obfuscation_detection_ghidra to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is obfuscation_detection_ghidra for?

Mainly researcher.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.