MCPcopy Index your code
hub / github.com/Nalen98/AngryGhidra

github.com/Nalen98/AngryGhidra @1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.1 ↗ · + Follow
100 symbols 231 edges 8 files 0 documented · 0% updated 1y ago1.1 · 2024-02-13★ 620
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AngryGhidra

The plugin allows you to use angr for binary analysis and symbolic execution in Ghidra interface.

Solving CTF challenge from SecurityFest 2016 "fairlight" with AngryGhidra plugin:

AngryGhidra Plugin

Hotkeys

Set:

Zdestination address
Xstart address
Javoid address (multiple choice)

Reset:

Kdestination address
Tstart address
Pavoid address

Apply bytes:

U – apply patched bytes to angr project memory

Screenshots

Let's keygen:

AngryGhidraView

Apply patched bytes to write them into the memory of angr project:

ApplyPatchedBytes

Installation

1) pip3 install angr 2) Make sure python3 directory is added to the PATH (required, Python 3 only) 3) Download the release version of the plugin and install it in Ghidra File → Install Extensions... 4) Use Gradle to build the plugin: GHIDRA_INSTALL_DIR=${GHIDRA_HOME} gradle and use Ghidra to install it: File → Install Extensions... 5) Check the box in the "New Plugins Found" window to apply AngryGhidra plugin to your project

Core symbols most depended-on inside this repo

getComponent
called by 33
src/main/java/angryghidra/AngryGhidraProvider.java
resetColor
called by 13
src/main/java/angryghidra/LocalColorizingService.java
getDestinationAddress
called by 5
src/main/java/angryghidra/UserAddressStorage.java
getBlankStateAddress
called by 5
src/main/java/angryghidra/UserAddressStorage.java
setColor
called by 4
src/main/java/angryghidra/LocalColorizingService.java
symbolicVectorInputCheck
called by 4
src/main/java/angryghidra/AngryGhidraProvider.java
setIsTerminated
called by 4
src/main/java/angryghidra/AngryGhidraProvider.java
getAvoidAddresses
called by 4
src/main/java/angryghidra/UserAddressStorage.java

Shape

Method 90
Class 8
Function 2

Languages

Java98%
Python2%

Modules by API surface

src/main/java/angryghidra/AngryGhidraProvider.java43 symbols
src/main/java/angryghidra/AngrProcessing.java16 symbols
src/main/java/angryghidra/UserAddressStorage.java12 symbols
src/main/java/angryghidra/HookHandler.java11 symbols
src/main/java/angryghidra/AngryGhidraPopupMenu.java6 symbols
src/main/java/angryghidra/AngryGhidraPlugin.java6 symbols
src/main/java/angryghidra/LocalColorizingService.java4 symbols
angryghidra_script/angryghidra.py2 symbols

For agents

$ claude mcp add AngryGhidra \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact