Giter Club home page Giter Club logo

angryghidra's Introduction

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

angryghidra's People

Contributors

nalen98 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

angryghidra's Issues

9.2,9.2.1 / not working

I tried "firlight" with the same settings, but I get "Solution Not Found".
I feel like AngryGhidra is not working.
What should I do?
I'm running Windows 10 Pro.

  • [ ]

キャプチャ

Any help would be appreciated! Thank you!

Ghidra 9.2 support?

Will this plugin have a 9.2.0 release soon?
I've tried the simple "change-the-version-number-in-extension.properties" trick, but can't seem to get this to work. My team is building an ISO and including tools like this one, but we want to use Ghidra 9.2 and our deadline is Tuesday. If we can't get it in this version, perhaps we can add this tool in a future release.

Thanks,
Matt

10.0.0 support / not working

I appear to have installed the extension but do not see it. I looked at the previous issue and went through those steps but it's not in the experimental plugins section any more, so it doesn't seem to apply.

image
image
image

Any help would be appreciated! Thank you.

Ghidra PCode Emulation with AngryGhidra

It will be a very nice feature to use Ghidra PCode Emulation with AngryGhidra (I suspect it will requires some changes in Angr ...) as today it requires to execute the code with native platform (also it does not seems possible to use QEmu which could be an alternative too)

Python process creation fails silently due to "python3" argument

Hi,

In the runAngr method that's part of the AngryGhidraProvider.java file, a python3.exe process is created.
Since this executable is not available for all python versions > 3.4 (these versions contain the "regular" python.exe), executing the plugin will just end up always printing the
"No solution found" string immediately.
That said, maybe a check for the python version could be added prior to the process creation so the user would not be left wondering why the plugin cant find any solution...

Thanks

Not found Ghidra Extension

Hi, I have one Issue of your good open Source.

here is my Ghidra Version Information.

image

I download your Release Extension a 'ghidra_9.2_AngryGhidra.zip'.

but AngryGhidra Extension not found..

image

Oh, and I tried install Extension a 'AngryGhidra-master.jar' with in ghidra_9.2_AngryGhidra\AngryGhidra-master\lib

but, installaion error occured. Messaging is not a valid Ghidra Extensioin...

image

can you help me this problem?

AngryGhidra on win 10

Hi Nalen98, checking your plugin, which works perfectly on Linux, unfortunately not working at the moment on win 10 for me. The plugin shows up in Ghidra normally, after setting up finds and avoids and arguments, the message says solution not found. Is there any log I can check that is created by the plugin? Thanks for help. (Angr is installed and works from command prompt normally, python PATH set up to usual installed folder .../Python39/).

ghidra does not support python3

On windows, if the python3 path is set in the PATH environment variable, an error will still be reported when the angr script is executed, indicating that python2 should be upgraded to python3. How can I solve this problem?

Can't find context menu entry

I installed the extension following the README instructions. The procedure completes successfully and I am asked to restart Ghidra. However, when I open a project I can't find the context menu with the extension commands (as in the animated GIF).
I am using Ghidra 9.1.2.

Solution does not show up

I am on Ghidra v10.0.
AngryGhidra found the solution but did not display it.
I have tested this on 3 binaries and all share the same problem.

image

Quick Solution Not Found

Hi, thanks a lot for the nice integration.

I was trying to reproduce exactly the same example that you have already shown with the exact fairlight file.
Unfortunatly, the plugin quickly shows that the solution not found in less than a second. so I assume something is going wrong, becasue I assume that it should at least spend some time in the calculations.

image

This is strance because the addresses I used in the solver python script, and it works.
image

image

Is there anything that I have missed?
Thanks for your time!

Either I don't understand the event or it's not working.

image

I am trying in a simple example project.

  1. Blank state = Function start
  2. Avoid addresses = Addresses that I do not want to work with and want to avoid
  3. Find address = The address I want to know the value of
  4. Arguments = Required arguments for the function to work properly

I did as in the picture above, shouldn't it give me at least some value?
What did I do wrong? The function doesn't even have parameters.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.