Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brandon-everhart/angryida
Python based angr plug in for IDA Pro.
https://github.com/brandon-everhart/angryida
angr ida python windows
Last synced: 1 minute ago
JSON representation
Python based angr plug in for IDA Pro.
- Host: GitHub
- URL: https://github.com/brandon-everhart/angryida
- Owner: Brandon-Everhart
- License: gpl-3.0
- Created: 2017-11-20T18:15:37.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-02-25T05:49:04.000Z (over 6 years ago)
- Last Synced: 2024-08-03T10:01:55.488Z (3 months ago)
- Topics: angr, ida, python, windows
- Language: Python
- Size: 24.4 KB
- Stars: 33
- Watchers: 4
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AngryIDA
![pylint Score](https://mperlet.github.io/pybadge/badges/8.11.svg) [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) ![conduct](https://img.shields.io/badge/code%20of%20conduct-contributor%20covenant-brightgreen.svg)
| Table of Contents |
|-------------------|
|[Background](#background)|
|[Install](#install-tips)|
|[Usage](#usage)|
|[TODO](#todo)|
|[Standards](#standards)|
|[Maintainers](#maintainers)|
|[Contribute](#contribute)|
|[License](#license)|## Background
The goal of this plug-in is to integrate the use of the angr binary analysis framework into IDA Pro.
## Install Tips
_**NOTE: This section only describes the process of installation and setup in our specific environment.**_
**1. Windows 7 64 bit Virtual Machine?**
- Yes: Cool you are in the same place as us.
- No: AngryIDA has not been tested on other operating systems and may have unintended results.**2. IDA Pro 6.9?**
- Yes: Install Microsoft Visual C++ 2015 or newer and update the .NET Framework.
- No: Install IDA 6.9 then return here.**3. IDA Python Plug-In Working?**
- Yes: Continue to the next step.
- No: Currently no tips to solve this problem.**4. Python 2.7 is installed?**
- Yes: Keep going.
- No: There are many resources online for installing python 2.7 on virtually every system.**5. Python package manager pip is installed?**
- Yes: Awesome, one step closer.
- No: Installing pip is straightforward and help can be found online.**6. angr is installed and working?**
- Yes: Skip to the next step.
- No: Try this...
+ Install Microsoft Visual Studio 2017 (Really you just need the developer command prompt)
+ Install the Microsoft Visual C++ Compiler for Python 2.7
+ Inside the Microsoft Visual Studio Developers Command Prompt run the following commands:
* pip install -I --pre --no-use-wheel capstone-windows
* pip install pyvex
* pip install unicorn
* pip install simuvex
* pip install angr**7. Downloaded this repository (At least the file AngryIDA.py)?**
- Yes: You are ready to use AngryIDA!
- No: Why not?## Usage
**1. Start IDA Pro**
- One option: Drag and drop the file you wish to analysis on the IDA Pro shortcut.**2. Start AngryIDA**
- Alt+F7
- Navigate to AngryIDA.py file
- Select AngryIDA.py**3. Menu**
- The AngryIDA menu is located in the context menu of IDA View-A
+ Right click inside of IDA View-A
+ Hovering over AngryIDA expands the AngryIDA menu.**4. Exploring**
- Handling find and avoid address:
+ Right click on the desired address in IDA View-A:
* Select Finds or Avoids from the AngryIDA menu:
- Select Set/Remove/View
- Remove all find and avoid address:
+ Right click in IDA View-A:
* Select Refresh from the AngryIDA menu
- Set up symbolic stdin:
+ Right click in IDA View-A:
* Expand Explore from the AngryIDA menu:
+ Select options:
- Fill in the presented options form
- Explore options:
+ Right click in IDA View-A:
* Expand Explore from the AngryIDA menu:
+ Select options:
- Fill in the presented options form
- Explore:
+ Right click in IDA View-A:
* Expand Explore from the AngryIDA menu:
+ Select run## TODO
* Documentation
* Code improvement based on Pylint code scoring.
* Hotkeys
* How to stop angr path exploration?
* Code coverage display through path highlighting.
* Revert changes made by the application when exited.
* Handle all forms of symbolic memory (stdin, files, arguments).
* Symbolic stdin:
- Handle multiple stdin streams
- Remove created input streams## Standards
* [README Standards](https://github.com/RichardLitt/standard-readme)
* [Contributor Covenant](https://contributor-covenant.org/version/1/3/0/)
* [Pylint: Code Scoring](https://www.pylint.org/)## Maintainers
* [Brandon Everhart](https://github.com/Brandon-Everhart)
* [Taylor Shields](https://github.com/Taylor-Shields)## Contribute
Any and all contributions are appreciated! [Open an issue](https://github.com/Brandon-Everhart/AngryIDA/issues/new) or submit PRs.
## Related Efforts
* [Ponce](https://github.com/illera88/Ponce)
* [angr](https://github.com/angr)## License
[GNU General Public License v3.0](LICENSE)