Join also our Discord channel! Click here.

I need help to extract from new .pck file (AKPK/DIDX/BKHD)

Read or post about compression. And decompression. Or ask questions how to decompress your files.
Post Reply
gravissimus
ultra-n00b
Posts: 5
Joined: Wed Sep 26, 2012 6:15 am
Has thanked: 2 times

I need help to extract from new .pck file (AKPK/DIDX/BKHD)

Post by gravissimus » Wed Sep 26, 2012 4:25 pm

Hi guys, need your help to unpack some new .pck file

I tried scripts fo files with similar IDs (AKPK/DIDX/BKHD).
I asked aluigi, he said it`s not a 5 minutes deal and suggested appeal to the comunity, what I'm doing.

Hire it is some part from file.
If anybody interasted in this issue ask link on example PM.

Code: Select all

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000  41 4B 50 4B 00 00 00 6C 00 00 00 01 00 00 00 10  AKPK...l........
00000010  00 00 00 18 00 00 00 2C 00 00 00 04 00 00 00 01  .......,........
00000020  00 00 00 0C 00 00 00 00 73 66 78 00 00 00 00 01  ........sfx.....
00000030  51 35 D3 8A 00 00 08 00 00 00 4B 95 00 00 00 01  Q5УЉ......K•....
00000040  00 00 00 00 00 00 00 02 0E D4 99 79 00 00 08 00  .........Ф™y....
00000050  00 5C 10 00 00 00 00 0B 00 00 00 00 3A D8 E3 AC  .\..........:Шг¬
00000060  00 00 08 00 00 0E C0 00 00 00 0B 8D 00 00 00 00  ......А....Ќ....
...
00000800  42 4B 48 44 00 00 07 D0 00 00 00 3E 51 35 D3 8A  BKHD...Р...>Q5УЉ
...
00000FD0  00 00 00 00 00 00 00 00 44 49 44 58 00 00 00 18  ........DIDX....
...
00001620  4A 55 4E 4B 00 00 01 D0 00 00 00 00 00 00 00 00  JUNK...Р........
...
000017F0  00 00 00 00 00 00 00 00 64 61 74 61 00 5C 08 00  ........data.\..
...
000019E0  7F 00 04 08 10 23 00 7D FC 00 10 20 40 8B FF FF  .....#.}ь.. @‹яя
000019F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  яяяяяяяяяяяяяяяя
...
00001FF0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  яяяяяяяяяяяяяяяя
00002000  FC 00 01 00 00 7D FC 00 10 20 40 8C 01 F7 F0 00  ь....}ь.. @Њ.чр.
...
000021E0  00 40 81 02 30 07 DF C0 01 02 04 08 BF FF FF FF  .@Ѓ.0.ЯА....їяяя
000021F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  яяяяяяяяяяяяяяяя
...
00002800  D8 00 01 00 00 7D FC 00 10 20 40 8C 01 F7 F0 00  Ш....}ь.. @Њ.чр.
00002810  40 81 02 30 07 DF C0 01 02 04 08 C0 1F 7F 00 04  @Ѓ.0.ЯА....А....
...
00003000  52 49 46 58 00 C0 0E 00 57 41 56 45 66 6D 74 20  RIFX.А..WAVEfmt 
00003010  00 00 00 40 01 66 00 02 00 00 BB 80 00 00 62 34  ...@.f....»Ђ..b4
00003020  08 00 00 10 00 22 00 01 00 00 00 03 00 1C 1A 00  ....."..........
00003030  00 00 40 00 00 00 00 00 00 1C 17 80 00 00 00 00  ..@........Ђ....
00003040  00 1C 17 7F 00 04 00 3B 00 00 00 20 00 75 83 F4  .......;... .uѓф
00003050  13 00 00 00 73 65 65 6B 00 00 00 EC 00 00 98 00  ....seek...м....
00003060  00 01 1C 00 00 01 9E 00 00 02 0E 00 00 02 8C 00  ......ћ.......Њ.
00003070  00 02 FC 00 00 03 6C 00 00 03 D6 00 00 04 4C 00  ..ь...l...Ц...L.
00003080  00 04 C0 00 00 05 40 00 00 05 B4 00 00 06 2E 00  ..А...@...ґ.....
00003090  00 06 9C 00 00 07 06 00 00 07 74 00 00 07 F4 00  ..њ.......t...ф.
000030A0  00 08 74 00 00 08 EC 00 00 09 66 00 00 09 E0 00  ..t...м...f...а.
000030B0  00 0A 50 00 00 0A BC 00 00 0B 30 00 00 0B 9E 00  ..P...ј...0...ћ.
000030C0  00 0C 1E 00 00 0C 8C 00 00 0D 0A 00 00 0D 86 00  ......Њ.......†.
000030D0  00 0E 06 00 00 0E 78 00 00 0E EA 00 00 0F 5C 00  ......x...к...\.
000030E0  00 0F E0 00 00 10 54 00 00 10 D2 00 00 11 62 00  ..а...T...Т...b.
000030F0  00 11 D4 00 00 12 44 00 00 12 B6 00 00 13 3A 00  ..Ф...D...¶...:.
00003100  00 13 B4 00 00 14 40 00 00 14 CE 00 00 15 44 00  ..ґ...@...О...D.
00003110  00 15 AC 00 00 16 24 00 00 16 A8 00 00 17 16 00  ..¬...$...Ё.....
00003120  00 17 A8 00 00 18 1C 00 00 18 B0 00 00 19 2A 00  ..Ё.......°...*.
00003130  00 19 AC 00 00 1A 30 00 00 1A A6 00 00 1B 28 00  ..¬...0...¦...(.
00003140  00 1B A8 00 00 1C 1A 00 4A 55 4E 4B 00 00 06 A8  ..Ё.....JUNK...Ё
...
000037F0  00 00 00 00 00 00 00 00 64 61 74 61 00 0E B8 00  ........data..ё.
00003800  28 00 01 00 05 25 FC 01 C0 01 02 03 A0 70 28 E6  (....%ь.А... p(ж
...
00005000  48 49 52 43 00 00 03 70 00 00 00 0D 0B 00 00 00  HIRC...p........
...
00005380  00 00 00 01 00 00 00 01 51 35 D3 8A 08 53 6F 6E  ........Q5УЉ.Son
00005390  67 5F 30 31 32 00 00 00 00 00 00 00 00 00 00 00  g_012...........
...
00005800  52 49 46 58 00 10 5C 00 57 41 56 45 66 6D 74 20  RIFX..\.WAVEfmt 
00005810  00 00 00 40 01 66 00 02 00 00 BB 80 00 00 65 2F  ...@.f....»Ђ..e/
...
00005E20  4A 55 4E 4B 00 00 01 D0 00 00 00 00 00 00 00 00  JUNK...Р........
...
00005FF0  00 00 00 00 00 00 00 00 64 61 74 61 00 5C 08 00  ........data.\..
...
000061E0  7F 00 04 08 10 23 00 7D FC 00 10 20 40 8B FF FF  .....#.}ь.. @‹яя
000061F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  яяяяяяяяяяяяяяяя
...
000067F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  яяяяяяяяяяяяяяяя
00006800  FC 00 01 00 00 7D FC 00 10 20 40 8C 01 F7 F0 00  ь....}ь.. @Њ.чр.
00006810  40 81 02 30 07 DF C0 01 02 04 08 C0 1F 7F 00 04  @Ѓ.0.ЯА....А....
...
000069E0  00 40 81 02 30 07 DF C0 01 02 04 08 BF FF FF FF  .@Ѓ.0.ЯА....їяяя
000069F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  яяяяяяяяяяяяяяяя
...
and so on


Axsis
advanced
Posts: 48
Joined: Fri Oct 21, 2011 12:55 pm
Has thanked: 2 times
Been thanked: 20 times

Re: I need help to extract from new .pck file (AKPK/DIDX/BKH

Post by Axsis » Mon Oct 22, 2012 9:35 pm

try this bms script

Code: Select all

IDString "AKPK"
Get HDRSIZE long
Get DUMMY long # version? (always =1)
Get GROUPS_HEADER_DATA_SIZE long
Get BKHD_HEADER_SIZE long
Get RIFF_HEADER_SIZE long
GoTo GROUPS_HEADER_DATA_SIZE 0 SEEK_CUR
Set EXT string "bnk"
CallFunction ExtractBlock
Set EXT string "wav"
CallFunction ExtractBlock

##########################
StartFunction ExtractBlock
 Get BLOCK_NUM_ENTRIES long
 For I = 0 < BLOCK_NUM_ENTRIES
  Get ENTRY_ID long
  Get ENTRY_BLOCK_SIZE long
  Get ENTRY_SIZE long
  Get DUMMY long
  Get ENTRY_OFFSET long
  Get GROUP_ID long
  String FULLNAME p= "%02X_%08X.%s" GROUP_ID ENTRY_ID EXT
  Math ENTRY_OFFSET *= ENTRY_BLOCK_SIZE
  Log FULLNAME ENTRY_OFFSET ENTRY_SIZE
 Next I
EndFunction
##########################
if it's not working PM me link to file and game name.

gravissimus
ultra-n00b
Posts: 5
Joined: Wed Sep 26, 2012 6:15 am
Has thanked: 2 times

Re: I need help to extract from new .pck file (AKPK/DIDX/BKH

Post by gravissimus » Tue Oct 23, 2012 7:39 am

Axsis wrote:try this bms script

Code: Select all

IDString "AKPK"
Get HDRSIZE long
Get DUMMY long # version? (always =1)
Get GROUPS_HEADER_DATA_SIZE long
Get BKHD_HEADER_SIZE long
Get RIFF_HEADER_SIZE long
GoTo GROUPS_HEADER_DATA_SIZE 0 SEEK_CUR
Set EXT string "bnk"
CallFunction ExtractBlock
Set EXT string "wav"
CallFunction ExtractBlock

##########################
StartFunction ExtractBlock
 Get BLOCK_NUM_ENTRIES long
 For I = 0 < BLOCK_NUM_ENTRIES
  Get ENTRY_ID long
  Get ENTRY_BLOCK_SIZE long
  Get ENTRY_SIZE long
  Get DUMMY long
  Get ENTRY_OFFSET long
  Get GROUP_ID long
  String FULLNAME p= "%02X_%08X.%s" GROUP_ID ENTRY_ID EXT
  Math ENTRY_OFFSET *= ENTRY_BLOCK_SIZE
  Log FULLNAME ENTRY_OFFSET ENTRY_SIZE
 Next I
EndFunction
##########################
if it's not working PM me link to file and game name.
Sorry, it doesn`t work. See PM.

Axsis
advanced
Posts: 48
Joined: Fri Oct 21, 2011 12:55 pm
Has thanked: 2 times
Been thanked: 20 times

Re: I need help to extract from new .pck file (AKPK/DIDX/BKH

Post by Axsis » Wed Oct 24, 2012 12:45 am

modified script - sample files unpacked, but some values in .pck are still unknown, so it may fail to unpack other files. if so - send more examples.

Code: Select all

IDString "KPKA" # reversed string for endianess swap
Get HDRSIZE long
Get DUMMY long # version? (always =1)
Get GROUPS_HEADER_DATA_SIZE long
Get BKHD_HEADER_SIZE long
Get RIFF_HEADER_SIZE long
GoTo GROUPS_HEADER_DATA_SIZE 0 SEEK_CUR
Get GROUP_NAME string
Set EXT string "bnk"
CallFunction ExtractBlock
Set EXT string "xma"
CallFunction ExtractBlock

##########################
StartFunction ExtractBlock
 Get BLOCK_NUM_ENTRIES long
 For I = 0 < BLOCK_NUM_ENTRIES
  Get ENTRY_ID long
  Get ENTRY_BLOCK_SIZE long
  Get ENTRY_SIZE long
  Get ENTRY_OFFSET long
  Get GROUP_ID long
  String FULLNAME p= "%02X_%08X.%s" GROUP_ID ENTRY_ID EXT
  Math ENTRY_OFFSET *= ENTRY_BLOCK_SIZE
  Log FULLNAME ENTRY_OFFSET ENTRY_SIZE
 Next I
EndFunction
##########################

gravissimus
ultra-n00b
Posts: 5
Joined: Wed Sep 26, 2012 6:15 am
Has thanked: 2 times

Re: I need help to extract from new .pck file (AKPK/DIDX/BKH

Post by gravissimus » Wed Oct 24, 2012 3:50 pm

Axsis wrote:modified script - sample files unpacked, but some values in .pck are still unknown, so it may fail to unpack other files. if so - send more examples.

Code: Select all

IDString "KPKA" # reversed string for endianess swap
Get HDRSIZE long
Get DUMMY long # version? (always =1)
Get GROUPS_HEADER_DATA_SIZE long
Get BKHD_HEADER_SIZE long
Get RIFF_HEADER_SIZE long
GoTo GROUPS_HEADER_DATA_SIZE 0 SEEK_CUR
Get GROUP_NAME string
Set EXT string "bnk"
CallFunction ExtractBlock
Set EXT string "xma"
CallFunction ExtractBlock

##########################
StartFunction ExtractBlock
 Get BLOCK_NUM_ENTRIES long
 For I = 0 < BLOCK_NUM_ENTRIES
  Get ENTRY_ID long
  Get ENTRY_BLOCK_SIZE long
  Get ENTRY_SIZE long
  Get ENTRY_OFFSET long
  Get GROUP_ID long
  String FULLNAME p= "%02X_%08X.%s" GROUP_ID ENTRY_ID EXT
  Math ENTRY_OFFSET *= ENTRY_BLOCK_SIZE
  Log FULLNAME ENTRY_OFFSET ENTRY_SIZE
 Next I
EndFunction
##########################
Somehow works but not accurate. Especially song022.pck It has to be “Uno Sabe BienUno Sabe Bien(RUSH Exclusive)” see http://www.zumbafitnessgame.com/zumba_rush_music.php
After extraction and conversion file 3.95 MB lasted only 21 sec.
See PM for details in 30 minutes

Post Reply