规范化yara签名的python libary

yaratool的Python项目详细描述


#概述

yaratool的创建是为了规范化yara签名,以便很好地格式化签名,检测重复项,并通过哈希(类似于我们如何表示恶意软件)来表示特定的签名。此工具中的哈希方法与ruby yara normalize模块相同。

ynhash设计用于标识yara签名。


import yaratool

ruletext=“”rule debuggercheck_api:antiebug debuggercheck{
meta:
author=“some dude or dudette”
weight=1
字符串:
$=“isdebuggerpresent”
条件:
其中任何一个
}“
yr=yaratool.yararule(ruletext)
print yr.normalize()
print”name:%s,tags:%s,author:%s“%(yr.name,“&;”。join(yr.tags),yr.metas['author'])
print”strings:
对于yr中的字符串。strings:
打印%s%(字符串)
打印“条件:”
对于年条件:
打印%s%(条件)
打印年哈希()


输出


rule debuggercheck\uu api:antiebug debuggercheck{
元:
author=“some dude or dudette”
权重=1
字符串:
$=“isdebuggerpresent”
条件:
其中任何一个
}
名称:debuggercheck\uu api,标记:antebug&;debuggercheck,作者:“some dude or dudette”
字符串:
$=“isdebuggerpresent”
条件:
其中任何一个
yn01:d28d649e24c37244:d936fceff

它将显示任何重复规则的规范化版本。

import yaratool
import sys

'r')
sigrules=fh.read()
fh.close()
rules=yaratool.split(sigrules)
对于规则中的规则:
ynhash=rule.hash()
res=drf.check(rule)
如果res:
重复数+=1
对于res中的r:
print r.normalize()
pass
print rule.normalize()
print
count+=len(规则)
print“计数为%d,重复次数为%d”%(计数,重复次数)

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

推荐PyPI第三方库


热门话题
java使用spring并在CXF中生成服务器和客户端   重载是否可以重载抽象Java类中的抽象方法,但只实现子类中的一个重载方法?   javawhy系统。currentTimeMillis()是否生成不正确的长值?   java使用Apache POI API将xlsx转换为csv   资源Java找不到文件?   java APDU命令验证返回6a88   JAVAlang.ExceptionInInitializerError是在交换机中构造对象时创建的   java使用嵌套while循环打印星形金字塔   sql Java ResultSet获取返回的字段名   java无法将字符串更改为整数,因为负号跟在数字后面   为什么番石榴/爪哇使用“可能”。isPresent()与可选项相反。是否显示(可能)?   JavaJUnit4看不到bean   JavaJBoss以错误的顺序启动servlet   java无法下载Maven依赖项AnypointStudio   安卓如何在java中存储持久数据   java SQL Server JDBC的驱动程序类名是什么   java中针对大输入的性能优化BufferedReader   java eclipse自动完成内容助理