From 683101ae1acd8948ecd9fa0d45e649cfb3f7641a Mon Sep 17 00:00:00 2001 From: longpanda Date: Sat, 31 Dec 2022 19:40:55 +0800 Subject: [PATCH] vtoyjump optimization. Signed-off-by: longpanda --- INSTALL/ventoy/vtoyjump32.exe | Bin 142848 -> 143360 bytes INSTALL/ventoy/vtoyjump64.exe | Bin 163840 -> 164864 bytes vtoyjump/vtoyjump/vtoyjump.c | 139 ++++++++++++++++++++++++++-------- 3 files changed, 109 insertions(+), 30 deletions(-) diff --git a/INSTALL/ventoy/vtoyjump32.exe b/INSTALL/ventoy/vtoyjump32.exe index d16a906d44d95838687bed0edc145224305574ef..9a1feef3e60997de1c1111707dff79dc78bd9eaf 100644 GIT binary patch delta 12110 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 CHRH7a delta 11740 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 F{{`}dmaqT- diff --git a/INSTALL/ventoy/vtoyjump64.exe b/INSTALL/ventoy/vtoyjump64.exe index de3ca89e7eefc8bc6399fc51cf6499b29f9ba8bd..3772ef36ec501c65bc7d691a730c1a702da01876 100644 GIT binary patch delta 33684 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 KFkr3krt=@#Ri{b- delta 33030 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 XRs{Cg!Hl-R+`K^dz+lGqz$N=XS(d+} diff --git a/vtoyjump/vtoyjump/vtoyjump.c b/vtoyjump/vtoyjump/vtoyjump.c index f6a2edbf..ad7c3093 100644 --- a/vtoyjump/vtoyjump/vtoyjump.c +++ b/vtoyjump/vtoyjump/vtoyjump.c @@ -2022,36 +2022,19 @@ static int ProcessUnattendedInstallation(const char *script, DWORD PhyDrive) return 0; } -static int Windows11Bypass(const char *isofile, const char MntLetter, UINT8 Check, UINT8 NRO) +static int VentoyGetFileVersion(const CHAR *FilePath, UINT16 *pMajor, UINT16 *pMinor, UINT16 *pBuild, UINT16 *pRevision) { - int Ret = 1; + int ret = 1; DWORD dwHandle; DWORD dwSize; - DWORD dwValue = 1; UINT VerLen = 0; CHAR *Buffer = NULL; VS_FIXEDFILEINFO* VerInfo = NULL; - CHAR CheckFile[MAX_PATH]; UINT16 Major, Minor, Build, Revision; - Log("Windows11Bypass for <%s> %C: Check:%u NRO:%u", isofile, MntLetter, Check, NRO); - - if (FALSE == IsFileExist("%C:\\sources\\boot.wim", MntLetter) || - FALSE == IsFileExist("%C:\\sources\\compatresources.dll", MntLetter)) - { - Log("boot.wim/compatresources.dll not exist, this is not a windows install media."); - goto End; - } + Log("Get file version for <%s>", FilePath); - if (FALSE == IsFileExist("%C:\\sources\\install.wim", MntLetter) && - FALSE == IsFileExist("%C:\\sources\\install.esd", MntLetter)) - { - Log("install.wim/install.esd not exist, this is not a windows install media."); - goto End; - } - - sprintf_s(CheckFile, sizeof(CheckFile), "%C:\\sources\\compatresources.dll", MntLetter); - dwSize = GetFileVersionInfoSizeA(CheckFile, &dwHandle); + dwSize = GetFileVersionInfoSizeA(FilePath, &dwHandle); if (0 == dwSize) { Log("Failed to get file version info size: %u", LASTERR); @@ -2061,10 +2044,11 @@ static int Windows11Bypass(const char *isofile, const char MntLetter, UINT8 Chec Buffer = malloc(dwSize); if (!Buffer) { + Log("malloc failed %u", dwSize); goto End; } - if (FALSE == GetFileVersionInfoA(CheckFile, dwHandle, dwSize, Buffer)) + if (FALSE == GetFileVersionInfoA(FilePath, dwHandle, dwSize, Buffer)) { Log("Failed to get file version info : %u", LASTERR); goto End; @@ -2086,18 +2070,117 @@ static int Windows11Bypass(const char *isofile, const char MntLetter, UINT8 Chec Major = 11; } - if (Major != 11) + if (pMajor) { - Log("This is not Windows 11, not need to bypass.", Major); - goto End; + *pMajor = Major; + } + if (pMinor) + { + *pMinor = Minor; + } + if (pBuild) + { + *pBuild = Build; } + if (pRevision) + { + *pRevision = Revision; + } + + ret = 0; } + else + { + Log("Invalid verinfo signature 0x%x", VerInfo->dwSignature); + } + } + else + { + Log("VerQueryValueA failed %u", LASTERR); } - //Now we really need to bypass windows 11 check. create registry +End: + if (Buffer) + { + free(Buffer); + } + + return ret; +} + +static BOOL VentoyIsNeedBypass(const char *isofile, const char MntLetter) +{ + UINT16 Major; + BOOL bRet = FALSE; + CHAR CheckFile[MAX_PATH]; + + if (FALSE == IsFileExist("%C:\\sources\\install.wim", MntLetter) && + FALSE == IsFileExist("%C:\\sources\\install.esd", MntLetter)) + { + Log("install.wim/install.esd not exist, this is not a windows install media."); + goto End; + } + + if (FALSE == IsFileExist("%C:\\sources\\boot.wim", MntLetter)) + { + Log("boot.wim not exist, this is not a windows install media."); + goto End; + } + + if (IsFileExist("%C:\\sources\\compatresources.dll", MntLetter)) + { + sprintf_s(CheckFile, sizeof(CheckFile), "%C:\\sources\\compatresources.dll", MntLetter); + } + else if (IsFileExist("%C:\\setup.exe", MntLetter)) + { + sprintf_s(CheckFile, sizeof(CheckFile), "%C:\\setup.exe", MntLetter); + } + else if (IsFileExist("X:\\setup.exe")) + { + sprintf_s(CheckFile, sizeof(CheckFile), "X:\\setup.exe"); + } + else + { + Log("No Check file found"); + goto End; + } + + if (VentoyGetFileVersion(CheckFile, &Major, NULL, NULL, NULL)) + { + goto End; + } + + if (Major >= 11) + { + Log("Enable for Windows 11 %u", Major); + bRet = TRUE; + } + else + { + Log("This is not Windows 11, not need to bypass.", Major); + } + +End: + return bRet; +} + +static int Windows11Bypass(const char *isofile, const char MntLetter, UINT8 Check, UINT8 NRO) +{ + int Ret = 1; HKEY hKey = NULL; HKEY hSubKey = NULL; LSTATUS Status; + DWORD dwValue; + DWORD dwSize; + + Log("Windows11Bypass for <%s> %C: Check:%u NRO:%u", isofile, MntLetter, Check, NRO); + + if (!VentoyIsNeedBypass(isofile, MntLetter)) + { + goto End; + } + + //Now we really need to bypass windows 11 check. create registry if (Check) { @@ -2149,10 +2232,6 @@ static int Windows11Bypass(const char *isofile, const char MntLetter, UINT8 Chec Ret = 0; End: - if (Buffer) - { - free(Buffer); - } return Ret; }