Painkiller PAK: Difference between revisions
Jump to navigation
Jump to search
imported>Mr.Mouse mNo edit summary |
imported>Mr.Mouse m (→Encryption) |
||
| Line 19: | Line 19: | ||
Filenames are encrypted | Filenames are encrypted | ||
<pre>EncryptedStringCharacter (n) = OriginalStringCharacter(n) XOR (shift left (string size) + 1 + FileNumber + Code(string size) + n*2) (Where n starts at character position 0)</pre> | <pre>EncryptedStringCharacter (n) = OriginalStringCharacter(n) XOR (shift left (string size) + | ||
1 + FileNumber + Code(string size) + n*2) | |||
(Where n starts at character position 0)</pre> | |||
The Code(string size) you can get from the following algorithm: | |||
<pre> | |||
String Size 0 -> Code = -2 | |||
String Size 1 -> Code = -1 | |||
String Size 2 -> Code = 0 | |||
String Size 3 -> Code = 1 | |||
String Size 4 -> Code = 2 | |||
String Size 5 -> Code = -2 | |||
String Size 6 -> Code = -1 | |||
String Size 8 -> Code = 0 | |||
. | |||
. | |||
. | |||
And so forth | |||
</pre> | |||
=== MultiEx BMS === | === MultiEx BMS === | ||
Revision as of 18:22, 24 May 2005
Choose archive extension:
PAK
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
Not written yet
Encryption
Filenames are encrypted
EncryptedStringCharacter (n) = OriginalStringCharacter(n) XOR (shift left (string size) + 1 + FileNumber + Code(string size) + n*2) (Where n starts at character position 0)
The Code(string size) you can get from the following algorithm:
String Size 0 -> Code = -2 String Size 1 -> Code = -1 String Size 2 -> Code = 0 String Size 3 -> Code = 1 String Size 4 -> Code = 2 String Size 5 -> Code = -2 String Size 6 -> Code = -1 String Size 8 -> Code = 0 . . . And so forth
MultiEx BMS
- A plugin processes these archives
Notes and Comments
None