【问题标题】:Script to Pull Regex Values from Text File从文本文件中提取正则表达式值的脚本
【发布时间】:2015-04-30 09:13:21
【问题描述】:

我有一个从蜜罐导出的文本文件,其中列出了为开发 AV 签名而上传到其中的所有文件。为了开发签名,它们必须采用特定格式:

文件大小:MD5ofFile:文件名

我正在尝试编写脚本,从导出的文件中提取这 3 个值,以在新文档中创建格式正确的这些签名。我的示例导出数据如下所示:

文件
[选项卡] 名称:文件的名称。扩展名
[选项卡] 大小:文件大小
[选项卡] MD5:MD5 字符串
[标签] 信息:无用信息
[Tab] 详细信息:无用信息
[Tab] 注释:无用信息
[换行符]
文件
[选项卡] 名称:文件的名称。扩展名
[选项卡] 大小:文件大小
[选项卡] MD5:MD5 字符串
[标签] 信息:无用信息
[Tab] 详细信息:无用信息
[Tab] 注释:无用信息

有没有办法为每个以 File 开头的文本块提取名称、大小和哈希并将该格式化字符串转储到新文档中?我能够运行批处理脚本、Office 中的宏或 Notepad++ 中的任何内容。

【问题讨论】:

  • 是的,这是可能的。您能否发布一两行示例并计算出正则表达式。
  • 当然!以下是文本的原始外观:文件
    名称:card.exe
    大小:5123
    MD5:A486EDD5D966FD167F9D8FA94087913E
    信息:恶意软件
    详细信息:Zeus Family
    注释:金融恶意软件
    文件
    名称:botch.docx
    大小:12543
    MD5:D51F45E1985DC69CC6BC2B3AE1DA48F1
    信息:恶意软件
    详细信息:Z.bot
    注释:金融木马
  • 你说你有能力运行批处理脚本——什么类型的脚本?像windows脚本、linux脚本、python脚本等?
  • 您知道<br> 不等同于[TAB],对吧?您的数据包含哪个,CR/LF 对还是 TAB 字符?它们不一样,正则表达式会根据您实际询问的内容而有很大差异。你真的尝试过自己做吗?
  • 我按字面意思举了这个例子,因为那是我要求的。

标签: regex scripting


【解决方案1】:

因此,根据您的评论,这是我提取名称、大小和 MD5 的方法。

Name: (?<filename>\w+\.\w{3})\t Size: (?<size>\d+)\t MD5: (?<md5>[\w\d]+)

从这里开始,每个字段将被放置在名为“filename”、“size”和“md5”的命名组中。

Python 示例是:

import re
 reobj = re.compile(r"Name: (?P<filename>\w+\.\w{3})\t Size: (?P<size>\d+)\t MD5: (?P<md5>[\w\d]+)", re.IGNORECASE | re.MULTILINE)
 match = reobj.search(subject)
 if match:
     result = match.group("groupname")
 else:
     result = ""

【讨论】:

    猜你喜欢
    • 2020-01-29
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多