Nalen98/AngryGhidra

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

maskelihileci opened this issue · 3 comments

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.

Well, the background script of this plugin uses angr to find out result values with input registers/memory blocks/symbolic vectors/stdin or function arguments. If your function hasn't any stdin data and you didn't set any interesting positions like mem blocks, symbolic vectors, initial registers and so on, you may not get any output. And It can be possible that you are missing some conditions (there are no correctly set registers/memory areas that could be checked). Try to experiment with this one.

If the result still doesn't suit you, you can try to work with angr itself by creating your own python script for the narrow task. If there is anything related to the features used in the plugin, let me know if something doesn't work right.

Sorry for the inconvenience again, I know how to use normal python packages, but I don't know how to install packages in the Jython application that ghidra uses.
I searched for hours, somehow I could not install the "angr" package.

import angr

ImportError: No module named angr

You should install angr on your system via command prompt just like pip3 install angr (Jython and Ghidra have nothing to do with this). Background script will refer to your default system python3 and use installed angr for symbolic execution.