Se os arquivos de backup dentro do BKF não forem compactados nem criptografados, é bastante fácil - bem, não muito difícil - extrair arquivos individuais manualmente usando grep, hexedit e dd.
Formato MTF: link
Exemplo (assume o uso do shell bash): extraia o arquivo Outlook.pst
grep -a -o -P 'O\x00u\x00t\x00l\x00o\x00o\x00k\x00\.\x00p\x00s\x00t' corrupt.bkf >offsetts.txt
Inspecione offsets.txt, encontre o deslocamento seguido por "NACL" "CSUM" e "STAN"
OFFSET=123456
dd if=corrupt.bkf bs=512 skip=$(( OFFSET / 512 )) | hexdump -C | less
00000000 46 49 4c 45 00 00 00 00 88 00 0e 02 00 44 bc 55 |FILE.........D.U|
00000010 00 00 00 00 2d 8e 77 00 00 00 00 00 00 00 00 00 |....-.w.........|
00000020 00 00 00 00 88 0a 00 00 00 00 00 00 18 00 70 00 |..............p.|
00000030 02 00 88 9b 00 08 00 00 1f 7a 74 17 73 1f 61 a2 |.........zt.s.a.|
00000040 b2 d7 00 00 00 00 00 1f 7a 74 17 73 54 00 00 00 |........zt.sT...|
00000050 33 0a 00 00 16 00 58 00 4f 00 75 00 74 00 6c 00 |3.....X.O.u.t.l.|
00000060 6f 00 6f 00 6b 00 2e 00 70 00 73 00 74 00 00 00 |o.o.k...p.s.t...|
...
00000170 12 1e 62 a3 33 bf 00 00 53 54 41 4e 00 00 20 00 |..b.3...STAN.. .|
00000180 00 44 bc 55 00 00 00 00 00 00 00 00 8e 0b 21 42 |.D.U..........!B|
00000190 44 4e c1 7c 3c 6a 53 4d 17 00 13 00 01 01 40 00 |DN.|<jSM......@.|
STAN significa "Standard stream", a contagem de bytes é em 8 bytes (little endian) que começam 4 bytes depois de "STAN", portanto, neste exemplo 00 44 bc 55 00 00 00 00
ou 0x55bc4400 bytes. O arquivo começa em 22 bytes após o início do STAN, você pode ver o número mágico "! BDN" no cabeçalho PST. Para extrair o arquivo:
OFFSET=$(( OFFSET / 512 * 512 + 0x18e ))
FSIZE=$(( 0x55bc4400 ))
dd if=corrupt.bkf of=Outlook.pst bs=1 skip="$OFFSET" count="$FSIZE"
Isso levará algum tempo se o arquivo for grande ... pronto!