chore: track audit-runs summary artifacts (md/csv/diff/txt/json/etc)
Snapshot of every non-log artifact under audit-runs/ from audits 003 through 058: findings.md per audit, comparison CSVs, probe diffs, schema docs, register-dump txts, lr-trace JSONL streams, the saved canary patch diffs, etc. ~284 files / ~52 MB total. Excluded (per .gitignore): probe stdout/stderr/log streams (the raw firehose), guest-memory dumps under audit-026/027/029 (4.5 GB of .bin files; *.bin pattern added to .gitignore this commit). Also adds the orphan audit-058-sub825070F0-activation directory that a subagent accidentally created at project-root instead of under xenia-rs/audit-runs/; relocated to its proper home. Purpose: cross-machine continuity. With these summaries committed, a fresh clone gives the next session the full per-audit context (findings + tables + cascade predictions) without dependence on local-only working tree. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
80
audit-runs/post-IO-002/canary_exports.txt
Normal file
80
audit-runs/post-IO-002/canary_exports.txt
Normal file
@@ -0,0 +1,80 @@
|
||||
Added
|
||||
ExCreateThread
|
||||
ExGetXConfigSetting
|
||||
ExRegisterTitleTerminateNotification
|
||||
ExTerminateThread
|
||||
Failed
|
||||
KeInitializeSemaphore
|
||||
KeQuerySystemTime
|
||||
KeReleaseSemaphore
|
||||
KeResetEvent
|
||||
KeResumeThread
|
||||
KeSetAffinityThread
|
||||
KeSetBasePriorityThread
|
||||
KeTlsAlloc
|
||||
KeTlsSetValue
|
||||
KiApcNormalRoutineNop
|
||||
MmAllocatePhysicalMemoryEx
|
||||
MmFreePhysicalMemory
|
||||
MmGetPhysicalAddress
|
||||
NtAllocateVirtualMemory
|
||||
NtClose
|
||||
NtCreateEvent
|
||||
NtCreateFile
|
||||
NtCreateSemaphore
|
||||
NtCreateTimer
|
||||
NtDeviceIoControlFile
|
||||
NtDuplicateObject
|
||||
NtOpenFile
|
||||
NtQueryDirectoryFile
|
||||
NtQueryFullAttributesFile
|
||||
NtQueryInformationFile
|
||||
NtQueryVolumeInformationFile
|
||||
NtResumeThread
|
||||
NtSetTimerEx
|
||||
NtWriteFile
|
||||
ObCreateSymbolicLink
|
||||
ObDereferenceObject
|
||||
ObLookupThreadByThreadId
|
||||
ObOpenObjectByPointer
|
||||
ObReferenceObjectByHandle
|
||||
Registered
|
||||
Removed
|
||||
RtlFillMemoryUlong
|
||||
RtlImageXexHeaderField
|
||||
RtlInitAnsiString
|
||||
RtlInitializeCriticalSection
|
||||
Unregistered
|
||||
VdCallGraphicsNotificationRoutines
|
||||
VdEnableRingBufferRPtrWriteBack
|
||||
VdGetCurrentDisplayGamma
|
||||
VdGetCurrentDisplayInformation
|
||||
VdGetSystemCommandBuffer
|
||||
VdInitializeEngines
|
||||
VdInitializeRingBuffer
|
||||
VdInitializeScalerCommandBuffer
|
||||
VdIsHSIOTrainingSucceeded
|
||||
VdPersistDisplay
|
||||
VdQueryVideoFlags
|
||||
VdQueryVideoMode
|
||||
VdRetrainEDRAM
|
||||
VdRetrainEDRAMWorker
|
||||
VdSetDisplayMode
|
||||
VdSetGraphicsInterruptCallback
|
||||
VdSetSystemCommandBufferGpuIdentifierAddress
|
||||
VdShutdownEngines
|
||||
XAM
|
||||
XamContentCreateEnumerator
|
||||
XamEnumerate
|
||||
XamInputGetCapabilities
|
||||
XamNotifyCreateListener
|
||||
XamTaskCloseHandle
|
||||
XamTaskSchedule
|
||||
XamUserGetXUID
|
||||
XamUserReadProfileSettings
|
||||
XAudioRegisterRenderDriverClient
|
||||
XeCryptSha
|
||||
XeKeysConsolePrivateKeySign
|
||||
XexCheckExecutablePrivilege
|
||||
XGetAVPack
|
||||
XNotifyPositionUI
|
||||
272
audit-runs/post-IO-002/canary_exports_clean.txt
Normal file
272
audit-runs/post-IO-002/canary_exports_clean.txt
Normal file
@@ -0,0 +1,272 @@
|
||||
A3210
|
||||
A4
|
||||
AFDC0
|
||||
AFDC4
|
||||
AFE20
|
||||
AFE24
|
||||
B5764
|
||||
B5774
|
||||
B5784
|
||||
B5794
|
||||
B57A4
|
||||
BC365260
|
||||
BC365580
|
||||
BC3655C0
|
||||
BC365620
|
||||
BC3657C0
|
||||
BC365D80
|
||||
BC365EC0
|
||||
BC365F60
|
||||
BC365FE0
|
||||
BC366060
|
||||
BC3660E0
|
||||
BC366140
|
||||
BC3661C0
|
||||
BC368C20
|
||||
BC368C80
|
||||
BC368DA0
|
||||
BC368E80
|
||||
BC368F40
|
||||
BC65C9C0
|
||||
BC65CB80
|
||||
BC65CBC0
|
||||
BC65CE80
|
||||
BC65CEC0
|
||||
BC65D080
|
||||
BC65D140
|
||||
BC65D200
|
||||
BC65D340
|
||||
BC65D3C0
|
||||
BC65D500
|
||||
BC65D580
|
||||
BC6608C0
|
||||
BC666A80
|
||||
BCE24A7C
|
||||
BDFBA658
|
||||
BE56BB6C
|
||||
BE56BB70
|
||||
CE1F0
|
||||
CE1F8
|
||||
CEBA0
|
||||
CEC4C
|
||||
CEC80
|
||||
CECA0
|
||||
CEE40
|
||||
CEE90
|
||||
CEEB0
|
||||
CEEB8
|
||||
CEEC8
|
||||
CEF70
|
||||
CEFD0
|
||||
CEFD8
|
||||
CEFE8
|
||||
CF040
|
||||
CF058
|
||||
CF0F0
|
||||
CF190
|
||||
CF1A0
|
||||
CF210
|
||||
CF290
|
||||
CF294
|
||||
CF2A0
|
||||
CF2B0
|
||||
CF2B8
|
||||
CF2C8
|
||||
CF320
|
||||
CF328
|
||||
CF338
|
||||
CF370
|
||||
CF390
|
||||
CF398
|
||||
CF3B8
|
||||
CF3C0
|
||||
CF3E0
|
||||
CF3F0
|
||||
CF400
|
||||
CF410
|
||||
CF430
|
||||
CF450
|
||||
CF460
|
||||
CF480
|
||||
CF484
|
||||
CF490
|
||||
CF4A0
|
||||
CF4A4
|
||||
CF4C8
|
||||
CF4D0
|
||||
CF4E0
|
||||
CF560
|
||||
CF5D0
|
||||
CF620
|
||||
CF630
|
||||
CF638
|
||||
CF648
|
||||
CF660
|
||||
CF680
|
||||
CF684
|
||||
CF6A0
|
||||
CF6AC
|
||||
CF6C0
|
||||
CF6D8
|
||||
CF6E0
|
||||
CF6F0
|
||||
CF710
|
||||
CF728
|
||||
CF730
|
||||
CF740
|
||||
CF760
|
||||
CF790
|
||||
CF810
|
||||
CF818
|
||||
CF820
|
||||
CF830
|
||||
CF840
|
||||
CF860
|
||||
CF8C0
|
||||
CFB50
|
||||
CFBA0
|
||||
CFBA4
|
||||
CFC84
|
||||
CFC8C
|
||||
CFCB0
|
||||
DF760
|
||||
DF780
|
||||
DFAA0
|
||||
DFAB0
|
||||
DFAB8
|
||||
DFAC0
|
||||
DFAC8
|
||||
DFAD8
|
||||
DFBB0
|
||||
DFBB4
|
||||
DFE48
|
||||
DFE50
|
||||
DFE54
|
||||
ExCreateThread
|
||||
ExGetXConfigSetting
|
||||
ExRegisterTitleTerminateNotification
|
||||
ExTerminateThread
|
||||
F3C90
|
||||
F3C94
|
||||
F670
|
||||
F678
|
||||
F688
|
||||
F730
|
||||
F740
|
||||
F748
|
||||
F758
|
||||
F800
|
||||
F830
|
||||
F838
|
||||
F848
|
||||
F8C0
|
||||
F8C8
|
||||
F8D8
|
||||
F8F0
|
||||
F930
|
||||
F948
|
||||
F960
|
||||
F970
|
||||
F980
|
||||
F9C0
|
||||
F9F0
|
||||
FA30
|
||||
FA80
|
||||
FA88
|
||||
FAE0
|
||||
FAF0
|
||||
FB00
|
||||
FB20
|
||||
FB40
|
||||
FBA0
|
||||
FBB0
|
||||
FBD0
|
||||
FC10
|
||||
FC20
|
||||
FC40
|
||||
FC44
|
||||
FC50
|
||||
FCA0
|
||||
FD50
|
||||
FD54
|
||||
FDD0
|
||||
FDD4
|
||||
FDE0
|
||||
FE08
|
||||
FE20
|
||||
FE24
|
||||
FE30
|
||||
FE50
|
||||
FE54
|
||||
FE90
|
||||
FED0
|
||||
KeInitializeSemaphore
|
||||
KeQuerySystemTime
|
||||
KeReleaseSemaphore
|
||||
KeResetEvent
|
||||
KeResumeThread
|
||||
KeSetAffinityThread
|
||||
KeSetBasePriorityThread
|
||||
KeTlsAlloc
|
||||
KeTlsSetValue
|
||||
KiApcNormalRoutineNop
|
||||
MmAllocatePhysicalMemoryEx
|
||||
MmFreePhysicalMemory
|
||||
MmGetPhysicalAddress
|
||||
NtAllocateVirtualMemory
|
||||
NtClose
|
||||
NtCreateEvent
|
||||
NtCreateFile
|
||||
NtCreateSemaphore
|
||||
NtCreateTimer
|
||||
NtDeviceIoControlFile
|
||||
NtDuplicateObject
|
||||
NtOpenFile
|
||||
NtQueryDirectoryFile
|
||||
NtQueryFullAttributesFile
|
||||
NtQueryInformationFile
|
||||
NtQueryVolumeInformationFile
|
||||
NtResumeThread
|
||||
NtSetTimerEx
|
||||
NtWriteFile
|
||||
ObCreateSymbolicLink
|
||||
ObDereferenceObject
|
||||
ObLookupThreadByThreadId
|
||||
ObOpenObjectByPointer
|
||||
ObReferenceObjectByHandle
|
||||
RtlFillMemoryUlong
|
||||
RtlImageXexHeaderField
|
||||
RtlInitAnsiString
|
||||
RtlInitializeCriticalSection
|
||||
VdCallGraphicsNotificationRoutines
|
||||
VdEnableRingBufferRPtrWriteBack
|
||||
VdGetCurrentDisplayGamma
|
||||
VdGetCurrentDisplayInformation
|
||||
VdGetSystemCommandBuffer
|
||||
VdInitializeEngines
|
||||
VdInitializeRingBuffer
|
||||
VdInitializeScalerCommandBuffer
|
||||
VdIsHSIOTrainingSucceeded
|
||||
VdPersistDisplay
|
||||
VdQueryVideoFlags
|
||||
VdQueryVideoMode
|
||||
VdRetrainEDRAM
|
||||
VdRetrainEDRAMWorker
|
||||
VdSetDisplayMode
|
||||
VdSetGraphicsInterruptCallback
|
||||
VdSetSystemCommandBufferGpuIdentifierAddress
|
||||
VdShutdownEngines
|
||||
XamContentCreateEnumerator
|
||||
XamEnumerate
|
||||
XamInputGetCapabilities
|
||||
XamNotifyCreateListener
|
||||
XamTaskCloseHandle
|
||||
XamTaskSchedule
|
||||
XamUserGetXUID
|
||||
XamUserReadProfileSettings
|
||||
XAudioRegisterRenderDriverClient
|
||||
XeCryptSha
|
||||
XeKeysConsolePrivateKeySign
|
||||
XexCheckExecutablePrivilege
|
||||
XGetAVPack
|
||||
XNotifyPositionUI
|
||||
13
audit-runs/post-IO-002/canary_only.txt
Normal file
13
audit-runs/post-IO-002/canary_only.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
Added
|
||||
ExTerminateThread
|
||||
Failed
|
||||
KeReleaseSemaphore
|
||||
KeResetEvent
|
||||
ObCreateSymbolicLink
|
||||
Registered
|
||||
Removed
|
||||
Unregistered
|
||||
XAM
|
||||
XamTaskCloseHandle
|
||||
XamTaskSchedule
|
||||
XamUserReadProfileSettings
|
||||
205
audit-runs/post-IO-002/canary_only_clean.txt
Normal file
205
audit-runs/post-IO-002/canary_only_clean.txt
Normal file
@@ -0,0 +1,205 @@
|
||||
A3210
|
||||
A4
|
||||
AFDC0
|
||||
AFDC4
|
||||
AFE20
|
||||
AFE24
|
||||
B5764
|
||||
B5774
|
||||
B5784
|
||||
B5794
|
||||
B57A4
|
||||
BC365260
|
||||
BC365580
|
||||
BC3655C0
|
||||
BC365620
|
||||
BC3657C0
|
||||
BC365D80
|
||||
BC365EC0
|
||||
BC365F60
|
||||
BC365FE0
|
||||
BC366060
|
||||
BC3660E0
|
||||
BC366140
|
||||
BC3661C0
|
||||
BC368C20
|
||||
BC368C80
|
||||
BC368DA0
|
||||
BC368E80
|
||||
BC368F40
|
||||
BC65C9C0
|
||||
BC65CB80
|
||||
BC65CBC0
|
||||
BC65CE80
|
||||
BC65CEC0
|
||||
BC65D080
|
||||
BC65D140
|
||||
BC65D200
|
||||
BC65D340
|
||||
BC65D3C0
|
||||
BC65D500
|
||||
BC65D580
|
||||
BC6608C0
|
||||
BC666A80
|
||||
BCE24A7C
|
||||
BDFBA658
|
||||
BE56BB6C
|
||||
BE56BB70
|
||||
CE1F0
|
||||
CE1F8
|
||||
CEBA0
|
||||
CEC4C
|
||||
CEC80
|
||||
CECA0
|
||||
CEE40
|
||||
CEE90
|
||||
CEEB0
|
||||
CEEB8
|
||||
CEEC8
|
||||
CEF70
|
||||
CEFD0
|
||||
CEFD8
|
||||
CEFE8
|
||||
CF040
|
||||
CF058
|
||||
CF0F0
|
||||
CF190
|
||||
CF1A0
|
||||
CF210
|
||||
CF290
|
||||
CF294
|
||||
CF2A0
|
||||
CF2B0
|
||||
CF2B8
|
||||
CF2C8
|
||||
CF320
|
||||
CF328
|
||||
CF338
|
||||
CF370
|
||||
CF390
|
||||
CF398
|
||||
CF3B8
|
||||
CF3C0
|
||||
CF3E0
|
||||
CF3F0
|
||||
CF400
|
||||
CF410
|
||||
CF430
|
||||
CF450
|
||||
CF460
|
||||
CF480
|
||||
CF484
|
||||
CF490
|
||||
CF4A0
|
||||
CF4A4
|
||||
CF4C8
|
||||
CF4D0
|
||||
CF4E0
|
||||
CF560
|
||||
CF5D0
|
||||
CF620
|
||||
CF630
|
||||
CF638
|
||||
CF648
|
||||
CF660
|
||||
CF680
|
||||
CF684
|
||||
CF6A0
|
||||
CF6AC
|
||||
CF6C0
|
||||
CF6D8
|
||||
CF6E0
|
||||
CF6F0
|
||||
CF710
|
||||
CF728
|
||||
CF730
|
||||
CF740
|
||||
CF760
|
||||
CF790
|
||||
CF810
|
||||
CF818
|
||||
CF820
|
||||
CF830
|
||||
CF840
|
||||
CF860
|
||||
CF8C0
|
||||
CFB50
|
||||
CFBA0
|
||||
CFBA4
|
||||
CFC84
|
||||
CFC8C
|
||||
CFCB0
|
||||
DF760
|
||||
DF780
|
||||
DFAA0
|
||||
DFAB0
|
||||
DFAB8
|
||||
DFAC0
|
||||
DFAC8
|
||||
DFAD8
|
||||
DFBB0
|
||||
DFBB4
|
||||
DFE48
|
||||
DFE50
|
||||
DFE54
|
||||
ExTerminateThread
|
||||
F3C90
|
||||
F3C94
|
||||
F670
|
||||
F678
|
||||
F688
|
||||
F730
|
||||
F740
|
||||
F748
|
||||
F758
|
||||
F800
|
||||
F830
|
||||
F838
|
||||
F848
|
||||
F8C0
|
||||
F8C8
|
||||
F8D8
|
||||
F8F0
|
||||
F930
|
||||
F948
|
||||
F960
|
||||
F970
|
||||
F980
|
||||
F9C0
|
||||
F9F0
|
||||
FA30
|
||||
FA80
|
||||
FA88
|
||||
FAE0
|
||||
FAF0
|
||||
FB00
|
||||
FB20
|
||||
FB40
|
||||
FBA0
|
||||
FBB0
|
||||
FBD0
|
||||
FC10
|
||||
FC20
|
||||
FC40
|
||||
FC44
|
||||
FC50
|
||||
FCA0
|
||||
FD50
|
||||
FD54
|
||||
FDD0
|
||||
FDD4
|
||||
FDE0
|
||||
FE08
|
||||
FE20
|
||||
FE24
|
||||
FE30
|
||||
FE50
|
||||
FE54
|
||||
FE90
|
||||
FED0
|
||||
KeReleaseSemaphore
|
||||
KeResetEvent
|
||||
ObCreateSymbolicLink
|
||||
XamTaskCloseHandle
|
||||
XamTaskSchedule
|
||||
XamUserReadProfileSettings
|
||||
129
audit-runs/post-IO-002/diff.py
Normal file
129
audit-runs/post-IO-002/diff.py
Normal file
@@ -0,0 +1,129 @@
|
||||
#!/usr/bin/env python3
|
||||
# One-shot kernel-call sequence diff: canary (oracle) vs ours (xenia-rs).
|
||||
# Usage: python3 diff.py [--max N] [--window W] [--noisy] [--from K]
|
||||
# Both canary.log and ours.log are read from this directory.
|
||||
|
||||
import argparse
|
||||
import re
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
HERE = Path(__file__).parent
|
||||
CANARY = HERE / "canary.log"
|
||||
OURS = HERE / "ours.log"
|
||||
|
||||
# canary D-level lines: d> 1234ABCD ExportName(args...
|
||||
# (sometimes the handle is 8 hex digits; the export name is then `[A-Z][A-Za-z0-9_]+`).
|
||||
# Some lines are F-level (file ops) or i-level — those aren't kernel exports we care about.
|
||||
CANARY_RE = re.compile(r"^d>\s+[0-9A-Fa-f]+\s+([A-Z][A-Za-z0-9_]+)\(")
|
||||
|
||||
# our probe_calls lines: ... probe_calls: hw=0 call=ExportName r3=...
|
||||
OURS_RE = re.compile(r"probe_calls.*?call=([A-Za-z_][A-Za-z0-9_]*)")
|
||||
|
||||
# Noisy "runtime / CRT" exports we strip when --noisy is OFF (default).
|
||||
# Heuristic: anything called >100x in canary's intro is noise.
|
||||
NOISY_PREFIXES = (
|
||||
"Rtl", "Mm", "Ke", # runtime/critical-section/memory/kernel-internal hot paths
|
||||
)
|
||||
# But keep these — they mark important structural events:
|
||||
KEEP_NOISY = {
|
||||
"KeSetEvent", "KeResetEvent", "KePulseEvent", "KeReleaseSemaphore",
|
||||
"KeWaitForSingleObject", "KeWaitForMultipleObjects",
|
||||
"RtlRaiseException",
|
||||
}
|
||||
|
||||
|
||||
def extract(path: Path, regex: re.Pattern) -> list[str]:
|
||||
seq: list[str] = []
|
||||
with path.open("r", errors="replace") as f:
|
||||
for line in f:
|
||||
m = regex.search(line)
|
||||
if m:
|
||||
seq.append(m.group(1))
|
||||
return seq
|
||||
|
||||
|
||||
def filter_noisy(seq: list[str], drop_noisy: bool) -> list[str]:
|
||||
if not drop_noisy:
|
||||
return seq
|
||||
out = []
|
||||
for n in seq:
|
||||
if n in KEEP_NOISY:
|
||||
out.append(n)
|
||||
elif any(n.startswith(p) for p in NOISY_PREFIXES):
|
||||
continue
|
||||
else:
|
||||
out.append(n)
|
||||
return out
|
||||
|
||||
|
||||
def find_first_divergence(a: list[str], b: list[str]) -> int:
|
||||
n = min(len(a), len(b))
|
||||
for i in range(n):
|
||||
if a[i] != b[i]:
|
||||
return i
|
||||
return n # one is a prefix of the other
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument("--max", type=int, default=2000,
|
||||
help="cap each sequence to N entries before diffing (default 2000)")
|
||||
ap.add_argument("--window", type=int, default=20,
|
||||
help="lines of context around the divergence point (default 20)")
|
||||
ap.add_argument("--noisy", action="store_true",
|
||||
help="don't drop Rtl/Mm/Ke runtime/CRT calls")
|
||||
ap.add_argument("--from", dest="skip", type=int, default=0,
|
||||
help="skip first K matched calls in BOTH sequences before diffing")
|
||||
args = ap.parse_args()
|
||||
|
||||
canary = extract(CANARY, CANARY_RE)
|
||||
ours = extract(OURS, OURS_RE)
|
||||
print(f"raw: canary={len(canary)} ours={len(ours)}")
|
||||
|
||||
canary_f = filter_noisy(canary, drop_noisy=not args.noisy)
|
||||
ours_f = filter_noisy(ours, drop_noisy=not args.noisy)
|
||||
print(f"filtered ({'noisy kept' if args.noisy else 'CRT/Rtl/Mm dropped'}): "
|
||||
f"canary={len(canary_f)} ours={len(ours_f)}")
|
||||
|
||||
if args.skip:
|
||||
canary_f = canary_f[args.skip:]
|
||||
ours_f = ours_f[args.skip:]
|
||||
print(f"after --from={args.skip}: canary={len(canary_f)} ours={len(ours_f)}")
|
||||
|
||||
canary_c = canary_f[:args.max]
|
||||
ours_c = ours_f[:args.max]
|
||||
|
||||
div = find_first_divergence(canary_c, ours_c)
|
||||
if div == min(len(canary_c), len(ours_c)) and canary_c == ours_c[:len(canary_c)]:
|
||||
print(f"\nNo divergence within first {args.max} matched calls "
|
||||
f"(canary is a prefix of ours, or sequences are equal up to cap).")
|
||||
return 0
|
||||
|
||||
print(f"\nFIRST DIVERGENCE at index {div + args.skip} "
|
||||
f"(post-noise-filter, post-skip).")
|
||||
|
||||
lo = max(0, div - args.window)
|
||||
hi = min(min(len(canary_c), len(ours_c)) + 1, div + args.window + 1)
|
||||
|
||||
print(f"\n idx | canary (oracle) | ours (xenia-rs)")
|
||||
print( " ----+--------------------------------+---------------------------------")
|
||||
for i in range(lo, hi):
|
||||
c = canary_c[i] if i < len(canary_c) else "<END>"
|
||||
o = ours_c[i] if i < len(ours_c) else "<END>"
|
||||
marker = "*" if i == div else " "
|
||||
print(f" {marker}{i + args.skip:4d}| {c:<31}| {o}")
|
||||
|
||||
# Also show sample of what canary has next that ours doesn't.
|
||||
print(f"\nNext 30 canary calls past divergence:")
|
||||
for i, n in enumerate(canary_c[div:div + 30]):
|
||||
print(f" +{i:2d}: {n}")
|
||||
print(f"\nNext 30 ours calls past divergence:")
|
||||
for i, n in enumerate(ours_c[div:div + 30]):
|
||||
print(f" +{i:2d}: {n}")
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
10
audit-runs/post-IO-002/lock_n100m_run1.json
Normal file
10
audit-runs/post-IO-002/lock_n100m_run1.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"instructions": 100000010,
|
||||
"imports": 987630,
|
||||
"unimpl": 0,
|
||||
"draws": 0,
|
||||
"swaps": 2,
|
||||
"unique_render_targets": 0,
|
||||
"shader_blobs_live": 0,
|
||||
"texture_cache_entries": 0
|
||||
}
|
||||
10
audit-runs/post-IO-002/lock_n100m_run2.json
Normal file
10
audit-runs/post-IO-002/lock_n100m_run2.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"instructions": 100000010,
|
||||
"imports": 987630,
|
||||
"unimpl": 0,
|
||||
"draws": 0,
|
||||
"swaps": 2,
|
||||
"unique_render_targets": 0,
|
||||
"shader_blobs_live": 0,
|
||||
"texture_cache_entries": 0
|
||||
}
|
||||
90
audit-runs/post-IO-002/ours_exports.txt
Normal file
90
audit-runs/post-IO-002/ours_exports.txt
Normal file
@@ -0,0 +1,90 @@
|
||||
ExCreateThread
|
||||
ExGetXConfigSetting
|
||||
ExRegisterTitleTerminateNotification
|
||||
KeAcquireSpinLockAtRaisedIrql
|
||||
KeEnterCriticalRegion
|
||||
KeGetCurrentProcessType
|
||||
KeInitializeSemaphore
|
||||
KeLeaveCriticalRegion
|
||||
KeQueryPerformanceFrequency
|
||||
KeQuerySystemTime
|
||||
KeRaiseIrqlToDpcLevel
|
||||
KeReleaseSpinLockFromRaisedIrql
|
||||
KeResumeThread
|
||||
KeSetAffinityThread
|
||||
KeSetBasePriorityThread
|
||||
KeTlsAlloc
|
||||
KeTlsSetValue
|
||||
KeWaitForSingleObject
|
||||
KfLowerIrql
|
||||
KiApcNormalRoutineNop
|
||||
MmAllocatePhysicalMemoryEx
|
||||
MmFreePhysicalMemory
|
||||
MmGetPhysicalAddress
|
||||
NtAllocateVirtualMemory
|
||||
NtClose
|
||||
NtCreateEvent
|
||||
NtCreateFile
|
||||
NtCreateSemaphore
|
||||
NtCreateTimer
|
||||
NtDeviceIoControlFile
|
||||
NtDuplicateObject
|
||||
NtOpenFile
|
||||
NtQueryDirectoryFile
|
||||
NtQueryFullAttributesFile
|
||||
NtQueryInformationFile
|
||||
NtQueryVolumeInformationFile
|
||||
NtReadFile
|
||||
NtReleaseSemaphore
|
||||
NtResumeThread
|
||||
NtSetEvent
|
||||
NtSetInformationFile
|
||||
NtSetTimerEx
|
||||
NtWaitForMultipleObjectsEx
|
||||
NtWaitForSingleObjectEx
|
||||
NtWriteFile
|
||||
ObDereferenceObject
|
||||
ObLookupThreadByThreadId
|
||||
ObOpenObjectByPointer
|
||||
ObReferenceObjectByHandle
|
||||
RtlEnterCriticalSection
|
||||
RtlFillMemoryUlong
|
||||
RtlImageXexHeaderField
|
||||
RtlInitAnsiString
|
||||
RtlInitializeCriticalSection
|
||||
RtlInitializeCriticalSectionAndSpinCount
|
||||
RtlLeaveCriticalSection
|
||||
RtlNtStatusToDosError
|
||||
VdCallGraphicsNotificationRoutines
|
||||
VdEnableRingBufferRPtrWriteBack
|
||||
VdGetCurrentDisplayGamma
|
||||
VdGetCurrentDisplayInformation
|
||||
VdGetSystemCommandBuffer
|
||||
VdInitializeEngines
|
||||
VdInitializeRingBuffer
|
||||
VdInitializeScalerCommandBuffer
|
||||
VdIsHSIOTrainingSucceeded
|
||||
VdPersistDisplay
|
||||
VdQueryVideoFlags
|
||||
VdQueryVideoMode
|
||||
VdRetrainEDRAM
|
||||
VdRetrainEDRAMWorker
|
||||
VdSetDisplayMode
|
||||
VdSetGraphicsInterruptCallback
|
||||
VdSetSystemCommandBufferGpuIdentifierAddress
|
||||
VdShutdownEngines
|
||||
VdSwap
|
||||
XamContentCreateEnumerator
|
||||
XamEnumerate
|
||||
XamInputGetCapabilities
|
||||
XamNotifyCreateListener
|
||||
XamUserGetSigninState
|
||||
XamUserGetXUID
|
||||
XAudioRegisterRenderDriverClient
|
||||
XeCryptSha
|
||||
XeKeysConsolePrivateKeySign
|
||||
XexCheckExecutablePrivilege
|
||||
XGetAVPack
|
||||
XGetGameRegion
|
||||
XNotifyGetNext
|
||||
XNotifyPositionUI
|
||||
Reference in New Issue
Block a user