formats+tools: the counter's neighbours are its own rendered digits

With the per-entity searches refuted at word and bit level, the question became
which object owns the counter. Sampling +-0x200 around it across a 4->8
transition: the control interval moved 0 of 256 words, and the step moved nine -
the counter plus four words holding ASCII '4' -> '8' NUL-padded, and four
pointers into 0xbcad2xxx that swap with them. Read live at HUD 008, all four
character slots hold '8'.

So the neighbourhood is the HUD's rendered text for this counter, which reframes
the address: it is the HUD widget's value rather than "the mission's own
objective counter" as this file called it.

Recorded against that, because it is already measured: there is no separate
mission-side copy moving on the same step. ob_hunt scans all of guest memory and
requires a match across two transitions, and it left exactly one address.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
Sylpheed RE agent
2026-08-24 09:48:57 +00:00
parent 01468b804a
commit ac17398515
3 changed files with 208 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
{
"counter_va": 3182794344,
"n0": 4,
"n1": 8,
"hud_b": 8,
"noisy_words": 0,
"moved": [
{
"va": 3182794044,
"delta_from_counter": -300,
"before": 872415232,
"after": 939524096
},
{
"va": 3182794060,
"delta_from_counter": -284,
"before": 872415232,
"after": 939524096
},
{
"va": 3182794076,
"delta_from_counter": -268,
"before": 3165464588,
"after": 3165463948
},
{
"va": 3182794108,
"delta_from_counter": -236,
"before": 3165463948,
"after": 3165464588
},
{
"va": 3182794344,
"delta_from_counter": 0,
"before": 4,
"after": 8
},
{
"va": 3182794444,
"delta_from_counter": 100,
"before": 872415232,
"after": 939524096
},
{
"va": 3182794460,
"delta_from_counter": 116,
"before": 872415232,
"after": 939524096
},
{
"va": 3182794476,
"delta_from_counter": 132,
"before": 3165466508,
"after": 3165465868
},
{
"va": 3182794508,
"delta_from_counter": 164,
"before": 3165465868,
"after": 3165466508
}
]
}