From 02b16843e5b9df1fd399423ddd69b2c02a4e5056 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 8 Dec 2022 15:46:01 -0800 Subject: [PATCH] Add note to LaserLok --- BurnOutSharp/ProtectionType/LaserLok.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/BurnOutSharp/ProtectionType/LaserLok.cs b/BurnOutSharp/ProtectionType/LaserLok.cs index ddffc049..bd26a111 100644 --- a/BurnOutSharp/ProtectionType/LaserLok.cs +++ b/BurnOutSharp/ProtectionType/LaserLok.cs @@ -67,7 +67,13 @@ namespace BurnOutSharp.ProtectionType int endDosStub = (int)pex.Stub_NewExeHeaderAddr; bool containsCheck = pex.StubExecutableData.FirstPosition(check, out int position); - // If the .text section doesn't exist, then the second check can't be found + // TODO: Can't use this because of the "SNIF/MPVI" check at the end + //// Check the executable tables + //bool containsCheck2 = (pex.ImportTable?.HintNameTable.Any(hnte => hnte.Name == "GetModuleHandleA") ?? false) + // && (pex.ImportTable?.HintNameTable.Any(hnte => hnte.Name == "GetProcAddress") ?? false) + // && (pex.ImportTable?.HintNameTable.Any(hnte => hnte.Name == "LoadLibraryA") ?? false) + // && (pex.ImportTable?.ImportDirectoryTable.Any(idte => idte.Name == "KERNEL32.dll") ?? false); + bool containsCheck2 = false; int position2 = -1;