From 65ee61d540127dda03298ed5b46638475175a663 Mon Sep 17 00:00:00 2001 From: Matiq Date: Tue, 25 Aug 2026 01:28:26 +0300 Subject: [PATCH] =?UTF-8?q?24z-2:=20rendersnap2=20v6=20attempts=20band-obj?= =?UTF-8?q?ect=20LUT=20capture=20(A/B/gamma)=20=E2=80=94=20ctx+0x540678=20?= =?UTF-8?q?is=20curve=20data=20not=20object=20ptr;=20band-object=20array?= =?UTF-8?q?=20discovery=20is=20next=20session=20opener?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handoff/NOTES_LEVEL.md | 10 ++++++++++ scripts/rendersnap2.py | 15 +++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/handoff/NOTES_LEVEL.md b/handoff/NOTES_LEVEL.md index 07b491f..edd0e47 100644 --- a/handoff/NOTES_LEVEL.md +++ b/handoff/NOTES_LEVEL.md @@ -3482,3 +3482,13 @@ lvl растёт линейно с sens. Плато q≥2 на 49.9 — анал Между нашим lvl и законом нужна СТАДИЯ КОМПРЕССИИ уровня (насыщаемая), параметризованная по конфигу. Кандидат №1 — именно LUT 563a60 (дБ-домен, A/B упоры = насыщение!). Её декод = следующий мейлстоун. + +## ============ ДОПОЛНЕНИЕ 24z-2: попытка живого съёма A/B/γ — объект банды не найден пока ============ + +rendersnap2 v6 пытается читать цепочку [ctx+0x540678]→band→[+0x180]→sub→A/B/γ. +Результат: поля отсутствуют ⇒ [ctx+0x540678] указывает на ДАННЫЕ кривой +(массив float'ов), а не на объект банды. Адрес массива ОБЪЕКТОВ банд +(тех, что с [+0x180]-LUT и [+0x4198]-входом из 563a60) нужно найти отдельно: +кандидат — скан heap'а на структуры с валидным [sub+0x90]/[sub+0xc] паттерном, +либо трассировка инициализации (563a60 получает rcx=band obj — ловить её +аргументы при param-rebuild через rendersnap2-стиль STOP в момент загрузки). diff --git a/scripts/rendersnap2.py b/scripts/rendersnap2.py index a16ccba..bcb273d 100644 --- a/scripts/rendersnap2.py +++ b/scripts/rendersnap2.py @@ -159,6 +159,21 @@ def main(): sv = np.frombuffer(scal, dtype=' 0x10000: + sb = rd(bandobj + 0x180, 8) + if sb: + sub = struct.unpack(' 0x10000: + fb4 = rd(sub, 0x18) + if fb4: + store['lut_A'] = struct.unpack('