Comments (4)
Hi @forensicmatt,
BinXmlOutput
is somewhat of an implementation detail (as well as the inner model), which I'm not sure is sufficiently polished to be considered public API of the library.
Regarding your use case, I'm not sure I fully understand the issue, why not transform the current output JSON to fit your liking? Is there any information you think is missing in the current representation? I could improve the JSON output if necessary.
from evtx.
Here is one example:
Mostly you have
<EventRecordID>3948</EventRecordID>
But there are also:
<EventID Qualifiers="16384">9009</EventID>
In JSON this is :
"EventID": 10001,
"EventID": {
"#attributes": {
"Qualifiers": 16384
},
"#text": 9009
},
Because the value of EventID can be either a Number, or an Object, this prevents ingesting records into elastic. My first thought was instead of naming an Elements attributes with #attributes, to make it "EventID_attributes": { }
, this could then keep EventID: 9009 and have a separate object for ELEMENTNAME_attributes. Something of the nature should fix Values having multiple types. I am not sure how others would feel about the naming convention though so I was wanting to just implement it in a separate tool. I really don't want to do any type of XML to JSON conversion though because of the speed hurdle. Maybe you could provide a switch, or name how attributes are handled?
An example of what the json would look like:
"EventID": 9009,
"EventID_attributes": {
"Qualifiers": 16384
},
from evtx.
BinXmlOutput
is somewhat of an implementation detail (as well as the inner model), which I'm not sure is sufficiently polished to be considered public API of the library.
Is this something that you would be open to making public and just stating that its not polished? If this was public I could just experiment with making my own Output right?
from evtx.
I created a pull request for a solution that solves this issue without a performance hit: #53.
from evtx.
Related Issues (20)
- pip3 install evtx lead to "ERROR: Command errored out with exit status 1:" HOT 2
- how to use "descending order" parser
- Parser fails if last_event_record_id and free_space_offset are set wrong in the Chunk Header
- # in JSON field name prevents import in GCP Bigquery HOT 2
- Invalid behaviour when parsing Evtx from Windows Event Forwarding HOT 8
- Error while parsing .evtx files with unknown file header flags and chunk flags
- 5111875 is an unknown value for bool, coercing to `true`
- [Question] Alter JSON output HOT 5
- thread 'main' panicked at 'invalid or out-of-range date' HOT 1
- macos 0.7.2 HOT 1
- Warnings will become errors
- Command line flag to skip printing "#attributes" while taking output as JSON
- thread 'main' panicked at 'attempt to subtract with overflow' in `src/binxml/tokens.rs:98:24`
- Problems parsing evtx files originating from NetApp HOT 2
- error on evtx files for header and hexdump
- tailing HOT 2
- Any options to exclude the record # and xml version lines?
- RecordId should be public
- Passing a file via stdin?
- wrong ordering in records returned by records() iterator HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from evtx.