Mercurial > veg
annotate README @ 0:b4d1a6e4bbde default tip
*: initial commit and research on the .veg file format
| author | Paper <paper@tflc.us> |
|---|---|
| date | Fri, 17 Oct 2025 19:01:34 -0400 |
| parents | |
| children |
| rev | line source |
|---|---|
|
0
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
1 This is a "playground" for reversing the Vegas Pro ".veg" file format. |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
2 |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
3 What I've figured out so far: |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
4 - The .veg file format has a Wave64-style RIFF structure. |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
5 - Each file has one big "riff" chunk; it contains the GUID of the |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
6 "riff" chunk, a 64-bit little endian size, and another GUID |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
7 defining what the type of the data is. In fact, this exactly |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
8 explains WHY my little 'msvpvf' tool was able to get away with |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
9 simply overwriting the bytes at 0x18, since that's the GUID |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
10 stating whether it is a .vf or a .veg. |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
11 - That one big "riff" chunk contains many sub-chunks, which |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
12 contain other data. The first of these sub-chunks is a |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
13 chunk containing generic header data, for example project |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
14 resample settings. All of the others are "list" chunks, |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
15 which follow the same format as the "riff" chunk. |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
16 - The GUIDs seem to be totally random besides the "riff" and |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
17 "list" chunks. |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
18 - Any and all strings are stored as UTF-16 little endian |
|
b4d1a6e4bbde
*: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff
changeset
|
19 (Windows NT style). |
