赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
本篇参照官网规则,将yara语法总结如本文部分
//通配符:可以用来代替某些未知的字节,并与人和内容匹配
rule WildcardExample { strings: //使用'?'作为通配符,一个?代表一位 $hex_string = { 00 11 ?? 33 4? 55} condition: $hex_string } //跳转:可以匹配长度可以变化的字符串 rule JumpExample { strings: //使用'[]'作为跳转,与任何长度为0~n字节的内容匹配 $hex_string1 = { 00 11 [n] 44 55 } $hex_string2 = { 00 11 [0-n] 44 55 } //实例,string3和string4完全相同 $hex_string3 = { 00 11 [0-2] 44 55 } $hex_string4 = { 00 11 ?? ?? 44 55 } condition: $hex_string1 or $hex_string2 } //也可以使用类似正则表达式的方法 rule AlternativeExample { strings: $hex_string = { 00 11 ( 22 | 33 44 ) 55 } /* 该表达式可以匹配一下内容: 00 11 22 55 或 00 11 33 44 55 */ condition: ¥hex_string } //方法整合 rule AlternativeExample2 { string2: $hex_string = { 00 11 ( 33 44 | 55 | 66 ?? 88 ) 99 } condition: &hex_string }
/*
转义符号:
\" //双引号
\\ //反斜杠
\t //制表符
\n //换行符
\xdd //十六进制的任何字节
修饰符:
nocase: 不区分大小写
wide: 匹配2字节的宽字符
ascii: 匹配1字节的ascii字符
xor: 匹配异或后的字符串
fullword:匹配完整单词
private: 定义私有字符
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。