Skip to content

Instantly share code, notes, and snippets.

@InvoxiPlayGames
Created February 19, 2025 04:23
Show Gist options
  • Save InvoxiPlayGames/aea89110f23b9a3aa740f4a52ac21a50 to your computer and use it in GitHub Desktop.
Save InvoxiPlayGames/aea89110f23b9a3aa740f4a52ac21a50 to your computer and use it in GitHub Desktop.
ImHex pattern for the SLSVC "Physical Store" files used in Windows Vista
#include <std/mem.pat>
u8 sha1_salt[0x10] @ 0x0;
// sha1_hash = SHA1(sha1_salt .. 0x28 to EOF)
u8 sha1_hash[0x14] @ 0x10;
struct ps_vista_block {
u32 type;
u32 unk_flags;
u32 id_len;
u32 data_len;
char16 id[id_len / 2];
u8 data[data_len];
u8 pad[while($ % 4 > 0)];
};
struct physical_store_vista {
u8 pre_header_bytes[0x8];
ps_vista_block blocks[10];
};
physical_store_vista store @ 0x28;
// vista variable bag format
struct ps_variable_bag_vista {
u32 type;
u32 unk;
u32 key_len;
u32 value_len;
u32 crc;
char16 key[key_len / 2];
char16 value[value_len / 2];
};
// set to the offset of the first block, the one with "PKeyBasicInfo" in it
//ps_variable_bag_vista vbag[5] @ 0x8a;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment