mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import windows
|
|
|
|
etwmgr = windows.system.etw
|
|
|
|
print("ETW Manager is: {0}".format(etwmgr))
|
|
|
|
print("")
|
|
print("Listing some ETW sessions:")
|
|
for sess in etwmgr.sessions[:2]:
|
|
print(" * {0}".format(sess))
|
|
print(" * name: {0}".format(sess.name))
|
|
print(" * guid: {0}".format(sess.guid))
|
|
print(" * id: {0}".format(sess.id))
|
|
print(" * logfile: {0}".format(sess.logfile))
|
|
|
|
sess = etwmgr.sessions[1]
|
|
target_id = sess.id
|
|
NB_MATCH = 0
|
|
print("")
|
|
print("Looking for providers for: {0}".format(sess))
|
|
for provider in windows.system.etw.providers:
|
|
if NB_MATCH == 3:
|
|
break
|
|
for instance in provider.instances:
|
|
if NB_MATCH == 3:
|
|
break
|
|
for session in instance.sessions:
|
|
if session.LoggerId == target_id and instance.Pid:
|
|
proc = [p for p in windows.system.processes if p.pid == instance.Pid][0]
|
|
print("Found a provider/session for target:")
|
|
print(" * Provider: {0}".format(provider))
|
|
print(" * Instance: {0}".format(instance))
|
|
print(" * Process: {0}".format(proc))
|
|
NB_MATCH += 1
|
|
if NB_MATCH == 3:
|
|
break
|
|
break
|