8000 GitHub - sujeetjagtap/r2yara: 'yara' and 'radare2', better together.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

'yara' and 'radare2', better together.

License

Notifications You must be signed in to change notification settings

sujeetjagtap/r2yara

 
 

Repository files navigation

r2yara

GithubCI Status

r2 and YARA, better together!

License and Author(s)

LGPLv3 - Copyright 2014-2024 - pancake, jvoisin, jfrankowski, Sylvain Pelissier

Installation

r2yara can be installed with r2pm tool running this command:

r2pm -ci r2yara

Documentation

After installation, you will get the yr command inside radare2 shell

[0x100003a84]> yr?
Usage: yr [action] [args..]   load and run yara rules inside r2
| yr [file]        add yara rules from file
| yr               same as yr?
| yr-*             unload all the rules
| yr?              show this help (same as 'yara?')
| yrg[?][-sx]      generate yara rule
| yrl              list loaded rules
| yrs[q]           scan the current file, suffix with 'q' for quiet mode
| yrt ([tagname])  list tags from loaded rules, or list rules from given tag
| yrv              show version information about r2yara and yara

See man 7 r2yara for some examples.

Yara generator usage

r2yara allows the creation of YARA rules directement inside radare2.

Commands Overview

[0x100003a84]> yrg?
Usage: yrg [action] [args..]   load and run yara rules inside r2
| yrg-          delete last pattern added to the yara rule
| yrg-*         delete all the patterns in the current rule
| yrgs ([len])  add string (optionally specify the length)
| yrgx ([len])  add hexpairs of blocksize (or custom length)
| yrgf ([len])  add function bytepattern signature
| yrgz          add all strings referenced from current function

To start using r2yara to create YARA rules automatically, follow these steps:

Generate a YARA rule:

[0x100003a84]> yrg
WARN: See 'yrg?' to find out which subcommands use to append patterns to the rule
rule rulename : test {
  meta:
    author = "user"
    description = "My first yara rule"
    date = "2024-10-22"
    version = "0.1"
}

This shows the current YARA rule.

Add strings from the binary as patterns:

[0x100003a84]> yrgs

Add hex patterns:

[0x100003a84]> yrgx

Optionally, add function signatures:

[0x100003a84]> yrgf

Once you've added the desired patterns, add the currently generated yara rule:

[0x100003a84]> yr+
[0x100003a84]> yrl
rulename

Then the rule can be used directly as any other rules.

About

'yara' and 'radare2', better together.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 73.1%
  • YARA 12.2%
  • Python 11.0%
  • Meson 1.7%
  • Makefile 1.3%
  • Shell 0.7%
0