Files
chimera-gfx-Public/docs/runtime/phase-0.9e-r2-siecaf-structural-analysis.md
T
Chimera GFX release export a6037502d7
phase0-ci / build-and-audit (push) Successful in 2m14s
Publish Chimera GFX source
2026-09-03 03:27:14 +02:00

71 lines
3.8 KiB
Markdown

# Phase 0.9E-R2 SIECAF structural analysis
Date: 2026-07-19
Result: all pairwise comparisons are `SIECAF_LAYOUT_DIFFERENT`.
## Evidence and scope
`tools/inspect_siecaf_header.py` is a host-only read-only parser. Its fixed
little-endian layouts are bound to:
- PS5 DevWiki `Archive.dat` structure documentation;
- `c0w-ar/ps5-bar-tool` commit
`36d014672bc87577a6e0d750c2cccadc3fae0854`, tree
`d3e973b60432fdc32bd16e3b7424e82dcc38a23f`;
- public `include/bar_file.h` blob
`fdbc368353a7797464873ada306f0297257eb95e`.
The public header names the 64-bit value after the magic `unknown`, and the
later signed 32-bit field `version`. Versions 3 and 6 were observed and are
parsed using that same public fixed-width layout. Other versions fail closed.
The parser reads only the 0x58-byte header, 0x40-byte metadata records, and
0x30-byte hash records. It never decrypts, guesses keys, extracts content,
executes `ps5-bar-tool`, writes output files, or opens a network connection.
The 16-byte header field named `key` by the public source and the complete raw
header are not emitted; only their SHA-256 fingerprints are recorded. This
preserves exact structural comparison without committing cryptographic header
material.
It checks exact magic, table arithmetic with uint64 overflow guards, table and
declared-data bounds, 64 KiB alignment, coherent aligned/unaligned sizes,
metadata `(section_id, part_number)` identity, hash-table index coverage,
duplicates, overlaps, gaps, and trailing data. Repeated section IDs with
different part numbers are reported but are valid multipart records.
## Header comparison
| Field | Local | Official Y2JB 1.6 4.03 | owendswang v1.4 autoloader 7.61 |
|---|---:|---:|---:|
| inner size | 504365056 | 504496128 | 504627200 |
| version | 3 | 3 | 6 |
| segment count | 62 | 64 | 58 |
| data offset | 65536 | 65536 | 65536 |
| declared data size | 504299520 | 504430592 | 504561664 |
| header SHA-256 | `4454809c9831770901491368f08b648129aef7ee3148aff17df8716ff3a5cd76` | `1af2bd937e5b6a2386331893f7ea1295661858cb91c90ee728141a4fec2dbf9b` | `db2a9677f051b372e208261d767ac45f653374426a5594ce3306568138ebd3ae` |
All three parse as `SIECAF_VALID_STRUCTURE`. None has gaps, overlaps, trailing
data, duplicate metadata composite keys, or duplicate hash-table IDs.
## Normalized fingerprints
| Object | Segment table SHA-256 | Hash blocks SHA-256 | Layout SHA-256 | Structural SHA-256 |
|---|---|---|---|---|
| local | `ee35a92fe5e46c307310715fc5bd0edb9ac46c2046b7d77e9c1c437446e399ea` | `6e052f186dc8e683d501e376d79dcec1ba0d3268c257b6071e96eae738a7be24` | `c6dac8313ef99accba68b4a36871f0d8ae99676df0b721d4447ecb05a12a6539` | `7bb1b70187d1f48370b9bae218429af79105585bd043307824c0d84982e6922f` |
| official | `d31def8e731d7bba0eaf23177f7c7245ef17f5d37ade53c9ca18744154bc8e25` | `c3236f5d85a4d7741be5a1fda5ce96d2bb7f005b0e48fed043af5ea48fb045d2` | `de6cc47686e5e301b725267b9b777c80a07a788e51f214cfb6e9d7f6e2e11110` | `9c453e1fa99ef1f1e6fe1d992f9b0a2ede4dbd4b9a2ad8551c08c8c61ed9be2a` |
| community | `f0aed4ae115866010902671a511983c3e6e21d1a7ab187bae7f36566979beb89` | `434b209865af8c5815b1277073db59348fddf65086908b2fd00dee5324459bcb` | `be7fdf87361c17fa52d3b4b263f4ee0cce69e924f8dab0ab66c554b4d9557549` | `4884c54e280969371ae1d0b84533be5a7c50a61dff6931cf595fdb5862655218` |
Pairwise outcomes:
- local versus official: `SIECAF_LAYOUT_DIFFERENT`;
- local versus community: `SIECAF_LAYOUT_DIFFERENT`;
- official versus community: `SIECAF_LAYOUT_DIFFERENT`.
`manifests/runtime/phase-0.9e-r2-siecaf-fingerprints.json` contains every
non-secret normalized input field, metadata record, section hash, redacted
header-field hashes, parser warning/error array, and comparison. Structural
hashes are non-authorizing fingerprints:
even `SIECAF_STRUCTURAL_EXACT` would not prove decrypted-content identity or
deployment. Here, not even normalized layout equality exists.