/// <summary> /// Detour for Module32Next /// </summary> internal static bool Module32NextDetour(IntPtr snapshot, ref WinImports.MODULEENTRY32 module) { _module32NextHook.Remove(); var ret = WinImports.Module32Next(snapshot, ref module); _module32NextHook.Apply(); while (!modules.Contains(module.szModule.ToLower()) && ret) { _module32NextHook.Remove(); ret = WinImports.Module32Next(snapshot, ref module); _module32NextHook.Apply(); } if (!ret) { if (!modules.Contains(module.szModule.ToLower())) { module = new WinImports.MODULEENTRY32 { dwSize = 548 }; } WinImports.SetLastError(18); } return(ret); }
/// <summary> /// Detour for Module32Next /// </summary> internal bool Module32NextDetour(IntPtr snapshot, ref WinImports.MODULEENTRY32 module) { _module32NextHook.Remove(); var ret = WinImports.Module32Next(snapshot, ref module); _module32NextHook.Apply(); while (!modules.Contains(module.szModule.ToLower()) && ret) { if (!_protectedItems.Contains(module.szModule.ToLower())) { _protectedItems.Add(module.szModule.ToLower()); File.WriteAllText("C:\\Logs\\myDll.txt", _protectedItems.Aggregate("", (s, s1) => s + "\r\n" + s1)); } _module32NextHook.Remove(); ret = WinImports.Module32Next(snapshot, ref module); _module32NextHook.Apply(); } if (!ret) { if (!modules.Contains(module.szModule.ToLower())) { module = new WinImports.MODULEENTRY32 { dwSize = 548 } } ; WinImports.SetLastError(18); } return(ret); }
/// <summary> /// Detour for Module32First /// </summary> internal static bool Module32FirstDetour(IntPtr snapshot, ref WinImports.MODULEENTRY32 module) { _module32FirstHook.Remove(); var ret = WinImports.Module32First(snapshot, ref module); _module32FirstHook.Apply(); return(ret); }