86 lines
4.7 KiB
JSON
86 lines
4.7 KiB
JSON
{
|
|
"schema": "sots-live-record-static-capture/1",
|
|
"session": "run-a4f6a9922bf5800747bfdfc6",
|
|
"scope": "Read-only PlayerEvent complete-destructor callable, boundary, ordered-write and ownership 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"
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"name": "player-event-destructor-context",
|
|
"argv": ["/usr/bin/objdump", "-D", "-Mintel", "--start-address=0x0061ae80", "--stop-address=0x0061af20", "dumps/sots.exe"],
|
|
"returncode": 0,
|
|
"stdout": "player-event-dtor-context.stdout.txt",
|
|
"stderr": "player-event-dtor-context.stderr.txt"
|
|
},
|
|
{
|
|
"name": "player-event-destructor-exact",
|
|
"argv": ["/usr/bin/objdump", "-D", "-Mintel", "--start-address=0x0061ae90", "--stop-address=0x0061aefc", "dumps/sots.exe"],
|
|
"returncode": 0,
|
|
"stdout": "player-event-dtor-exact.stdout.txt",
|
|
"stderr": "player-event-dtor-exact.stderr.txt"
|
|
}
|
|
],
|
|
"checks": {
|
|
"all_commands_returned_zero": true,
|
|
"all_command_stderr_empty": true,
|
|
"exact_callable_ends_plain_ret_at_0x0061aefb": true,
|
|
"context_shows_following_int3_padding_and_next_prologue": true,
|
|
"exact_callable_capture_matches_accepted_dependency_bytes": true,
|
|
"three_string_destructions_are_reverse_order": true,
|
|
"each_heap_buffer_uses_scalar_delete_thunk_0x00924faa": true,
|
|
"all_three_strings_are_reset_empty_sso": true,
|
|
"base_vptr_transition_is_last": true,
|
|
"enclosing_object_storage_is_not_freed": true
|
|
},
|
|
"observations": [
|
|
"ECX is one fully constructed 0x74-byte PlayerEvent; there are no stack arguments and the helper returns with plain ret. EAX is not assigned on the all-SSO path, so no return value is supported.",
|
|
"The exact callable destroys EvImg at +0x50, then EvMsg at +0x24, then EvDsc at +0x08. Each capacity >=0x10 branch frees that string buffer through 0x00924faa; every branch then resets the string to empty SSO.",
|
|
"After string cleanup, the helper writes base vptr 0x009e22bc over PlayerEvent vptr 0x00a21958. It has no scalar-deleting flags and does not free enclosing object storage.",
|
|
"The exact 1985-byte stdout is byte-identical to both the accepted dependency repair capture and the integrated independent control capture."
|
|
],
|
|
"accepted_dependency_captures": [
|
|
"verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/player-dtor-audit.stdout.txt",
|
|
"verify/results/research-completion-abi-independent/integration-lead-20260910/player-dtor-control.stdout.txt",
|
|
"verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json"
|
|
],
|
|
"limitations": [
|
|
"Static planning evidence only; no live destructor, allocator, exception, game process or bridge operation was executed.",
|
|
"This package reconciles only PlayerEvent complete destruction and does not make the contract ready."
|
|
],
|
|
"files": [
|
|
{"path": "verify/results/research-live-record-bridge/run-a4f6a9922bf5800747bfdfc6/player-event-dtor-context.stdout.txt", "bytes": 3454, "sha256": "df0a22e9c8b2aab2c8d5b7a0a63e180aabd9f305bea784d2e14553b61e82fc73"},
|
|
{"path": "verify/results/research-live-record-bridge/run-a4f6a9922bf5800747bfdfc6/player-event-dtor-context.stderr.txt", "bytes": 0, "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},
|
|
{"path": "verify/results/research-live-record-bridge/run-a4f6a9922bf5800747bfdfc6/player-event-dtor-exact.stdout.txt", "bytes": 1985, "sha256": "db8d7b77b942234aec85ed9773b7fd8f363655c7e5aed5fc2cbecd0f5d1a133e"},
|
|
{"path": "verify/results/research-live-record-bridge/run-a4f6a9922bf5800747bfdfc6/player-event-dtor-exact.stderr.txt", "bytes": 0, "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}
|
|
]
|
|
}
|