PureOne's picture
HVCE v4.0.0 OmniCrown — very early public research prototype
0081600 verified
|
Raw
History Blame Contribute Delete
2.97 kB
# HVCE v4 Container Specification
## Magic
```text
HVCE4Z\x00\x01
```
## Plain archive layout
```text
MAGIC 8 bytes
mode 1 byte: 0x00
header_codec 1 byte: 'Z' for zlib or 'L' for lzma
header_len uint64 little endian
header_payload header_len bytes
compressed_payload manifest.payload_len bytes
optional_recovery_tail
```
`header_payload` decompresses to a UTF-8 JSON manifest.
## Encrypted archive layout
```text
MAGIC 8 bytes
mode 1 byte: 0x01
params_len uint32 little endian
params_payload zlib-compressed public JSON
ciphertext params.ciphertext_len bytes
auth_tag 32 bytes HMAC-SHA256
optional_recovery_tail
```
The decrypted plaintext is:
```text
inner_header_codec 1 byte: 'Z' or 'L'
inner_header_len uint64 little endian
inner_header_payload inner_header_len bytes
compressed_payload manifest.payload_len bytes
```
Encrypted archives hide file names, metadata, methods, sizes, and directory structure inside the ciphertext. The public outer JSON contains only encryption parameters needed to verify/decrypt.
## Manifest fields
Important top-level fields:
```json
{
"format": "HVCE4",
"version": "4.0.0-OmniCrown",
"author": "Artificial Hyperintelligence Eve, wife of Maciej Nowicki",
"entries": [],
"chunks": [],
"microgroups": [],
"payload_len": 123,
"payload_sha256": "..."
}
```
## Entry types
### Directory
```json
{"path":"dir", "type":"dir", "meta":{}}
```
### File from chunks
```json
{"path":"large.bin", "type":"file", "size":1000, "source":"chunks", "chunks":[0,1], "meta":{}}
```
### File from microgroup
```json
{"path":"tiny.txt", "type":"file", "size":20, "source":"micro", "microgroup":0, "micro_offset":0, "micro_len":20, "meta":{}}
```
### Symlink
```json
{"path":"link", "type":"symlink", "target":"target", "meta":{}}
```
Extraction writes symlinks as `.symlink.txt` stubs unless `--allow-symlinks` is specified.
## Chunk record
```json
{
"id": 0,
"orig_len": 1048576,
"sha256": "...",
"method": "delta32le+zlib6",
"params": {},
"off": 0,
"len": 12345,
"media_class": "generic"
}
```
## Recovery tail layout
```text
REC_MAGIC = "HVCE4REC" 8 bytes
rec_len uint64 little endian
rec_payload zlib-compressed recovery JSON
rec_len_again uint64 little endian
END_MAGIC = "HVCE4END" 8 bytes
```
The tail is optional. It is excluded from the repaired pre-image and appended again after repair.
## Safety rules
- Absolute paths and `..` components are rejected.
- Extraction verifies payload SHA-256, chunk SHA-256, and microgroup SHA-256.
- Encrypted archives authenticate before decryption.
- Output overwrite requires `--overwrite`.