Last active
September 21, 2023 20:18
-
-
Save Anaminus/245a7752e49d2fb4baa72301e800dbf9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Structure and purpose based on theory. Nothing yet verified. | |
// keyIndex is an index known internally by Roblox, corresponding to a private | |
// key. An FFlag configures Studio to select a specific index. | |
// | |
// Possible FFlag candidate is "KeyRing". Currently, it has a value of 10, while | |
// DataModelPatch.rbxm contains signatures for indices 9 to 12. | |
struct Signature { | |
u32 version; // Zeroed. Possibly version reserved for format changes. | |
u32 keyIndex; // Possibly index of private key. | |
u32 reserved; // Zeroed. Possibly high bits of keyIndex. | |
u32 length; // Length of signature value. | |
u8 value[length]; // Possibly the signature value itself. | |
}; | |
// Contains signatures of signed data for multiple private keys. | |
struct Signatures { | |
u32 length; | |
Signature signatures[length]; | |
}; | |
// Standard RBXL chunk format. Typically uncompressed. | |
struct ChunkSIGN { | |
char sig[4]; | |
if (sig != "SIGN") { | |
error("entrypoint must start at SIGN chunk signature"); | |
} | |
u32 compressedLength; | |
u64 uncompressedLength; | |
Signatures payload; | |
}; | |
// For DataModelPatch.rbxm of Studio version-2ba85a75f8114838 | |
ChunkSIGN main @ 0x0058C81D; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment