292 lines
11 KiB
JSON
292 lines
11 KiB
JSON
{
|
|
"schema": "sots-live-record-static-capture/1",
|
|
"session": "run-c1238a40bfc3bfa7c2ff9ba6",
|
|
"scope": "Read-only PlayerEvent default-constructor callable/write/unwind reconciliation; static planning evidence only, with no original-runtime, allocator, VM, Ghidra or build-host execution.",
|
|
"cwd": "/home/alex/sots-re",
|
|
"environment": {
|
|
"mode": "empty base environment",
|
|
"PATH": "/usr/bin:/bin",
|
|
"LC_ALL": "C"
|
|
},
|
|
"source_binding": {
|
|
"engine": {
|
|
"path": "/tmp/opencode/sots-final-research-engine",
|
|
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
|
|
"sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd",
|
|
"git_common_dir": "/home/alex/sots-engine/.git"
|
|
},
|
|
"re": {
|
|
"path": "/tmp/opencode/sots-final-research-re",
|
|
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
|
|
"sha256": "6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8",
|
|
"git_common_dir": "/home/alex/sots-re/.git"
|
|
}
|
|
},
|
|
"input": {
|
|
"path": "dumps/sots.exe",
|
|
"bytes": 7898624,
|
|
"sha256": "970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841"
|
|
},
|
|
"tools": [
|
|
{
|
|
"path": "/usr/bin/objdump",
|
|
"version": "GNU Binutils 2.38",
|
|
"sha256": "1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd"
|
|
},
|
|
{
|
|
"path": "/usr/bin/python3",
|
|
"version": "Python 3.10.12",
|
|
"sha256": "a2f33a6e006989270f4340528eb61f8f97366e00a5d1b602ac8672ea44fc56ae"
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"name": "player-event-ctor-exact",
|
|
"argv": [
|
|
"/usr/bin/objdump",
|
|
"-D",
|
|
"-Mintel",
|
|
"--start-address=0x0084ee30",
|
|
"--stop-address=0x0084eef4",
|
|
"dumps/sots.exe"
|
|
],
|
|
"returncode": 0,
|
|
"stdout": "player-event-ctor-exact.stdout.txt",
|
|
"stderr": "player-event-ctor-exact.stderr.txt"
|
|
},
|
|
{
|
|
"name": "player-event-ctor-context",
|
|
"argv": [
|
|
"/usr/bin/objdump",
|
|
"-D",
|
|
"-Mintel",
|
|
"--start-address=0x0084ee20",
|
|
"--stop-address=0x0084f000",
|
|
"dumps/sots.exe"
|
|
],
|
|
"returncode": 0,
|
|
"stdout": "player-event-ctor.stdout.txt",
|
|
"stderr": "player-event-ctor.stderr.txt"
|
|
},
|
|
{
|
|
"name": "eh-handler-and-funclets",
|
|
"argv": [
|
|
"/usr/bin/objdump",
|
|
"-D",
|
|
"-Mintel",
|
|
"--start-address=0x00996120",
|
|
"--stop-address=0x00996180",
|
|
"dumps/sots.exe"
|
|
],
|
|
"returncode": 0,
|
|
"stdout": "player-event-ctor-ehdata.stdout.txt",
|
|
"stderr": "player-event-ctor-ehdata.stderr.txt"
|
|
},
|
|
{
|
|
"name": "funcinfo-context",
|
|
"argv": [
|
|
"/usr/bin/objdump",
|
|
"-D",
|
|
"-Mintel",
|
|
"--start-address=0x00ac9880",
|
|
"--stop-address=0x00ac9900",
|
|
"dumps/sots.exe"
|
|
],
|
|
"returncode": 0,
|
|
"stdout": "player-event-ctor-funcinfo.stdout.txt",
|
|
"stderr": "player-event-ctor-funcinfo.stderr.txt"
|
|
},
|
|
{
|
|
"name": "base-cleanup",
|
|
"argv": [
|
|
"/usr/bin/objdump",
|
|
"-D",
|
|
"-Mintel",
|
|
"--start-address=0x007639f0",
|
|
"--stop-address=0x00763a30",
|
|
"dumps/sots.exe"
|
|
],
|
|
"returncode": 0,
|
|
"stdout": "player-event-ctor-cleanup-base.stdout.txt",
|
|
"stderr": "player-event-ctor-cleanup-base.stderr.txt"
|
|
},
|
|
{
|
|
"name": "string-cleanup",
|
|
"argv": [
|
|
"/usr/bin/objdump",
|
|
"-D",
|
|
"-Mintel",
|
|
"--start-address=0x008e0600",
|
|
"--stop-address=0x008e0640",
|
|
"dumps/sots.exe"
|
|
],
|
|
"returncode": 0,
|
|
"stdout": "player-event-ctor-cleanup-string.stdout.txt",
|
|
"stderr": "player-event-ctor-cleanup-string.stderr.txt"
|
|
},
|
|
{
|
|
"name": "empty-string-helper",
|
|
"argv": [
|
|
"/usr/bin/objdump",
|
|
"-D",
|
|
"-Mintel",
|
|
"--start-address=0x00425550",
|
|
"--stop-address=0x00425620",
|
|
"dumps/sots.exe"
|
|
],
|
|
"returncode": 0,
|
|
"stdout": "string-empty-init.stdout.txt",
|
|
"stderr": "string-empty-init.stderr.txt"
|
|
},
|
|
{
|
|
"name": "direct-pe-eh-extract",
|
|
"argv": [
|
|
"/usr/bin/python3",
|
|
"verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/extract_player_event_eh.py"
|
|
],
|
|
"returncode": 0,
|
|
"outputs": [
|
|
"player-event-ctor-eh-record.bin",
|
|
"player-event-ctor-eh-analysis.json"
|
|
]
|
|
}
|
|
],
|
|
"checks": {
|
|
"all_commands_returned_zero": true,
|
|
"all_command_stderr_empty": true,
|
|
"exact_constructor_window_ends_plain_ret_at_0x0084eef3": true,
|
|
"exact_constructor_capture_matches_accepted_dependency_bytes": true,
|
|
"logical_layout_size_is_116_bytes": true,
|
|
"three_distinct_empty_string_states": true,
|
|
"empty_helper_fixed_path_has_zero_allocations": true,
|
|
"empty_helper_fixed_path_has_zero_frees": true,
|
|
"eh_analysis_checks_pass": true
|
|
},
|
|
"observations": [
|
|
"ECX is the destination; there are no stack arguments; normal EAX is destination; return is plain ret.",
|
|
"Writes establish all logical PlayerEvent fields but do not overwrite inactive SSO union bytes or each string allocator-shaped trailing dword.",
|
|
"The three position dwords copy 0x7f7fffff FLT_MAX from 0x00af0dc8..0x00af0dd0.",
|
|
"MSVC unwind states restore base vptr, then destroy completed EvDsc, then completed EvMsg; no live throw was executed."
|
|
],
|
|
"limitations": [
|
|
"Static planning evidence only; no live allocator, destructor, exception, game process or bridge operation was executed.",
|
|
"This package reconciles only PlayerEvent default construction and does not make the contract ready."
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/cleanup-probe-result.json",
|
|
"bytes": 53,
|
|
"sha256": "618bc05f17147f1659464de97165e8c2902386e91159b106aa2846de40096cdc"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/ehdata-probe-result.json",
|
|
"bytes": 22,
|
|
"sha256": "1e3f6691f455051e8adb15d961e4bf3c7a17e83dd88b2afdd13315cc288250bb"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/exact-probe-result.json",
|
|
"bytes": 22,
|
|
"sha256": "1e3f6691f455051e8adb15d961e4bf3c7a17e83dd88b2afdd13315cc288250bb"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/extract_player_event_eh.py",
|
|
"bytes": 3113,
|
|
"sha256": "0953c1d11c36465cc2f5877d877da332138899fa96061353909f33e69e3150e1"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/funcinfo-probe-result.json",
|
|
"bytes": 22,
|
|
"sha256": "1e3f6691f455051e8adb15d961e4bf3c7a17e83dd88b2afdd13315cc288250bb"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-cleanup-base.stderr.txt",
|
|
"bytes": 0,
|
|
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-cleanup-base.stdout.txt",
|
|
"bytes": 1885,
|
|
"sha256": "915d569711bb50f93c55900b640fec26ba7f09ec72ddb8a78654db011183045a"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-cleanup-string.stderr.txt",
|
|
"bytes": 0,
|
|
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-cleanup-string.stdout.txt",
|
|
"bytes": 1709,
|
|
"sha256": "65aa88d4d5c2dca77fea08774bcf2cf91765748d65e5db658633362102b67d5b"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-eh-analysis.json",
|
|
"bytes": 998,
|
|
"sha256": "dc954da6d20cdee3fa2c6ca23f25da70a2ae0bf74cfc6258c81ddf15c5294e79"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-eh-record.bin",
|
|
"bytes": 60,
|
|
"sha256": "cc3820927d2c826367503c2870c1a8e53336bbf8ddbe1b9bb7caea9cbdfe852d"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-ehdata.stderr.txt",
|
|
"bytes": 0,
|
|
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-ehdata.stdout.txt",
|
|
"bytes": 1624,
|
|
"sha256": "f871539845897ca47c3b738304450c9d170539b46ba364823d662f92cea0e035"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-exact.stderr.txt",
|
|
"bytes": 0,
|
|
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-exact.stdout.txt",
|
|
"bytes": 3363,
|
|
"sha256": "346867ad6b91b9a07f466832c258e101a0b13c7911f1e42d659ff8591494bfba"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-funcinfo.stderr.txt",
|
|
"bytes": 0,
|
|
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor-funcinfo.stdout.txt",
|
|
"bytes": 2175,
|
|
"sha256": "48d9ef15d0443cd82f606682c47d8ddd9023e5b1275db7d8f7e6f74287fe386e"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor.stderr.txt",
|
|
"bytes": 0,
|
|
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/player-event-ctor.stdout.txt",
|
|
"bytes": 8673,
|
|
"sha256": "e71cefde2e8635e882646ccfa6dbbc7f454574f4b357ef25077e7fcd532d8550"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/probe-result.json",
|
|
"bytes": 22,
|
|
"sha256": "1e3f6691f455051e8adb15d961e4bf3c7a17e83dd88b2afdd13315cc288250bb"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/string-empty-init-probe-result.json",
|
|
"bytes": 22,
|
|
"sha256": "1e3f6691f455051e8adb15d961e4bf3c7a17e83dd88b2afdd13315cc288250bb"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/string-empty-init.stderr.txt",
|
|
"bytes": 0,
|
|
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
|
},
|
|
{
|
|
"path": "verify/results/research-live-record-bridge/run-c1238a40bfc3bfa7c2ff9ba6/string-empty-init.stdout.txt",
|
|
"bytes": 4881,
|
|
"sha256": "b5a388421069688c7c80cda9c6d5158ea43f3dae1e6530c8b52e33563e671af1"
|
|
}
|
|
]
|
|
}
|