Posted March 29, 2023
Unfortunately, GOG support has ignored multiple attempts to fix their installer for King's Quest Mask of Eternity when provided with the exact instructions, so I'll post them here instead. This will correct the game breaking issues with Mask.exe and allow the game to load on systems without CD/DVD drives.
Open Windows Powershell or Terminal (Windows 11), and copy/paste the commands below. This patch is for the copy of Mask.exe with the file modification date April 27, 2014.
$mask = Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\WOW6432Node\GOG.com\Games\1207661053' -Name EXE
Copy-Item -Path $mask -Destination ($mask -replace ".exe",".orig")
$bytes = [System.IO.File]::ReadAllBytes($mask)
$bytes[362640] = 0xEB
$bytes[362641] = 0x25
$bytes[362642] = 0x90
$bytes[362643] = 0x90
$bytes[362644] = 0x90
$bytes[442789] = 0x8B
$bytes[442790] = 0x55
$bytes[442791] = 0x08
$bytes[442792] = 0x8B
$bytes[442793] = 0x42
$bytes[442794] = 0x22
$bytes[442795] = 0x33
$bytes[442796] = 0x42
$bytes[442797] = 0x1C
$bytes[442798] = 0x40
$bytes[442799] = 0xC3
$bytes[443423] = 0x90
$bytes[443424] = 0xE3
$bytes[443425] = 0x09
$bytes[443426] = 0xE8
$bytes[443427] = 0x7E
$bytes[443428] = 0xFD
$bytes[443429] = 0xFF
$bytes[443430] = 0xFF
$bytes[443431] = 0x39
$bytes[443432] = 0xC8
$bytes[444058] = 0x90
$bytes[444059] = 0xE8
$bytes[444060] = 0x05
$bytes[444061] = 0xFB
$bytes[444062] = 0xFF
$bytes[444063] = 0xFF
$bytes[444064] = 0x89
$bytes[444065] = 0x83
$bytes[464759] = 0x00
$bytes[612628] = 0x74
$bytes[612737] = 0x74
$bytes[612787] = 0x74
$bytes[612915] = 0x75
$bytes[612948] = 0x75
$bytes[612985] = 0x74
$bytes[613020] = 0x73
$bytes[890965] = 0x89
$bytes[890966] = 0xF1
$bytes[1600260] = 0x49
$bytes[1600261] = 0x92
$bytes[1600262] = 0x8F
[System.IO.File]::WriteAllBytes($mask, $bytes)
Get-FileHash $mask | Format-List
The resulting hash should be "2F28824D730C7B86D23B6C658AB3FC601670E066BA0F3B36D316EEFC39311F75".
https://kqmoe.nicode.net/ from NicoDE is still the recommended solution, this is only being provided as an easy solution to make it run "well enough".
Open Windows Powershell or Terminal (Windows 11), and copy/paste the commands below. This patch is for the copy of Mask.exe with the file modification date April 27, 2014.
$mask = Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\WOW6432Node\GOG.com\Games\1207661053' -Name EXE
Copy-Item -Path $mask -Destination ($mask -replace ".exe",".orig")
$bytes = [System.IO.File]::ReadAllBytes($mask)
$bytes[362640] = 0xEB
$bytes[362641] = 0x25
$bytes[362642] = 0x90
$bytes[362643] = 0x90
$bytes[362644] = 0x90
$bytes[442789] = 0x8B
$bytes[442790] = 0x55
$bytes[442791] = 0x08
$bytes[442792] = 0x8B
$bytes[442793] = 0x42
$bytes[442794] = 0x22
$bytes[442795] = 0x33
$bytes[442796] = 0x42
$bytes[442797] = 0x1C
$bytes[442798] = 0x40
$bytes[442799] = 0xC3
$bytes[443423] = 0x90
$bytes[443424] = 0xE3
$bytes[443425] = 0x09
$bytes[443426] = 0xE8
$bytes[443427] = 0x7E
$bytes[443428] = 0xFD
$bytes[443429] = 0xFF
$bytes[443430] = 0xFF
$bytes[443431] = 0x39
$bytes[443432] = 0xC8
$bytes[444058] = 0x90
$bytes[444059] = 0xE8
$bytes[444060] = 0x05
$bytes[444061] = 0xFB
$bytes[444062] = 0xFF
$bytes[444063] = 0xFF
$bytes[444064] = 0x89
$bytes[444065] = 0x83
$bytes[464759] = 0x00
$bytes[612628] = 0x74
$bytes[612737] = 0x74
$bytes[612787] = 0x74
$bytes[612915] = 0x75
$bytes[612948] = 0x75
$bytes[612985] = 0x74
$bytes[613020] = 0x73
$bytes[890965] = 0x89
$bytes[890966] = 0xF1
$bytes[1600260] = 0x49
$bytes[1600261] = 0x92
$bytes[1600262] = 0x8F
[System.IO.File]::WriteAllBytes($mask, $bytes)
Get-FileHash $mask | Format-List
https://kqmoe.nicode.net/ from NicoDE is still the recommended solution, this is only being provided as an easy solution to make it run "well enough".