A plugin for IDA Pro to generate Yara rules from binary files.
Project description
[English] | 繁體中文
YaraForge
YaraForge is an IDA Pro plugin for generating Yara rules from binary files. It utilizes the results of CAPA analysis to automatically generate corresponding Yara rules, helping security researchers and reverse engineers quickly identify and detect malware.
Features
- Automatically extract key information from CAPA analysis results to generate Yara rules
- Support exporting detailed CAPA analysis results, including matched rules, addresses, etc.
- Save the generated Yara rules and related information to local files
- Provide a user-friendly interface for easy operation and configuration
- Built-in detailed logging functionality for troubleshooting and debugging
Installation
- Install YaraForge using pip:
pip install yaraforge
- Copy the
yaraforge.py
file from theplugin
folder to theplugins
directory of IDA Pro. - Launch IDA Pro, and the YaraForge plugin will be loaded automatically.
Usage
- Open the target binary file in IDA Pro.
- Run CAPA analysis to ensure that the analysis results are generated.
- Use the
Ctrl+Y
shortcut or choose "Edit" -> "Plugins" -> "YaraForge" from the menu bar in IDA Pro to launch the plugin. - The plugin will automatically extract information from the CAPA analysis results and generate corresponding Yara rules.
- The generated Yara rules and related information are saved by default in the
%APPDATA%\Hex-Rays\IDA Pro\plugins\yaraforge\
folder. - If you need to export the analysis results to the desktop, you can select the "Dump Caches on desktop" option in the plugin interface.
Notes
- The YaraForge plugin relies on CAPA for analysis. When installing the plugin, CAPA will be automatically downloaded and installed, without the need for manual installation.
- The Yara rules generated by the plugin are for reference only and may need to be adjusted and optimized according to actual situations.
- Some functions of the plugin depend on the IDA Pro API, and there may be compatibility issues with different versions of IDA Pro. If you encounter any problems, please refer to the plugin's error logs and related documentation, or report them to us.
Authors
- Zhao Xinn (zhaoxinzhang0429@gmail.com)
- Tsai YA-HSUAN (aooood456@gmail.com)
- Ting0525 (zg45154551@gmail.com)
Special Thanks
We sincerely express our gratitude to DuckLL, who has devoted considerable attention and patience to mentoring us. His substantial contributions and innovative ideas have significantly shaped the trajectory of this project.
Version Requirements
- Python: >=3.8, <3.12
- CAPA: 7.0.1
- IDA Pro: >=7.0
License
- The YaraForge plugin is licensed under the MIT License. For more details, please refer to the LICENSE file.
Acknowledgments
The development of the YaraForge plugin has received help and inspiration from many open-source projects and communities. We would like to express our gratitude to:
- CAPA: https://github.com/fireeye/capa
- Capstone: https://github.com/aquynh/capstone
- IDA Pro: The well-known commercial decompiler and debugger software
Contact Us
If you encounter any issues while using the YaraForge plugin or have any suggestions and feedback, please feel free to contact us through the following channels:
- GitHub Issues: https://github.com/zhaoxinnZ/YaraForge/issues
- Email: zhaoxinzhang0429@gmail.com
Thank you for your support and attention! We hope that YaraForge can become a powerful assistant for your binary analysis and Yara rule generation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file YaraForge-0.1.14b1.tar.gz
.
File metadata
- Download URL: YaraForge-0.1.14b1.tar.gz
- Upload date:
- Size: 851.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ff665e3a62f19277f11a5da39c2063366f82921300ef4af8c90e5f12fc3c20c |
|
MD5 | 833a31dd076e095416dbcc15911a802b |
|
BLAKE2b-256 | d793e9701030df25a8ea576193c19eadb6d5139f29bd0de15f645ca236277d09 |
File details
Details for the file YaraForge-0.1.14b1-py3-none-any.whl
.
File metadata
- Download URL: YaraForge-0.1.14b1-py3-none-any.whl
- Upload date:
- Size: 960.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 785a068dbf5ed91b0a67cae595750c6b5ecefbf847d5bf4fb8be6a110252414c |
|
MD5 | 2e496d961a6493df8ebe03b67fdbcd68 |
|
BLAKE2b-256 | bb6ecf79343d45ceead8a173a60443d5fdeaf8317ceec20be6a872e374631318 |