【发布时间】:2019-04-05 14:04:07
【问题描述】:
我有一个 XML 文件,其中包含通常与勒索软件和恶意软件相关的文件名和文件扩展名。
使用 Python,我想解析“模式值”以简单地打印“模式值”中包含的值。目标是输出到一个简单的文本文件,其中每行显示一个文件名或文件扩展名。
我尝试在 Notepad++ 中使用宏,但失败了。我是一个 Python 菜鸟,我想用 Python 来完成这项工作
以下是 XML 文件:
<?xml version="1.0" ?>
<Root >
<Header DatabaseVersion = '2.0' ></Header>
<QuotaTemplates ></QuotaTemplates>
<DatascreenTemplates ></DatascreenTemplates>
<FileGroups >
<FileGroup Name = 'Anti-Ransomware%sFile%sGroups' Id = '{367CFFB7-DDED-4AA8-8E17-203B6B97F411}' Description = '' >
<Members >
<Pattern PatternValue = '!!%sRETURN%sFILES%s!!.txt' ></Pattern>
<Pattern PatternValue = '!!!%sHOW%sTO%sDECRYPT%sFILES%s!!!.txt' ></Pattern>
<Pattern PatternValue = '!!!%sREAD%sTHIS%s-%sIMPORTANT%s!!!.txt' ></Pattern>
<Pattern PatternValue = '!!!!!ATENÇÃO!!!!!.html' ></Pattern>
<Pattern PatternValue = '!!!!!SAVE%sYOUR%sFILES!!!!.txt' ></Pattern>
<Pattern PatternValue = '!!!-WARNING-!!!.html' ></Pattern>
<Pattern PatternValue = '!!!-WARNING-!!!.txt' ></Pattern>
<Pattern PatternValue = '!!!GetBackData!!!.txt' ></Pattern>
<Pattern PatternValue = '!!!README!!!*.rtf' ></Pattern>
<Pattern PatternValue = '!!!READ_TO_UNLOCK!!!.TXT' ></Pattern>
<Pattern PatternValue = '!!!SAVE%sYOUR%sFILES!.bmp' ></Pattern>
<Pattern PatternValue = '!##%sDECRYPT%sFILES%s##!.txt' ></Pattern>
<Pattern PatternValue = '!#_DECRYPT_#!.inf' ></Pattern>
<Pattern PatternValue = '!DMALOCK3.0*' ></Pattern>
<Pattern PatternValue = '!Decrypt-All-Files-*.txt' ></Pattern>
<Pattern PatternValue = '!Please%sRead%sMe!.txt' ></Pattern>
<Pattern PatternValue = '!READ.htm' ></Pattern>
<Pattern PatternValue = '!Recovery_*.html' ></Pattern>
<Pattern PatternValue = '!Recovery_*.txt' ></Pattern>
<etc.../>
</Members>
</FileGroup>
</FileGroups>
</Root>
同样,目标是将每个文件名/文件扩展名输出到新行的文本文件中。例如
test.malware
test.ransomware
test.virus
etc
etc
etc
提前感谢您的帮助
【问题讨论】:
-
您的 xml 末尾有一个不匹配的标签:
<Members>没有被</NonMembers>正确关闭 -
那是因为我大幅修剪了列表,并且没有在末尾附加正确的标签。让我调整一下。
-
使用实际的 xml 解析器来处理 xml 总是一个好主意,但如果标签错误,它们将无法正常工作。就是这样。
-
啊,
标签用于排除列表。可以忽略。 -
@Aaron 我想我并不挑剔这是如何完成的——我只是想达到我的最终结果