Yara rule making tool (IDA Plugin)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
old_version rename Jul 29, 2018
Hyara.py add version 1.6 Oct 5, 2018
README.md add version 1.6 Oct 5, 2018
README_KOR.md README.md Jul 30, 2018
assembler_disassembler.py Update IDA Version 6.8 ~ Aug 7, 2018
requirements.txt requirements.txt Sep 29, 2018


Hyara (IDA Plugin)

Hyara is IDA Plugin that provides convenience when writing yararule.

You can designate the start and end addresses to automatically create rules.

It is created based on GUI, and adding features and improvements are currently underway.


Youtube Link

Test Environment

IDA Pro 6.8 ~ 7.0

Python 2.7.13

capstone 3.0.5rc2

keystone 0.9.1

yara-python 3.8.1

pefile 2017.11.5

Pillow 5.2.0


$ pip install -r requirements.txt

(if error occurs during the installation of capstone or keystone, go to the installation page for each libarary and use the installation files)



copy Hyara.py to (IDA Pro installation directory)/plugins

copy assembler_disassembler.py to (IDA Pro installation directory)/plugins


Hyara: Ctrl + Shift + Y

assembler_disassembler: Ctrl + Shift + A


Hyara start screen and 5 options

  • When you run Hyara, it aligns to the right like the above picture and the output window is aligned to the left.
  • Select/Exit button uses IDAViewWrapper api to get the clicked address in IDA View. After done, you have to press it again to finish.
  • After specifying the address, press the "Make" button to show the specified hexadecimal or strings as a result.
  • When you click "Save", those results will be saved in the table below.
  • Press "Export Yara Rule" to finally create the yararule using variables stored in the privious step.
  • The comment option on the upper right side annotates the assemblies nicely.
  • There is also an option to create a hash of the rich header, imphash.
  • The wildcard option works but further development is still on going.

String option

  • This option is to extract strings within the range user specified.


  • You can test the yararule you write on the fly.
  • It has general option and recursive option.
  • It also provides table alignment.


  • YaraDetector shows which part is detected in the sample loaded to IDA, and when "Address" is clicked, it moves to the corresponding address on the IDA View.


  • "YaraIcon" provides the convenience when you write the rule with Icon.


  • When creating rules, be sure to check how the assembly changes when you use wildcards.
  • Normally people uses website to convert assembly but you can check it by using this feature.

Description of "old_version"

  • (old_version/Hyara_Using_simplecustviewer_Choose.py)
  • This version uses Choose and simplecustviewer.

Special Thanks