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


热门话题
JasperReports中的java对齐项目符号   Jboss中的java类加载问题   Spring引导的java示例,RabbitMQ侦听器用nack响应   java设置http请求的类型   Java数组:使用私有字段的对象访问   java将变量传递到另一个视图:最佳实践   Java图形禁用xor模式   java如何使用安卓设备中存储的mupdf阅读器读取SD卡中存储的pdf文件   java My webapplication在IDE中测试时工作正常,但在Web服务器(tomcat)上不工作会话无效   java如何设置铃声播放的持续时间   寻求用java编写正则表达式的帮助   帆布Java中从右向左的drawText   java可以停止使用httpConnection连接到URL的线程。连接()?   java InputStream在验证javax后为空。xml。验证。验证器;   安卓在一个java类中有多个seekbar,需要为每个seekbar实现每个setOnSeekBarChangeListener吗?   java ConcurrenthashMap与线程安全   Tomcat中java奇怪的JSONString失真   C++ java JNI跨平台构建   java是由:org引起的。usb4java。LoaderException:在classpath/org/usb4java/windowsx86_64/libusb1中找不到本机库。0.dll