mirror of
https://github.com/j0urney1/RemoteSamDecrypt
synced 2026-06-21 13:54:05 +00:00
95 lines
2.4 KiB
C
95 lines
2.4 KiB
C
#include <Windows.h>
|
|
typedef struct _OLD_LARGE_INTEGER {
|
|
ULONG LowPart;
|
|
LONG HighPart;
|
|
} OLD_LARGE_INTEGER, *POLD_LARGE_INTEGER;
|
|
typedef enum _DOMAIN_SERVER_ENABLE_STATE
|
|
{
|
|
DomainServerEnabled = 1,
|
|
DomainServerDisabled
|
|
} DOMAIN_SERVER_ENABLE_STATE, *PDOMAIN_SERVER_ENABLE_STATE;
|
|
typedef enum _DOMAIN_SERVER_ROLE
|
|
{
|
|
DomainServerRoleBackup = 2,
|
|
DomainServerRolePrimary = 3
|
|
} DOMAIN_SERVER_ROLE, *PDOMAIN_SERVER_ROLE;
|
|
typedef struct _SAM_KEY_DATA {
|
|
DWORD Revision;
|
|
DWORD Length;
|
|
BYTE Salt[0x10];
|
|
BYTE Key[0x10];
|
|
BYTE CheckSum[0x10];
|
|
DWORD unk0;
|
|
DWORD unk1;
|
|
} SAM_KEY_DATA, *PSAM_KEY_DATA;
|
|
typedef struct _DOMAIN_ACCOUNT_F {
|
|
WORD Revision;
|
|
WORD unk0;
|
|
DWORD unk1;
|
|
OLD_LARGE_INTEGER CreationTime;
|
|
OLD_LARGE_INTEGER DomainModifiedCount;
|
|
OLD_LARGE_INTEGER MaxPasswordAge;
|
|
OLD_LARGE_INTEGER MinPasswordAge;
|
|
OLD_LARGE_INTEGER ForceLogoff;
|
|
OLD_LARGE_INTEGER LockoutDuration;
|
|
OLD_LARGE_INTEGER LockoutObservationWindow;
|
|
OLD_LARGE_INTEGER ModifiedCountAtLastPromotion;
|
|
DWORD NextRid;
|
|
DWORD PasswordProperties;
|
|
WORD MinPasswordLength;
|
|
WORD PasswordHistoryLength;
|
|
WORD LockoutThreshold;
|
|
DOMAIN_SERVER_ENABLE_STATE ServerState;
|
|
DOMAIN_SERVER_ROLE ServerRole;
|
|
BOOL UasCompatibilityRequired;
|
|
DWORD unk2;
|
|
SAM_KEY_DATA keys1;
|
|
SAM_KEY_DATA keys2;
|
|
DWORD unk3;
|
|
DWORD unk4;
|
|
} DOMAIN_ACCOUNT_F, *PDOMAIN_ACCOUNT_F;
|
|
typedef struct _SAM_KEY_DATA_AES {
|
|
DWORD Revision; // 2
|
|
DWORD Length;
|
|
DWORD CheckLen;
|
|
DWORD DataLen;
|
|
BYTE Salt[0x10];
|
|
BYTE data[ANYSIZE_ARRAY]; // Data, then Check
|
|
} SAM_KEY_DATA_AES, *PSAM_KEY_DATA_AES;
|
|
typedef struct _SAM_HASH {
|
|
WORD PEKID;
|
|
WORD Revision;
|
|
BYTE data[ANYSIZE_ARRAY];
|
|
} SAM_HASH, *PSAM_HASH;
|
|
typedef struct _SAM_ENTRY {
|
|
DWORD offset;
|
|
DWORD lenght;
|
|
DWORD unk;
|
|
} SAM_ENTRY, *PSAM_SENTRY;
|
|
typedef struct _USER_ACCOUNT_V {
|
|
SAM_ENTRY unk0_header;
|
|
SAM_ENTRY Username;
|
|
SAM_ENTRY Fullname;
|
|
SAM_ENTRY Comment;
|
|
SAM_ENTRY UserComment;
|
|
SAM_ENTRY unk1;
|
|
SAM_ENTRY Homedir;
|
|
SAM_ENTRY HomedirConnect;
|
|
SAM_ENTRY ScriptPath;
|
|
SAM_ENTRY ProfilePath;
|
|
SAM_ENTRY Workstations;
|
|
SAM_ENTRY HoursAllowed;
|
|
SAM_ENTRY unk2;
|
|
SAM_ENTRY LMHash;
|
|
SAM_ENTRY NTLMHash;
|
|
SAM_ENTRY NTLMHistory;
|
|
SAM_ENTRY LMHistory;
|
|
BYTE datas[ANYSIZE_ARRAY];
|
|
} USER_ACCOUNT_V, *PUSER_ACCOUNT_V;
|
|
typedef struct _SAM_HASH_AES {
|
|
WORD PEKID;
|
|
WORD Revision;
|
|
DWORD dataOffset;
|
|
BYTE Salt[0x10];
|
|
BYTE data[ANYSIZE_ARRAY]; // Data
|
|
} SAM_HASH_AES, *PSAM_HASH_AES; |