I took a look at the available firmwares and I decided to start with Audi, because it was the first one in the list. I started with just the first portion of the Audi firmware.pac files.
Version 2.00: 39 50 02 0f fd 19 48 fb e4 93 07 c6 25 36 f2 84 88 4a 8c c5 ac 7b 25 0c 04 a3 4d 40 b5 23 a1 4b
Version 3.00: 39 50 02 0f fd 19 a0 fb e4 93 07 c6 25 36 f2 84 88 4a 8c c5 ac 7b 25 0c 04 a3 4d 40 b5 23 a1 4b
Version 4.00: 39 50 04 0f fd 19 88 6d fd a6 02 a5 98 99 fd 84 88 4a 8c c5 ac 7b 25 0c 04 a3 4d 40 b5 23 a1 4b
Version 4.01: 39 50 04 0f fd 19 88 6d fd a6 02 a5 98 99 fd 84 88 4a 8c c5 ac 7b 25 0c 04 a3 4d 40 b5 23 a1 4b
Version 5.01: 39 50 05 0f fd 1b 20 50 55 72 09 cf 33 e7 ef 84 88 4a 8c c5 ac 7b 25 0c 04 a3 4d 40 b5 23 a1 4b
Version 5.02: 39 50 05 0f fd 1b 40 0a 7c 0d 54 8d c8 76 7b 84 88 4a 8c c5 ac 7b 25 0c 04 a3 4d 40 b5 23 a1 4b
Version 6.00: 39 50 06 0f fd 1e d8 9a 36 e0 87 3e f3 67 6d 84 88 4a 8c c5 ac 7b 25 0c 04 a3 4d 40 b5 23 a1 4b
Version 7.00: 39 50 07 0f fd 21 e8 93 79 0c 10 91 cd 60 72 84 88 4a 8c c5 ac 7b 25 6f e6 4d 0b 60 20 45 a6 4b
Version 7.02: 39 50 07 0f fd 22 b0 93 79 0c 10 91 cd 60 72 84 88 4a 8c c5 ac 7b 25 6f e6 4d 0b 60 20 45 a6 4b
I noticed right off the bat that the third byte corresponds with the version number, and that there are several sequences that are the same.
Yea... they correspond to this as well (beginning of a level-10 logfile):
09.39:51d :parse_pac : PAC file summary
09.39:51d :parse_pac : firmware name h: 22
09.39:51d :parse_pac : firmware name l: 00
09.39:51d :parse_pac : firmware ver : 08
09.39:51d :parse_pac : firmware base h: 0f
09.39:51d :parse_pac : firmware base l: fd
09.39:51d :parse_pac : firmware size h: 15
09.39:51d :parse_pac : firmware size l: 60
This is obtained from the first 7 bytes of the file, which SHOULD be just a header. It is in the order listed above... so for your "4" it would be:
name h: 39
name l:50
ver: 04
base h: 0f
base l: fd
size h: 19
size l: 88