01 定义

官网:

YARA is a tool aimed at (but not limited to) helping malware researchers to identify and classify malware samples. With YARA you can create descriptions of malware families (or whatever you want to describe) based on textual or binary patterns. Each description, a.k.a. rule, consists of a set of strings and a boolean expression which determine its logic.

理解:

YARA是一款帮助恶意软件研究员鉴别和分类恶意样本的工具,但它的功能不仅限于此。

YARA可以用基于文本或二进制的模式来创建对恶意软件家族的描述(或你想描述的任何事物),而每个描述或者说是一种规则,均由一组字符串和一个布尔表达式组成,这些字符串和布尔表达式决定了其逻辑。

02 例子

rule silent_banker : banker
{
meta:
description = "This is just an example"
threat_level = 3
in_the_wild = true strings:
$a = {6A 40 68 00 30 00 00 6A 14 8D 91}
$b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}
$c = "UVODFRYSIHLNWPEJXQZAKCBGMT" condition:
$a or $b or $c
}

上述例子是说,任意一个YARA文件,只要包含了三个字符串如a、b、c之一的文件都必须报告为silent_banker。

其中:meta 后面的是一些描述信息,比如规则说明、作者信息等

通过使用通配符,不区分大小写的字符串,正则表达式,特殊运算符以及你在YARA文档中找到的许多其他的功能,都可以创建更复杂而强大的规则。

YARA可以跨平台在Windows,Linux和Mac OS X上运行,也可通过其命令行界面使用,或从带有yara-python扩展名的Python脚本中使用。

03 学习资源

https://www.yuque.com/p1ut0/qtmgyx/min0bf

看完官方文档,找到一篇不错的博客,可以参考一下

最新文章

  1. 从2G到5G, 基站天线过去与未来
  2. html5shiv.js and respond.min.js
  3. 手机移动端WEB资源整合
  4. Vue 双层嵌套
  5. Java 日期往后推迟n天
  6. 苹果App转移图文详解-Transfer App
  7. 数据段、代码段、堆栈段、BSS段
  8. 关于arm处理器 内存编址模式 与 字节对齐方式 (转)
  9. BZOJ_1002_[FJOI2007]_轮状病毒_(递推+高精)
  10. 初级Oracle和SQL学习者的学习笔记。韩顺平-玩转oracle。
  11. 【翻译】Organizing ASP.NET MVC solutions 如何组织你的ASP.NET MVC解决方案
  12. [week4]每周总结与工作计划
  13. JQ 遍历节点
  14. arcgis api for silverlight
  15. OpenGL--------纹理处理
  16. postman - 基本操作
  17. [Luogu 1284]三角形牧场
  18. cookie路径概念理解
  19. [Oracle]跨DBLINK的JOIN查询的数据库缓存问题15783452141
  20. 二分+最短路 UVALive - 4223

热门文章

  1. .NET Core/.NET5/.NET6 开源项目汇总10:实用工具
  2. vim安装及个性化配置
  3. Centos7.5使用SSH密钥登录
  4. 关于VIM的迁移
  5. jquery combo.select. 下拉选择插件
  6. 利用C语言输出一个二元一次函数
  7. 解决pip安装时出现报错TypeError unsupported operand type(s) for -= 'Retry' and 'int'
  8. 15 shell for循环
  9. MySQL中的字段拼接 concat() concat_ws() group_concat()函数
  10. oracle 大表在线删除列操作(alter table table_name set unused )