VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/Library/PasswordLib/PlatformID.c
diff options
context:
space:
mode:
Diffstat (limited to 'Library/PasswordLib/PlatformID.c')
-rw-r--r--Library/PasswordLib/PlatformID.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/Library/PasswordLib/PlatformID.c b/Library/PasswordLib/PlatformID.c
index 63b2e7d..100b0c0 100644
--- a/Library/PasswordLib/PlatformID.c
+++ b/Library/PasswordLib/PlatformID.c
@@ -24,9 +24,19 @@ SMBIOS_TABLE_ENTRY_POINT* gSmbTable = NULL;
EFI_GUID* gSmbSystemUUID = NULL; // Universal unique ID
CHAR8* gSmbSystemSerial = NULL; // System serial
CHAR8* gSmbSystemSKU = NULL; // SKU number
+CHAR8* gSmbSystemManufacture = NULL; // computer manufacture
+CHAR8* gSmbSystemModel = NULL; // computer model
+CHAR8* gSmbSystemVersion = NULL; // computer version
+
CHAR8* gSmbBaseBoardSerial = NULL; // Base board serial
UINT64* gSmbProcessorID = NULL; // Processor ID
+CHAR8* gSmbBiosVendor = NULL; // BIOS vendor
+CHAR8* gSmbBiosVersion = NULL; // BIOS version
+CHAR8* gSmbBiosDate = NULL; // BIOS date
+
+
+
UINTN gBioIndexAuth = 0;
typedef struct _DCS_AUTH_DATA_MARK {
UINT32 HeaderCrc;
@@ -81,9 +91,18 @@ SMBIOSGetSerials()
endOfTable = pSMBIOS.Raw + gSmbTable->TableLength;
do {
SMBIOS_STRUCTURE* smbtbl = (SMBIOS_STRUCTURE*)pos;
+ // BIOS information
+ if (smbtbl->Type == 0) {
+ gSmbBiosVendor = SMBIOSGetString(1, smbtbl, endOfTable);
+ gSmbBiosVersion = SMBIOSGetString(2, smbtbl, endOfTable);
+ gSmbBiosDate = SMBIOSGetString(3, smbtbl, endOfTable);
+ }
// System info
if (smbtbl->Type == 1) {
gSmbSystemUUID = (EFI_GUID*)&pos[8];
+ gSmbSystemManufacture = SMBIOSGetString(1, smbtbl, endOfTable);
+ gSmbSystemModel = SMBIOSGetString(2, smbtbl, endOfTable);
+ gSmbSystemVersion = SMBIOSGetString(3, smbtbl, endOfTable);
gSmbSystemSerial = SMBIOSGetString(4, smbtbl, endOfTable);
gSmbSystemSKU = SMBIOSGetString(5, smbtbl, endOfTable);
}