(The For Honor) AKPK .pck

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

(The For Honor) AKPK .pck

Post by GHOST DEAD »

hello alugi...

i got another .pck file, but header is different then other AKPK files

can you help me to extract for get audio and reimport?
thank you for all

Note: this is not a complete file, i cut the file for get smaller and faster for download
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (The For Honor) AKPK .pck

Post by aluigi »

Script updated:
http://aluigi.org/bms/akpk_avengers.bms

Probably in future I have to update the other akpk scripts because there are 2 important fields not covered yet (they are covered in this script)
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

GHOST DEAD wrote:
aluigi wrote:Script updated:
http://aluigi.org/bms/akpk_avengers.bms

Probably in future I have to update the other akpk scripts because there are 2 important fields not covered yet (they are covered in this script)


you should Update Paladins_akpk.bms... and UFC_2010

just this two scripts can help in unpack and repack as well :)
Thank You, You great!

and another thing, most of files has Hash_code (If package does't have name for files)
and i wonder why this script export those file as count_numbers? i think this is a problem from the Scripts or not...

need update to get hash_Code as name, too...

again, thanks
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (The For Honor) AKPK .pck

Post by aluigi »

Both paladins and ufc are super extremely simple scripts. They can't be update.
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

aluigi wrote:Both paladins and ufc are super extremely simple scripts. They can't be update.

right :)

but i say, script will extrct file without name
pck file's does'nt have any name, but they have hash Codes
can you fix this script to set file name's as hash codes? (you can find it, in header)
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (The For Honor) AKPK .pck

Post by aluigi »

I don't remember to have seen any filename or hash, the format doesn't use them.
If there are only hash/crc you cannot guess the original filename.
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

aluigi wrote:I don't remember to have seen any filename or hash, the format doesn't use them.
If there are only hash/crc you cannot guess the original filename.


yeah... i can find dictionary For name file's in bank files... so, this is not a problem...
can you just check those header?

i'm sure, Like i said, pck file's doesn't have any name, but they have hash code...
and i want to replace Music Files, and i really don't know what i'm doing or which file i have to replace to change music for main Menu

Every Pck Files Has a hash (not CRC)
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

I Found it...
now look at this,
Image
For paladins_akpk.bms
it's a small File

Real Hash Code's that i get in game Code's

Code: Select all

1d3c4ca2
2ae82475
652fd529
385acc03
0fff7f30
0fcab994
67355bf7
757be63b
099225c4
260ccbe2
2a463bc7
3a5491db
4b542da0


And its a Big Endian, i think so... :D
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (The For Honor) AKPK .pck

Post by aluigi »

Ah right I was thinking to another format... even in my scripts it's written "name hash" :)

Anyway who cares, as I already said you can't get the original name from the hash.
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

aluigi wrote:Ah right I was thinking to another format... even in my scripts it's written "name hash" :)

Anyway who cares, as I already said you can't get the original name from the hash.


any game has a Dictionary to get file's... can you fix that? Please... i need it to konw

i can find those names...
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

and i already have those name's :D
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (The For Honor) AKPK .pck

Post by aluigi »

If you have the exact names as expected by the hashing function, and you have the exact hashing function then you may able to use the Namecrc instruction of quickbms.
It's not complex but it's necessary to have all the exact information and finding the corresponding crc settings in quickbms, if available (usually yes)
So the question is: do you have one exact hash and the exact corresponding name?

P.S.: with exact I mean even the case like all capital or all lower, just same byte per byte
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

aluigi wrote:If you have the exact names as expected by the hashing function, and you have the exact hashing function then you may able to use the Namecrc instruction of quickbms.
It's not complex but it's necessary to have all the exact information and finding the corresponding crc settings in quickbms, if available (usually yes)
So the question is: do you have one exact hash and the exact corresponding name?

P.S.: with exact I mean even the case like all capital or all lower, just same byte per byte


So the question is: do you have one exact hash and the exact corresponding name?

Yes

Code: Select all

1d3c4ca2=Act_E1_1A_CliffFuture_VoiceOver_Max_010
2ae82475=Act_E1_1A_CliffFuture_VoiceOver_Max_020
652fd529=Act_E1_1A_CliffFuture_VoiceOver_Max_030
385acc03=Act_E1_1A_CliffFuture_VoiceOver_Max_040
0fff7f30=Act_E1_1A_CliffFuture_VoiceOver_Max_050
0fcab994=Cue_E1_1A_CliffFuture_IntroStorm_Max_010
67355bf7=Cue_E1_1A_CliffFuture_IntroStorm_Max_020
757be63b=Cue_E1_1A_CliffFuture_IntroStorm_Max_030
099225c4=Cue_E1_1A_CliffFuture_LighthouseBreak_Max_010
260ccbe2=Cue_E1_1A_CliffFuture_LighthouseBreak_Max_030
2a463bc7=Cue_E1_1A_CliffFuture_LighthouseBreak_Max_040
3a5491db=Cue_E1_1A_CliffFuture_MaxFall_Max_010
4b542da0=Cue_E1_1A_CliffFuture_MaxFall_Max_020

note: not match, but i tested in game and works,

can You updata script? ( paladins_akpk.bms and ufc2010) and alsoakpk_avengers.bms

First of first paladins_akpk.bms

please ;) i know... like is said, i have those name
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (The For Honor) AKPK .pck

Post by aluigi »

Tried crc_scan.bms on the first name "as-is", lower case and upper case and none of the results gave 1d3c4ca2.

I told you, everything must be exact and the algorithm must be known and available in quickbms otherwise you can do nothing.
Hope you understand if I don't waste other time on this topic :)
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

aluigi wrote:Tried crc_scan.bms on the first name "as-is", lower case and upper case and none of the results gave 1d3c4ca2.

I told you, everything must be exact and the algorithm must be known and available in quickbms otherwise you can do nothing.
Hope you understand if I don't waste other time on this topic :)


I told you... this is not a match name

i take this name's from game code's and it's not a real hash... it's just a dictionary in every pck file

Game Developers did it for security to game editors will not understand what they did...
not as a hash or CRC in ClipBoard... just a protocol for keep name's safe and better (Just about security)

like I said, any game has a dictionary... and this is not a real hash, it's just an dictionary to just know which file you already working on it... just that... nothing less or more

now... can you just update script to get those Hash as an name? please :roll:
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (The For Honor) AKPK .pck

Post by aluigi »

Do you mean that all you need is having the extracted file called "1d3c4ca2"?

If that's all, you can edit ufc2010_soundpck.bms and before the "log" operation using:
string NAME p "%08x" CRC
then replace the "" in log with NAME:
log NAME OFFSET SIZE

paladins_akpk.bms is not compatible, it uses a completely different way to find the entries of each file.

In akpk_avengers.bms you can do the same as ufc2010 but first you have to replace the DUMMY at line 60 with CRC.
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

aluigi wrote:Do you mean that all you need is having the extracted file called "1d3c4ca2"?

If that's all, you can edit ufc2010_soundpck.bms and before the "log" operation using:
string NAME p "%08x" CRC
then replace the "" in log with NAME:
log NAME OFFSET SIZE

paladins_akpk.bms is not compatible, it uses a completely different way to find the entries of each file.

In akpk_avengers.bms you can do the same as ufc2010 but first you have to replace the DUMMY at line 60 with CRC.


Yeah........ Solved!
one more time! thank's! :D
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

GHOST DEAD wrote:
aluigi wrote:Do you mean that all you need is having the extracted file called "1d3c4ca2"?

If that's all, you can edit ufc2010_soundpck.bms and before the "log" operation using:
string NAME p "%08x" CRC
then replace the "" in log with NAME:
log NAME OFFSET SIZE

paladins_akpk.bms is not compatible, it uses a completely different way to find the entries of each file.

In akpk_avengers.bms you can do the same as ufc2010 but first you have to replace the DUMMY at line 60 with CRC.


Yeah........ Solved!
one more time! thank's! :D


and how can i do this on armyoftwo.bms ? for both .bnk file and .pck file? and it's Finally will be over
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (The For Honor) AKPK .pck

Post by aluigi »

armyoftwo is a different things because there are 4 different Log operations, 2 have a CRC field, one has two DUMMY fields (don't know what's the one with filename hash) and one has a NAME_CRC.

Probably you can use something like the following before each Log instruction plus the usual "" -> NAME replacement:
string NAME p "%08x_1" CRC
string NAME p "%08x_2" CRC
string NAME p "%08x" DUMMY (it's up to you to choose if the first or second DUMMY)
string NAME p "%08x" NAME_CRC
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

Re: (The For Honor) AKPK .pck

Post by GHOST DEAD »

aluigi wrote:armyoftwo is a different things because there are 4 different Log operations, 2 have a CRC field, one has two DUMMY fields (don't know what's the one with filename hash) and one has a NAME_CRC.

Probably you can use something like the following before each Log instruction plus the usual "" -> NAME replacement:
string NAME p "%08x_1" CRC
string NAME p "%08x_2" CRC
string NAME p "%08x" DUMMY (it's up to you to choose if the first or second DUMMY)
string NAME p "%08x" NAME_CRC


i get CRC name's!
That what i talked about, thanks... and game works with those name's, but they wasn't :| but game will work!

Finaly Solved!

Thank You Aluigi! :)