规范化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第三方库


热门话题
HTTP标头的java InputStream未终止   java测试SpringWebListener   具有定义的替换编号Java的regex ReplaceAll   在java中使用contains()方法   java在选择查询中使用JoinColumn字段   具有用户的java Start-stop demon不是以给定用户启动   java glBufferData生成GL\u无效\u操作   java中循环代码的循环   Java位无符号移位(>>>>)会产生奇怪的结果   java HQL使用点分隔符从select获取结果   条纹、弹簧、玩耍(或?):使用哪种高性能Java框架?   广播接收机中的java停止服务   java回收器视图占据整个屏幕。不在上面显示我的UI元素   java使MySQL查询更快   java MappedByteBuffer查询   java递归算法问题