aboutsummaryrefslogtreecommitdiff
path: root/docs/tomes/08-evidence.md
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-07-18 12:49:15 +0300
committerValentin Popov <valentin@popov.link>2026-07-18 12:49:15 +0300
commit1bd50662b163872945a8496cdd7200936ce334b3 (patch)
treef5022ce9fae1e79a92d157f20d1fad0016f60204 /docs/tomes/08-evidence.md
parent4ea4be8cadbbc4a8d9d5c00f83eee221055eb976 (diff)
downloadfparkan-1bd50662b163872945a8496cdd7200936ce334b3.tar.xz
fparkan-1bd50662b163872945a8496cdd7200936ce334b3.zip
docs(evidence): confirm live camera global relocation
Diffstat (limited to 'docs/tomes/08-evidence.md')
-rw-r--r--docs/tomes/08-evidence.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/tomes/08-evidence.md b/docs/tomes/08-evidence.md
index d4555d2..9016efc 100644
--- a/docs/tomes/08-evidence.md
+++ b/docs/tomes/08-evidence.md
@@ -268,6 +268,16 @@ near/far mapping, handedness или initial camera selection. Важно, что
`ICamera::GetTransformMatrix` (RVA `0x4F850`) ведут только в obsolete-call
stubs и не дают usable ABI.
+Live elevated read-only probe впервые подтвердил relocation-aware runtime связь:
+`Terrain.dll` был загружен по `0x02510000`, global `base + 0x7355C` содержал
+non-null `0x0B37DF08`, а первый dword этого объекта был `0x025765B4` — ровно
+relocated `off_100665B4` из `LoadCamera` construction path. Это доказывает
+live camera object с outer vtable, но одновременно исправляет прежнее слишком
+сильное сопоставление offsets: raw read `global + 0x10` не дал finite 4x4 matrix,
+а `+0x234` был zero в данном sample. Receiver static procedures `0x4D740`/
+`0x4D9C0` и exported global ещё не доказаны как один layout без interface
+adjustment; их offsets остаются unassigned до recovery selector relationship.
+
Локальная IDA-база уточняет адреса этой связи: `stdGetCurrentCamera2` — это
шестибайтный getter по RVA `0x4FD80`, который возвращает `dword` по RVA
`0x7355C`. Единственный найденный initializer этого global — функция Terrain