@@ -9,6 +9,7 @@ from construct import ListContainer, Struct, Container
99from etl .error import GroupNotFound , VersionNotFound , EventTypeNotFound , EtwVersionNotFound , EventIdNotFound , \
1010 GuidNotFound , TlMetaDataNotFound , InvalidType
1111from etl .etl import IEtlFileObserver , build_from_stream
12+ from etl .parsers .etw .core import Guid
1213from etl .wintrace import WinTrace
1314from etl .event import Event
1415from etl .parsers .kernel import FileIo_V2_Name , ImageLoad , DiskIo_TypeGroup1 , \
@@ -122,7 +123,7 @@ def log_construct_pattern(xml: Element, pattern: Struct, source: Container):
122123 raise InvalidType ()
123124 elif isinstance (source [field .name ], ListContainer ):
124125 add_attribute (xml , field .name , bytearray (source [field .name ]).hex ())
125- elif isinstance (source [field .name ], bytes ):
126+ elif isinstance (source [field .name ], bytes ):
126127 add_attribute (xml , field .name , source [field .name ].hex ())
127128 elif isinstance (source [field .name ], Container ):
128129 continue
@@ -137,8 +138,11 @@ def log_tracelogging(obj: TraceLogging) -> Element:
137138 """
138139 xml = ElementTree .Element ("tracelogging" )
139140 xml .set ("name" , obj .get_name ())
140- for k ,v in obj .items ():
141- add_attribute (xml , k , str (v ))
141+ for k , v in obj .items ():
142+ if hasattr (v , "type" ) and v .type == "Guid" :
143+ add_attribute (xml , k , str (Guid (v .inner .data1 , v .inner .data2 , v .inner .data3 , v .inner .data4 )))
144+ else :
145+ add_attribute (xml , k , str (v ))
142146 return xml
143147
144148
0 commit comments