使用各种算法用yara扫描数据流。

yaraprocessor的Python项目详细描述


YARA是一个很棒的工具。 它旨在帮助恶意软件研究人员识别和分类恶意软件 样品。使用yara,您可以创建基于 关于这些家族样本中包含的文本或二进制模式。

但是,有时您正在分析的数据需要在 为了达到最好的效果。YaraProcessor允许您扫描数据 以几种独特的方式流动。它支持扫描离散的数据流 块或缓冲区。这些块可以重叠或完全不相交 取决于所选的“处理模式”。

雅拉处理器最初是为 Chopshop。再加上筷子 允许动态扫描从网络数据包捕获中提取的有效负载。 历史上,基于签名的工具在整个pcap文件上运行。与 Chopshop和Yara处理器,Yara可以针对单个数据包有效负载运行 以及部分或全部有效载荷的串联。理想情况下,这使得 写签名更容易。请查看筷子模块yarashop以查看它的运行情况!

安装

只需通过git克隆存储库:

$ git clone https://github.com/MITRECND/yaraprocessor.git

或者从我们的github page下载最新版本。

获得代码后,在 YaraProcessor目录:

$ python setup.py install

使用它!

而雅拉处理器是为 Chopshop,它的目标是 以及与其他工具的直接使用和集成。简单地 导入yaraprocessor,实例化一个“processor”对象,然后启动 正在分析数据。

fromyaraprocessorimportProcessor# Yara rules are passed as a list of filenamesp=Processor(['/full/path/to/rules, relative/path/to/other/rules'])# By default, the processor will operate in 'raw' mode, meaning it# will scan whatever data you give it. Note that in 'raw' mode, you# are required to call 'analyze', which will return yara matches if# found.p.data=dataresults=p.analyze()# 'analyze' returns yara matches and also stores them in 'p.results'# for convenient access.ifp.results:formatchinp.results:printmatch# When operating in other processing modes, data will be continuously# buffered and automatically processed when the buffer fills. In these# modes, you don't have to ever call 'p.analyze'; instead simply check# for results.ifp.results:formatchinp.results:printmatch

贡献

我们喜欢听到人们使用我们的工具和代码。请随意讨论 关于我们的issue tracker的问题并提出请求!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
swing Java按钮/网格布局   java列出Google日历中的所有事件   java无效:单击API publisher test按钮后连接到后端时出错   带有内部赋值的java While循环导致checkstyle错误   java为什么trimToSize/ensureCapacity方法提供“公共”级访问?   文件输出流的java问题   ListIterator和并发修改异常的java问题   java如何使用两个URL映射   无法识别使用“./../”构造的字符串java相对路径,为什么?   首次写入remotelyclosedsocket不会触发异常,对吗?JAVA   java OneDrive REST API为文件上载提供了400个无效谓词   Java泛型、集合接口和对象类的问题   OpenSSL Java安全提供程序   jmeter java运行jmx禁用操作