Changes

Jump to navigation Jump to search
75 bytes added ,  14:54, 6 April 2024
no edit summary
Line 1: Line 1:  
{{DISPLAYTITLE:packlist.dat}}
 
{{DISPLAYTITLE:packlist.dat}}
'''{{c|packlist.dat}}''' is a file in the "Packs" folder in the TrackMania installation directory. It contains the encryption keys for the [[PAK|.pak files]] there.
+
'''{{c|packlist.dat}}''' is a file in the "Packs" folder in the TrackMania installation directory. It contains the encryption keys for the [[PAK|.pak files]].
    
There is no equivalent file for ManiaPlanet.
 
There is no equivalent file for ManiaPlanet.
Line 20: Line 20:  
The name and the key of each entry are decrypted as follows.
 
The name and the key of each entry are decrypted as follows.
    +
// md5() is a function that returns the MD5 hash of the input string
 
  nameKey = md5("6611992868945B0B59536FC3226F3FD0" + sprintf("%u", salt));
 
  nameKey = md5("6611992868945B0B59536FC3226F3FD0" + sprintf("%u", salt));
 
  for (int i = 0; i < nameLength; i++)
 
  for (int i = 0; i < nameLength; i++)
Line 30: Line 31:  
  key = md5(keyString + "NadeoPak")
 
  key = md5(keyString + "NadeoPak")
   −
{{c|name}} corresponds to the name of a .pak file, minus the extension. {{c|key}} is the 16-byte key used during Blowfish decryption of the .pak file.
+
{{c|name}} corresponds to the name of a .pak file, without the extension. {{c|key}} is the 16-byte key used during Blowfish decryption of the .pak file.
    
== Signature verification ==
 
== Signature verification ==
   −
{{c|packlist.dat}} has a 16-byte signature at the end for integrity checking. It is verified as follows:
+
{{c|packlist.dat}} has a 16-byte signature/checksum at the end for integrity checking. It is verified as follows:
    
  md5In = md5("E3554B5828AF14F11AA42A5EAF0AEFC8" + sprintf("%u", salt));
 
  md5In = md5("E3554B5828AF14F11AA42A5EAF0AEFC8" + sprintf("%u", salt));
5

edits

Navigation menu