查询 .evtx 转换为 .xml

Query .evtx converted to .xml

使用 evtx_dump.py 将 .evtx 文件转换为 .xml 我想学习如何使用 XQuery 或任何帮助我使用 BaseX 对文档进行数据挖掘的方法来查询它。

在这一点上,无论我尝试什么,我都只能使用 //Events

查询整个文档

当我定义诸如 //Events/Event/System/[EventID = '4688'] 的路径时,我得到 0 个结果。

第一个查询是简单地跟踪与特定值匹配的所有特定 EventID。

作为 BaseX 和 XQuery 的新手,我发现文档很难应用于此用例。

我寻找工具来帮助我构建 XQuery 但无济于事。

BaseX 启用了我能找到的所有索引功能。

Br,

乔里斯

当 XQuery 无法 return 您期望的数据时,通常是由于存在 XML 个名称空间造成的。

Microsoft XML 事件日志在事件节点上使用 XML 命名空间,并由其子节点继承。这是您可以在文件中看到的 xmlns='http://schemas.microsoft.com/win/2004/08/events/event'。例如

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <Events><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'>
   <System><Provider Name='SideBySide'/><EventID Qualifiers='49409'>59</EventID><Version>0</Version>
    ...

您的 XQuery 必须为此进行调整。要么说任何命名空间都可以(使用 *:

//*:System/[*:EventID = '4688'] 

或通过显式指定预期的命名空间。

declare namespace ns="http://schemas.microsoft.com/win/2004/08/events/event";
/Events/ns:Event/ns:System[ns:EventID= '4688' ]

看到这个类似的问题xquery-not-working-with-namespaces