Nibiru GRP: Difference between revisions
Jump to navigation
Jump to search
imported>WATTO No edit summary |
imported>Ikskoks No edit summary |
||
| (12 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{GRAFPageHeader}} | |||
== GRP == | |||
{{GRAFPageMisc}} | |||
=== Format Specifications === | |||
{{GRAFPageFormat|1= | |||
char {16} - ID {{Constant|("AGDS group file" 1a)}} {{InlineComment|(encrypted)}}<br> | |||
uint32 {4} - Header length {{Constant|(44)}}<br> | |||
uint32 {4} - Signature {{Constant|(0x1a03c9e6)}}<br> | |||
uint32 {4} - Version {{Constant|(2)}}<br> | |||
uint32 {4} - Number of used entries<br> | |||
uint32 {4} - Number of entries<br> | |||
uint32 {4} - Archive time 1 {{InlineComment|(time_t, seconds since 1970-01-01 00:00:00.000)}}<br> | |||
uint32 {4} - Archive time 2 {{InlineComment|(time_t, seconds since 1970-01-01 00:00:00.000)}}<br> | |||
{{BlockDescription|// for each used file entry}}<br> | |||
:char {33} - File name {{InlineComment|(zero-terminated, encrypted)}}<br> | |||
:uint32 {4} - Offset<br> | |||
:uint32 {4} - Size<br> | |||
:uint32 {4} - File time {{InlineComment|(time_t, seconds since 1970-01-01 00:00:00.000)}}<br> | |||
:uint32 {4} - {{Unknown}}<br> | |||
byte {x} - Padding until first file offset {{InlineComment|(empty file entries)}}<br> | |||
byte {x} - File data<br> | |||
}} | |||
=== | === Notes and Comments === | ||
The encryption scheme is based on a XOR-system and the 52-character key phrase <tt>"Vyvojovy tym AGDS varuje: Hackerovani skodi obchodu!".</tt> (Probable rough translation: "AGDS development team warns: Hacking does harm to business!".) | |||
: | |||
=== | <tt> | ||
<b>for</b> i := 0 <b>to</b> Length(Buffer) - 1 <b>do</b><br> | |||
: <b>if</b> Encrypted[i] = 0 <b>then</b><br> | |||
:: Break<br> | |||
: <b>else</b><br> | |||
:: Decrypted[i] := Encrypted[i] <b>xor</b> KeyPhrase[i <b>mod</b> 52] <b>xor</b> 0xff;<br> | |||
</tt><br> | |||
=== MultiEx BMS Script === | |||
{{NoBMSScript}} | |||
=== Supported by Programs === | |||
* {{ProgramSupportGameExtracter}} | |||
* [http://oezmen.eu/gameresources/ GRPExt] | |||
* | |||
* | |||
=== | === Links === | ||
None | |||
=== Games === | |||
* [[Nibiru]] [[Black Mirror]] [[GRP|*.grp]] | |||
<br><br> | |||
[[Category:Platform PC|Nibiru GRP]] | |||
[[Category:Complete Almost Done|Nibiru GRP]] | |||
[[Category:CE Encrypted|Nibiru GRP]] | |||
[[Category:XOR encryption]] | |||
[[Category:File Format]] | |||
Latest revision as of 08:54, 23 April 2021
Back to index | Edit this page
GRP
- Format type: Archive
- Endianness: Little-endian
Format Specifications
char {16} - ID ("AGDS group file" 1a) (encrypted)
uint32 {4} - Header length (44)
uint32 {4} - Signature (0x1a03c9e6)
uint32 {4} - Version (2)
uint32 {4} - Number of used entries
uint32 {4} - Number of entries
uint32 {4} - Archive time 1 (time_t, seconds since 1970-01-01 00:00:00.000)
uint32 {4} - Archive time 2 (time_t, seconds since 1970-01-01 00:00:00.000)
// for each used file entry
- char {33} - File name (zero-terminated, encrypted)
- uint32 {4} - Offset
- uint32 {4} - Size
- uint32 {4} - File time (time_t, seconds since 1970-01-01 00:00:00.000)
- uint32 {4} - Unknown
byte {x} - Padding until first file offset (empty file entries)
Notes and Comments
The encryption scheme is based on a XOR-system and the 52-character key phrase "Vyvojovy tym AGDS varuje: Hackerovani skodi obchodu!". (Probable rough translation: "AGDS development team warns: Hacking does harm to business!".)
for i := 0 to Length(Buffer) - 1 do
- if Encrypted[i] = 0 then
- Break
- Break
- else
- Decrypted[i] := Encrypted[i] xor KeyPhrase[i mod 52] xor 0xff;
- Decrypted[i] := Encrypted[i] xor KeyPhrase[i mod 52] xor 0xff;
MultiEx BMS Script
None written yet.
Supported by Programs
Links
None
Games