diff --git a/Source/Hamakaze/KDU.vcxproj.user b/Source/Hamakaze/KDU.vcxproj.user index 160374b..c40e44a 100644 --- a/Source/Hamakaze/KDU.vcxproj.user +++ b/Source/Hamakaze/KDU.vcxproj.user @@ -1,13 +1,13 @@  - -test + -prv 22 -map c:\install\dummy.sys WindowsLocalDebugger - -list|-listcsv c:\test\out.csv|-listcsv|-listcsv C:\test\out.csv|-test| + -listcsv c:\test\out.csv|-listcsv|-listcsv C:\test\out.csv|-test|-prv 22 -map c:\install\dummy.sys| - -prv 64 -map c:\install\dummy.sys + -list WindowsLocalDebugger - -prv 27 -map c:\install\dummy.sys|-prv 26 -map c:\install\dummy.sys|-prv 62 -map c:\install\dummy.sys|-prv 63 -map c:\install\dummy.sys|-prv 64 -map c:\install\dummy.sys| + -prv 54 -map c:\install\dummy.sys|-prv 20 -map c:\install\dummy.sys|-prv 16 -map c:\install\dummy.sys|-prv 1 -map c:\install\dummy.sys|-list| \ No newline at end of file diff --git a/Source/Hamakaze/compress.cpp b/Source/Hamakaze/compress.cpp index bd80795..833dbf3 100644 --- a/Source/Hamakaze/compress.cpp +++ b/Source/Hamakaze/compress.cpp @@ -1,12 +1,12 @@ /******************************************************************************* * -* (C) COPYRIGHT AUTHORS, 2015 - 2023 +* (C) COPYRIGHT AUTHORS, 2015 - 2026 * * TITLE: COMPRESS.CPP * -* VERSION: 1.31 +* VERSION: 1.49 * -* DATE: 08 Apr 2023 +* DATE: 10 Jun 2026 * * Compression support routines. * @@ -22,6 +22,61 @@ #pragma comment(lib, "msdelta.lib") +/* +* KDULookupResourceFromDatabase +* +* Purpose: +* +* Query KDU db entry by id. +* +*/ +PVOID KDULookupResourceFromDatabase( + _In_ PVOID Database, + _In_ DWORD ResourceId, + _In_ DWORD* Size +) +{ + RESOURCE_DB_HEADER* Header; + RESOURCE_DB_ENTRY* Entries; + + LONG Left; + LONG Right; + + Header = (RESOURCE_DB_HEADER*)Database; + + if (Header->Signature != RESOURCE_DB_SIGNATURE) { + return NULL; + } + + Entries = (RESOURCE_DB_ENTRY*)(Header + 1); + + Left = 0; + Right = (LONG)Header->EntryCount - 1; + + while (Left <= Right) { + + LONG Mid; + Mid = (Left + Right) / 2; + if (Entries[Mid].Id == ResourceId) { + if (Size) + *Size = Entries[Mid].Size; + return ((PBYTE)Database) + Entries[Mid].Offset; + } + + if (Entries[Mid].Id < + ResourceId) + { + Left = Mid + 1; + } + else + { + Right = Mid - 1; + } + } + + return NULL; +} + /* * EncodeBuffer * @@ -65,26 +120,35 @@ VOID EncodeBuffer( * */ PVOID KDULoadResource( - _In_ ULONG_PTR ResourceId, + _In_ ULONG ResourceId, _In_ PVOID DllHandle, _In_ PULONG DataSize, _In_ ULONG DecryptKey, _In_ BOOLEAN VerifyChecksum ) { + BOOL bSelf; PBYTE dataPtr; ULONG dataSize = 0; SIZE_T decompressedSize = 0; + ULONG resKey; if (DataSize) *DataSize = 0; - dataPtr = supQueryResourceData(ResourceId, + bSelf = DllHandle == NtCurrentPeb()->ImageBaseAddress; + resKey = (bSelf) ? ResourceId : IDR_KDUDB; + + dataPtr = supQueryResourceData(resKey, DllHandle, &dataSize); if (dataPtr && dataSize) { + if (!bSelf) { + dataPtr = (PBYTE)KDULookupResourceFromDatabase(dataPtr, ResourceId, &dataSize); + } + dataPtr = (PBYTE)KDUDecompressResource(dataPtr, dataSize, &decompressedSize, @@ -95,7 +159,6 @@ PVOID KDULoadResource( *DataSize = (ULONG)decompressedSize; return dataPtr; - } return NULL; @@ -125,6 +188,8 @@ PVOID KDUDecompressResource( PVOID resultPtr = NULL, dataBlob; *DecompressedSize = 0; + if (ResourcePtr == NULL) + return NULL; RtlSecureZeroMemory(&diSource, sizeof(DELTA_INPUT)); RtlSecureZeroMemory(&diDelta, sizeof(DELTA_INPUT)); diff --git a/Source/Hamakaze/compress.h b/Source/Hamakaze/compress.h index 6f79bcb..59b4c3b 100644 --- a/Source/Hamakaze/compress.h +++ b/Source/Hamakaze/compress.h @@ -1,12 +1,12 @@ /******************************************************************************* * -* (C) COPYRIGHT AUTHORS, 2015 - 2021 +* (C) COPYRIGHT AUTHORS, 2015 - 2026 * * TITLE: COMPRESS.H * -* VERSION: 1.11 +* VERSION: 1.49 * -* DATE: 18 Apr 2021 +* DATE: 11 Jun 2026 * * Compression support routines. * @@ -25,7 +25,7 @@ VOID EncodeBuffer( _In_ ULONG Key); PVOID KDULoadResource( - _In_ ULONG_PTR ResourceId, + _In_ ULONG ResourceId, _In_ PVOID DllHandle, _In_ PULONG DataSize, _In_ ULONG DecryptKey, diff --git a/Source/Hamakaze/provlist.cpp b/Source/Hamakaze/provlist.cpp index 450347a..cd6680b 100644 --- a/Source/Hamakaze/provlist.cpp +++ b/Source/Hamakaze/provlist.cpp @@ -437,9 +437,6 @@ VOID KDUProvList() for (ULONG i = 0; i < provTable->NumberOfEntries; i++) { - if (i == 60) - Beep(0, 0); - ULONG resourceSize; PBYTE drvBuffer; KDU_IMAGE_HASH_INFO hashInfo; diff --git a/Source/Hamakaze/res/SB_SMBUS_SDK.bin b/Source/Hamakaze/res/SB_SMBUS_SDK.bin index 2e9e44e..818b009 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 865890c..55e436c 100644 Binary files a/Source/Hamakaze/res/Taigei32.bin and b/Source/Hamakaze/res/Taigei32.bin differ diff --git a/Source/Hamakaze/resource.h b/Source/Hamakaze/resource.h index 1f79919..ee455e8 100644 --- a/Source/Hamakaze/resource.h +++ b/Source/Hamakaze/resource.h @@ -2,9 +2,9 @@ // Microsoft Visual C++ generated include file. // Used by resource.rc // -#define IDI_ICON1 1001 -#define IDR_TAIGEI32 2000 -#define IDR_TAIGEI64 2001 +#define IDI_ICON1 10001 +#define IDR_TAIGEI32 20000 +#define IDR_TAIGEI64 20001 // Next default values for new objects // diff --git a/Source/Shared/consts.h b/Source/Shared/consts.h index 0f4cbc0..a9010dd 100644 --- a/Source/Shared/consts.h +++ b/Source/Shared/consts.h @@ -6,7 +6,7 @@ * * VERSION: 1.49 * -* DATE: 08 Jun 2026 +* DATE: 11 Jun 2026 * * Global consts. * @@ -99,6 +99,11 @@ #define IDR_DATA_ASUSCERTSERVICE 1004 #define IDR_DATA_NEACSAFEINF 1005 +// +// Database id +// +#define IDR_KDUDB 7000 + // // Driver id table // diff --git a/Source/Shared/kdubase.h b/Source/Shared/kdubase.h index 923d96b..b0b0bea 100644 --- a/Source/Shared/kdubase.h +++ b/Source/Shared/kdubase.h @@ -6,7 +6,7 @@ * * VERSION: 1.49 * -* DATE: 06 Jun 2026 +* DATE: 12 Jun 2026 * * Base KDU definitions. * @@ -80,3 +80,28 @@ typedef struct _KDU_DB_VERSION { WORD Revision; WORD Build; } KDU_DB_VERSION, * PKDU_DB_VERSION; + +#define RESOURCE_DB_SIGNATURE 'XDMR' +#define RESOURCE_DB_VERSION 1 +#define MAX_PACK_ITEMS 256 + +#pragma pack(push, 1) +typedef struct _RESOURCE_DB_HEADER { + DWORD Signature; + DWORD Version; + DWORD EntryCount; +} RESOURCE_DB_HEADER; + +typedef struct _RESOURCE_DB_ENTRY { + DWORD Id; + DWORD Offset; + DWORD Size; +} RESOURCE_DB_ENTRY; +#pragma pack(pop) + +typedef struct _PACK_ITEM { + DWORD Id; + CHAR Path[MAX_PATH]; + DWORD Offset; + DWORD Size; +} PACK_ITEM; diff --git a/Source/Tanikaze/Tanikaze.vcxproj b/Source/Tanikaze/Tanikaze.vcxproj index 903ceea..f553647 100644 --- a/Source/Tanikaze/Tanikaze.vcxproj +++ b/Source/Tanikaze/Tanikaze.vcxproj @@ -180,83 +180,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Source/Tanikaze/Tanikaze.vcxproj.filters b/Source/Tanikaze/Tanikaze.vcxproj.filters index f34f759..a9d484c 100644 --- a/Source/Tanikaze/Tanikaze.vcxproj.filters +++ b/Source/Tanikaze/Tanikaze.vcxproj.filters @@ -33,233 +33,6 @@ Header Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - Source Files diff --git a/Source/Tanikaze/data/kdu.db b/Source/Tanikaze/data/kdu.db new file mode 100644 index 0000000..e65baff Binary files /dev/null and b/Source/Tanikaze/data/kdu.db differ diff --git a/Source/Tanikaze/resource.h b/Source/Tanikaze/resource.h index 76b2a83..ee73b85 100644 --- a/Source/Tanikaze/resource.h +++ b/Source/Tanikaze/resource.h @@ -2,78 +2,7 @@ // Microsoft Visual C++ generated include file. // 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 -#define IDR_MSIO64 108 -#define IDR_GLCKIO2 109 -#define IDR_ENEIO64 110 -#define IDR_WINRING0 111 -#define IDR_ENETECHIO64 112 -#define IDR_PHYMEMX64 113 -#define IDR_RTKIO64 114 -#define IDR_ENETECHIO64B 115 -#define IDR_LHA 116 -#define IDR_ASIO2 117 -#define IDR_DIRECTIO64 118 -#define IDR_GMERDRV 119 -#define IDR_DBUTIL23 120 -#define IDR_MIMIDRV 121 -#define IDR_KPH 122 -#define IDR_DBUTILDRV2 123 -#define IDR_DBK64 124 -#define IDR_ASIO3 125 -#define IDR_HW64 126 -#define IDR_SYSDRV3S 127 -#define IDR_ZEMANA 128 -#define IDR_INPOUTX64 129 -#define IDR_PASSMARK_OSF 130 -#define IDR_ASROCKDRV 131 -#define IDR_ALSYSIO64 132 -#define IDR_AMD_RYZENMASTER 133 -#define IDR_PHYSMEM 134 -#define IDR_LDD 135 -#define IDR_PCDSRVC 136 -#define IDR_MSI_WINIO 137 -#define IDR_HP_ETDSUPP 138 -#define IDR_KEXPLORE 139 -#define IDR_KOBJEXP 140 -#define IDR_KREGEXP 141 -#define IDR_PHYDMACC 142 -#define IDR_ECHODRV 143 -#define IDR_NVOCLOCK 144 -#define IDR_IREC 145 -#define IDR_AMD_PDFWKRNL 146 -#define IDR_AMD_AOD215 147 -#define IDR_WNBIOS64 148 -#define IDR_EVGA_ELEETX1 149 -#define IDR_ASROCKDRV2 150 -#define IDR_ASROCKAPPSHOP103 151 -#define IDR_ASROCKDRV3 152 -#define IDR_ASROCKDRV4 153 -#define IDR_PMXDRV64 154 -#define IDR_HWRWDRVX64 155 -#define IDR_NEACSAFE64 156 -#define IDR_THROTTLESTOP 157 -#define IDR_TPWSAV 158 -#define IDR_LENOVOMSRIO 159 -#define IDR_TELEDYNE 160 -#define IDR_IPCTYPE 161 -#define IDR_SHANGKE_WHD 162 -#define IDR_AMD_AFFDRIVER 163 -#define IDR_MATROX_MTXC9CB 164 -#define IDR_FLIR_PGRHOSTCONTROL 165 -#define IDR_LECOMA 166 -#define IDR_DATA_DBUTILCAT 1000 -#define IDR_DATA_DBUTILINF 1001 -#define IDR_DATA_KMUEXE 1002 -#define IDR_DATA_KMUSIG 1003 -#define IDR_DATA_ASUSCERTSERVICE 1004 -#define IDR_DATA_NEACSAFEINF 1005 -#define IDR_PROCEXP1627 2000 -#define IDR_PROCEXP1702 2001 +#define IDR_KDUDB 7000 // Next default values for new objects // diff --git a/Source/Tanikaze/resource.rc b/Source/Tanikaze/resource.rc index a9f9ec5..8df4332 100644 --- a/Source/Tanikaze/resource.rc +++ b/Source/Tanikaze/resource.rc @@ -50,149 +50,7 @@ END // RCDATA // -IDR_INTEL_NAL RCDATA "drv\\iQVM64.bin" - -IDR_PROCEXP1627 RCDATA "drv\\procexp1627.bin" - -IDR_RTCORE64 RCDATA "drv\\RTCore64.bin" - -IDR_GDRV RCDATA "drv\\gdrv.bin" - -IDR_ATSZIO64 RCDATA "drv\\ATSZIO64.bin" - -IDR_MSIO64 RCDATA "drv\\msio64.bin" - -IDR_GLCKIO2 RCDATA "drv\\glckio2.bin" - -IDR_ENEIO64 RCDATA "drv\\eneio64.bin" - -IDR_WINRING0 RCDATA "drv\\WinRing0x64.bin" - -IDR_ENETECHIO64 RCDATA "drv\\enetechio64.bin" - -IDR_PHYMEMX64 RCDATA "drv\\phymemx64.bin" - -IDR_RTKIO64 RCDATA "drv\\rtkio64.bin" - -IDR_ENETECHIO64B RCDATA "drv\\ene2.bin" - -IDR_LHA RCDATA "drv\\lha.bin" - -IDR_ASIO2 RCDATA "drv\\asio2.bin" - -IDR_DIRECTIO64 RCDATA "drv\\DirectIo64.bin" - -IDR_GMERDRV RCDATA "drv\\gmerdrv.bin" - -IDR_DBUTIL23 RCDATA "drv\\DbUtil2_3.bin" - -IDR_MIMIDRV RCDATA "drv\\mimidrv.bin" - -IDR_KPH RCDATA "drv\\kprocesshacker.bin" - -IDR_DBUTILDRV2 RCDATA "drv\\dbutildrv2.bin" - -IDR_DATA_DBUTILCAT RCDATA "data\\dbutilcat.bin" - -IDR_DATA_DBUTILINF RCDATA "data\\dbutilinf.bin" - -IDR_DATA_KMUEXE RCDATA "data\\KMUEXE.bin" - -IDR_DATA_KMUSIG RCDATA "data\\KMUSIG.bin" - -IDR_DBK64 RCDATA "drv\\dbk64.bin" - -IDR_ASIO3 RCDATA "drv\\AsIO3.bin" - -IDR_DATA_ASUSCERTSERVICE RCDATA "data\\AsusCertService.bin" - -IDR_HW64 RCDATA "drv\\HW64.bin" - -IDR_SYSDRV3S RCDATA "drv\\SysDrv3S.bin" - -IDR_ZEMANA RCDATA "drv\\amsdk.bin" - -IDR_INPOUTX64 RCDATA "drv\\inpoutx64.bin" - -IDR_PASSMARK_OSF RCDATA "drv\\DirectIo64_2.bin" - -IDR_ASROCKDRV RCDATA "drv\\AsrDrv106.bin" - -IDR_ALSYSIO64 RCDATA "drv\\ALSysIO64.bin" - -IDR_AMD_RYZENMASTER RCDATA "drv\\AMDRyzenMasterDriver.bin" - -IDR_PHYSMEM RCDATA "drv\\physmem.bin" - -IDR_PROCEXP1702 RCDATA "drv\\procexp1702.bin" - -IDR_LDD RCDATA "drv\\LDD.bin" - -IDR_PCDSRVC RCDATA "drv\\pcdsrvc_x64.bin" - -IDR_MSI_WINIO RCDATA "drv\\heavenluo.bin" - -IDR_HP_ETDSUPP RCDATA "drv\\etdsupp.bin" - -IDR_KEXPLORE RCDATA "drv\\KExplore.bin" - -IDR_KOBJEXP RCDATA "drv\\KObjExp.bin" - -IDR_KREGEXP RCDATA "drv\\KRegExp.bin" - -IDR_ECHODRV RCDATA "drv\\echo_driver.bin" - -IDR_NVOCLOCK RCDATA "drv\\nvoclock.bin" - -IDR_IREC RCDATA "drv\\irec.bin" - -IDR_PHYDMACC RCDATA "drv\\PhyDMACC.bin" - -IDR_RZPNK RCDATA "drv\\rzpnk.bin" - -IDR_AMD_PDFWKRNL RCDATA "drv\\PdFwKrnl.bin" - -IDR_AMD_AOD215 RCDATA "drv\\AODDriver215.bin" - -IDR_WNBIOS64 RCDATA "drv\\wnBios64.bin" - -IDR_EVGA_ELEETX1 RCDATA "drv\\eleetx1.bin" - -IDR_ASROCKDRV2 RCDATA "drv\\AxtuDrv.bin" - -IDR_ASROCKAPPSHOP103 RCDATA "drv\\AppShopDrv103.bin" - -IDR_ASROCKDRV3 RCDATA "drv\\AsrDrv107n.bin" - -IDR_ASROCKDRV4 RCDATA "drv\\AsrDrv107.bin" - -IDR_PMXDRV64 RCDATA "drv\\pmxdrv64.bin" - -IDR_HWRWDRVX64 RCDATA "drv\\HwRwDrv.x64.bin" - -IDR_DATA_NEACSAFEINF RCDATA "data\\NeacSafe64Cat.bin" - -IDR_NEACSAFE64 RCDATA "drv\\NeacSafe64.bin" - -IDR_THROTTLESTOP RCDATA "drv\\ThrottleStop.bin" - -IDR_TPWSAV RCDATA "drv\\TPwSav.bin" - -IDR_LENOVOMSRIO RCDATA "drv\\LnvMSRIO.bin" - -IDR_TELEDYNE RCDATA "drv\\Cormem.bin" - -IDR_IPCTYPE RCDATA "drv\\ipctype.bin" - -IDR_SHANGKE_WHD RCDATA "drv\\WinHwDrv64.bin" - -IDR_AMD_AFFDRIVER RCDATA "drv\\affdriver.bin" - -IDR_MATROX_MTXC9CB RCDATA "drv\\mtxC9CB.bin" - -IDR_FLIR_PGRHOSTCONTROL RCDATA "drv\\PGRHostControl.bin" - -IDR_LECOMA RCDATA "drv\\LECOMAx.bin" +IDR_KDUDB RCDATA "data\\kdu.db" ///////////////////////////////////////////////////////////////////////////// diff --git a/Source/Tanikaze/tanikaze.h b/Source/Tanikaze/tanikaze.h index f6b9207..7c4f086 100644 --- a/Source/Tanikaze/tanikaze.h +++ b/Source/Tanikaze/tanikaze.h @@ -928,7 +928,7 @@ KDU_DB_ENTRY gProvEntry[] = { { KDU_MIN_NTBUILDNUMBER, KDU_MAX_NTBUILDNUMBER, - IDR_SHANGKE_WHD, + IDR_SHANGKE_WND, KDU_PROVIDER_SHANGKE_WHD, KDU_VICTIM_DEFAULT, SourceBaseWinRing0, diff --git a/Source/Utils/DBPACK/DBPACK.cpp b/Source/Utils/DBPACK/DBPACK.cpp new file mode 100644 index 0000000..68f1218 --- /dev/null +++ b/Source/Utils/DBPACK/DBPACK.cpp @@ -0,0 +1,432 @@ +/******************************************************************************* +* +* (C) COPYRIGHT AUTHORS, 2025 - 2026 +* +* TITLE: DBPACK.CPP +* +* VERSION: 1.05 +* +* DATE: 12 Jun 2026 +* +* DBPACK - KDU's Provider Database packager. +* +* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED +* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +* PARTICULAR PURPOSE. +* +*******************************************************************************/ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#include "../../Shared/ntos/ntos.h" +#include "../../Shared/minirtl/minirtl.h" +#include "../../Shared/minirtl/cmdline.h" +#include "../../Shared/minirtl/_filename.h" +#include "../../Shared/kdubase.h" +} +#endif + +BOOL StringToDword( + LPCSTR String, + DWORD* Value +) +{ + DWORD Result = 0; + + if (!String || !*String) + return FALSE; + + while (*String) + { + CHAR Ch = *String++; + + if (Ch < '0' || Ch > '9') + return FALSE; + + Result = + Result * 10 + + (DWORD)(Ch - '0'); + } + + *Value = Result; + + return TRUE; +} + +BOOL ParseManifestLine( + LPSTR Line, + PACK_ITEM* Item +) +{ + LPSTR Equal; + LPSTR Quote1; + LPSTR Quote2; + + DWORD Id; + + Equal = Line; + + while (*Equal && *Equal != '=') + Equal++; + + if (*Equal != '=') + return FALSE; + + *Equal = 0; + + if (!StringToDword(Line, &Id)) + return FALSE; + + Quote1 = Equal + 1; + + if (*Quote1 != '"') + return FALSE; + + Quote1++; + + Quote2 = Quote1; + + while (*Quote2 && *Quote2 != '"') + Quote2++; + + if (*Quote2 != '"') + return FALSE; + + *Quote2 = 0; + + if (FAILED(StringCchCopyA( + Item->Path, + ARRAYSIZE(Item->Path), + Quote1))) + { + return FALSE; + } + + Item->Id = Id; + + return TRUE; +} + +BOOL LoadManifest( + LPCSTR FileName, + PACK_ITEM* Items, + DWORD* CountOut +) +{ + HANDLE hFile; + + DWORD FileSize; + DWORD ReadBytes; + + LPSTR Buffer; + LPSTR Current; + + DWORD Count = 0; + + hFile = CreateFileA( + FileName, + GENERIC_READ, + FILE_SHARE_READ, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + NULL); + + if (hFile == INVALID_HANDLE_VALUE) + return FALSE; + + FileSize = GetFileSize(hFile, NULL); + Buffer = (LPSTR)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, FileSize + 1); + if (!Buffer) { + CloseHandle(hFile); + return FALSE; + } + + if (!ReadFile( + hFile, + Buffer, + FileSize, + &ReadBytes, + NULL)) + { + HeapFree(GetProcessHeap(), 0, Buffer); + CloseHandle(hFile); + return FALSE; + } + + CloseHandle(hFile); + + Current = Buffer; + + while (*Current) { + + LPSTR End; + + End = Current; + + while (*End && + *End != '\r' && + *End != '\n') + { + End++; + } + + if (*End) { + *End = 0; + End++; + + if (*End == '\n') + End++; + } + + if (*Current) { + if (Count >= MAX_PACK_ITEMS) { + HeapFree(GetProcessHeap(), 0, Buffer); + return FALSE; + } + + if (!ParseManifestLine( + Current, + &Items[Count])) + { + HeapFree(GetProcessHeap(), 0, Buffer); + return FALSE; + } + + Count++; + } + + Current = End; + } + + HeapFree(GetProcessHeap(), 0, Buffer); + *CountOut = Count; + return TRUE; +} + +VOID SortItems( + PACK_ITEM* Items, + DWORD Count +) +{ + DWORD i; + + for (i = 1; i < Count; i++) { + DWORD j; + PACK_ITEM Temp; + + Temp = Items[i]; + + j = i; + + while (j > 0 && + Items[j - 1].Id > Temp.Id) + { + Items[j] = + Items[j - 1]; + + j--; + } + + Items[j] = Temp; + } +} + +BOOL GetFileSize32( + LPCSTR Path, + DWORD* SizeOut +) +{ + HANDLE hFile; + LARGE_INTEGER Size; + + hFile = CreateFileA( + Path, + GENERIC_READ, + FILE_SHARE_READ, + NULL, + OPEN_EXISTING, + 0, + NULL); + + if (hFile == INVALID_HANDLE_VALUE) + return FALSE; + + if (!GetFileSizeEx(hFile, &Size)) { + CloseHandle(hFile); + return FALSE; + } + + CloseHandle(hFile); + + if (Size.QuadPart > MAXDWORD) + return FALSE; + + *SizeOut = (DWORD)Size.QuadPart; + + return TRUE; +} + +BOOL BuildDatabase( + LPCSTR ManifestFile, + LPCSTR OutputFile +) +{ + PACK_ITEM Items[MAX_PACK_ITEMS]; + RESOURCE_DB_ENTRY Entries[MAX_PACK_ITEMS]; + + RESOURCE_DB_HEADER Header; + + HANDLE hOut; + + DWORD Count; + DWORD i; + DWORD Written; + + DWORD CurrentOffset; + + if (!LoadManifest( + ManifestFile, + Items, + &Count)) + { + return FALSE; + } + + SortItems( + Items, + Count); + + for (i = 1; i < Count; i++) { + if (Items[i].Id == + Items[i - 1].Id) + { + OutputDebugStringA("Duplicate resource ID\n"); + return FALSE; + } + } + + CurrentOffset = sizeof(Header) + Count * sizeof(RESOURCE_DB_ENTRY); + + for (i = 0; i < Count; i++) { + if (!GetFileSize32( + Items[i].Path, + &Items[i].Size)) + { + return FALSE; + } + + Items[i].Offset = + CurrentOffset; + + Entries[i].Id = + Items[i].Id; + + Entries[i].Offset = + CurrentOffset; + + Entries[i].Size = + Items[i].Size; + + CurrentOffset += + Items[i].Size; + } + + Header.Signature = RESOURCE_DB_SIGNATURE; + Header.Version = RESOURCE_DB_VERSION; + Header.EntryCount = Count; + + hOut = CreateFileA( + OutputFile, + GENERIC_WRITE, + 0, + NULL, + CREATE_ALWAYS, + FILE_ATTRIBUTE_NORMAL, + NULL); + + if (hOut == INVALID_HANDLE_VALUE) + return FALSE; + + WriteFile( + hOut, + &Header, + sizeof(Header), + &Written, + NULL); + + WriteFile( + hOut, + Entries, + Count * sizeof(RESOURCE_DB_ENTRY), + &Written, + NULL); + + for (i = 0; i < Count; i++) { + HANDLE hIn; + + BYTE Buffer[65536]; + + DWORD ReadBytes; + + hIn = CreateFileA( + Items[i].Path, + GENERIC_READ, + FILE_SHARE_READ, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + NULL); + + if (hIn == INVALID_HANDLE_VALUE) { + CloseHandle(hOut); + return FALSE; + } + + while (ReadFile( + hIn, + Buffer, + sizeof(Buffer), + &ReadBytes, + NULL) && + ReadBytes) + { + WriteFile( + hOut, + Buffer, + ReadBytes, + &Written, + NULL); + } + + CloseHandle(hIn); + } + + CloseHandle(hOut); + + return TRUE; +} + +/* +* main +* +* Purpose: +* +* Program entrypoint. +* +*/ +int main() +{ + if (!BuildDatabase( + "dbmanifest.txt", + "kdu.db")) + { + return 1; + } + + return 0; +} diff --git a/Source/Utils/DBPACK/DBPACK.slnx b/Source/Utils/DBPACK/DBPACK.slnx new file mode 100644 index 0000000..7af2c8f --- /dev/null +++ b/Source/Utils/DBPACK/DBPACK.slnx @@ -0,0 +1,6 @@ + + + + + + diff --git a/Source/Utils/DBPACK/DBPACK.vcxproj b/Source/Utils/DBPACK/DBPACK.vcxproj new file mode 100644 index 0000000..643a880 --- /dev/null +++ b/Source/Utils/DBPACK/DBPACK.vcxproj @@ -0,0 +1,156 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 18.0 + Win32Proj + {a57f36b0-ae61-4290-90de-e775e0d30201} + DBPACK + 10.0 + + + + Application + true + v145 + Unicode + + + Application + false + v145 + true + Unicode + + + Application + true + v145 + Unicode + + + Application + false + v145 + true + Unicode + + + + + + + + + + + + + + + + + + + + + .\output\$(Platform)\$(Configuration)\ + .\output\$(Platform)\$(Configuration)\ + + + .\output\$(Platform)\$(Configuration)\ + .\output\$(Platform)\$(Configuration)\ + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + stdcpp20 + + + Console + true + + + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + stdcpp20 + + + Console + true + + + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true + MultiThreaded + + + Console + true + /NOCOFFGRPINFO %(AdditionalOptions) + + + true + + + + + + + + + \ No newline at end of file diff --git a/Source/Utils/DBPACK/DBPACK.vcxproj.filters b/Source/Utils/DBPACK/DBPACK.vcxproj.filters new file mode 100644 index 0000000..dd28a0a --- /dev/null +++ b/Source/Utils/DBPACK/DBPACK.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file diff --git a/Source/Utils/DBPACK/DBPACK.vcxproj.user b/Source/Utils/DBPACK/DBPACK.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/Source/Utils/DBPACK/DBPACK.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Source/Tanikaze/data/AsusCertService.bin b/Source/Utils/DBPACK/data/AsusCertService.bin similarity index 99% rename from Source/Tanikaze/data/AsusCertService.bin rename to Source/Utils/DBPACK/data/AsusCertService.bin index 517fed2..cf0a111 100644 Binary files a/Source/Tanikaze/data/AsusCertService.bin and b/Source/Utils/DBPACK/data/AsusCertService.bin differ diff --git a/Source/Tanikaze/data/KMUEXE.bin b/Source/Utils/DBPACK/data/KMUEXE.bin similarity index 99% rename from Source/Tanikaze/data/KMUEXE.bin rename to Source/Utils/DBPACK/data/KMUEXE.bin index 05cd3a0..1ebd125 100644 Binary files a/Source/Tanikaze/data/KMUEXE.bin and b/Source/Utils/DBPACK/data/KMUEXE.bin differ diff --git a/Source/Tanikaze/data/KMUSIG.bin b/Source/Utils/DBPACK/data/KMUSIG.bin similarity index 62% rename from Source/Tanikaze/data/KMUSIG.bin rename to Source/Utils/DBPACK/data/KMUSIG.bin index 75bd697..7232dbe 100644 --- a/Source/Tanikaze/data/KMUSIG.bin +++ b/Source/Utils/DBPACK/data/KMUSIG.bin @@ -1,2 +1,2 @@ -°€°7ÏÐ|à°zæÃ,]ãqq«>Vf[æÒ&S–>§˜oœƒÖ°ÝükFzQ šÊy,°-Ò·}eÎI8×ôq^gÉ0¤”^ Áûr*œ(®ò™aÃ7p}‡?š4FjB\0K$1g^퉄”Œ¸bÿÓïV`Í´µý%뇱Þ7—*óÙÖ¯>ôÌwiá +°€°7/c»_Œ°zæÃ,]ãqq«>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/NeacSafe64Cat.bin b/Source/Utils/DBPACK/data/NeacSafe64Cat.bin similarity index 93% rename from Source/Tanikaze/data/NeacSafe64Cat.bin rename to Source/Utils/DBPACK/data/NeacSafe64Cat.bin index f8e735b..3b9b5ee 100644 Binary files a/Source/Tanikaze/data/NeacSafe64Cat.bin and b/Source/Utils/DBPACK/data/NeacSafe64Cat.bin differ diff --git a/Source/Tanikaze/data/dbutilcat.bin b/Source/Utils/DBPACK/data/dbutilcat.bin similarity index 98% rename from Source/Tanikaze/data/dbutilcat.bin rename to Source/Utils/DBPACK/data/dbutilcat.bin index aa0daa8..f0873bd 100644 Binary files a/Source/Tanikaze/data/dbutilcat.bin and b/Source/Utils/DBPACK/data/dbutilcat.bin differ diff --git a/Source/Tanikaze/data/dbutilinf.bin b/Source/Utils/DBPACK/data/dbutilinf.bin similarity index 93% rename from Source/Tanikaze/data/dbutilinf.bin rename to Source/Utils/DBPACK/data/dbutilinf.bin index b9c3a90..6fe340f 100644 Binary files a/Source/Tanikaze/data/dbutilinf.bin and b/Source/Utils/DBPACK/data/dbutilinf.bin differ diff --git a/Source/Utils/DBPACK/dbmanifest.txt b/Source/Utils/DBPACK/dbmanifest.txt new file mode 100644 index 0000000..4880d02 --- /dev/null +++ b/Source/Utils/DBPACK/dbmanifest.txt @@ -0,0 +1,72 @@ +103="drv\\iQVM64.bin" +104="drv\\rzpnk.bin" +105="drv\\RTCore64.bin" +106="drv\\gdrv.bin" +107="drv\\ATSZIO64.bin" +108="drv\\msio64.bin" +109="drv\\glckio2.bin" +110="drv\\eneio64.bin" +111="drv\\WinRing0x64.bin" +112="drv\\enetechio64.bin" +113="drv\\phymemx64.bin" +114="drv\\rtkio64.bin" +115="drv\\ene2.bin" +116="drv\\lha.bin" +117="drv\\asio2.bin" +118="drv\\DirectIo64.bin" +119="drv\\gmerdrv.bin" +120="drv\\DbUtil2_3.bin" +121="drv\\mimidrv.bin" +122="drv\\kprocesshacker.bin" +123="drv\\dbutildrv2.bin" +124="drv\\dbk64.bin" +125="drv\\AsIO3.bin" +126="drv\\HW64.bin" +127="drv\\SysDrv3S.bin" +128="drv\\amsdk.bin" +129="drv\\inpoutx64.bin" +130="drv\\DirectIo64_2.bin" +131="drv\\AsrDrv106.bin" +132="drv\\ALSysIO64.bin" +133="drv\\AMDRyzenMasterDriver.bin" +134="drv\\physmem.bin" +135="drv\\LDD.bin" +136="drv\\pcdsrvc_x64.bin" +137="drv\\heavenluo.bin" +138="drv\\etdsupp.bin" +139="drv\\KExplore.bin" +140="drv\\KObjExp.bin" +141="drv\\KRegExp.bin" +142="drv\\PhyDMACC.bin" +143="drv\\echo_driver.bin" +144="drv\\nvoclock.bin" +145="drv\\irec.bin" +146="drv\\PdFwKrnl.bin" +147="drv\\AODDriver215.bin" +148="drv\\wnBios64.bin" +149="drv\\eleetx1.bin" +150="drv\\AxtuDrv.bin" +151="drv\\AppShopDrv103.bin" +152="drv\\AsrDrv107n.bin" +153="drv\\AsrDrv107.bin" +154="drv\\pmxdrv64.bin" +155="drv\\HwRwDrv.x64.bin" +156="drv\\NeacSafe64.bin" +157="drv\\ThrottleStop.bin" +158="drv\\TPwSav.bin" +159="drv\\LnvMSRIO.bin" +160="drv\\Cormem.bin" +161="drv\\ipctype.bin" +162="drv\\WinHwDrv64.bin" +163="drv\\affdriver.bin" +164="drv\\mtxC9CB.bin" +165="drv\\PGRHostControl.bin" +166="drv\\LECOMAx.bin" +1000="data\\dbutilcat.bin" +1001="data\\dbutilinf.bin" +1002="data\\KMUEXE.bin" +1003="data\\KMUSIG.bin" +1004="data\\AsusCertService.bin" +1005="data\\NeacSafe64Cat.bin" +2000="drv\\procexp1627.bin" +2001="drv\\procexp1702.bin" diff --git a/Source/Tanikaze/drv/ALSysIO64.bin b/Source/Utils/DBPACK/drv/ALSysIO64.bin similarity index 99% rename from Source/Tanikaze/drv/ALSysIO64.bin rename to Source/Utils/DBPACK/drv/ALSysIO64.bin index 2b146c7..69eb7bb 100644 Binary files a/Source/Tanikaze/drv/ALSysIO64.bin and b/Source/Utils/DBPACK/drv/ALSysIO64.bin differ diff --git a/Source/Tanikaze/drv/AMDRyzenMasterDriver.bin b/Source/Utils/DBPACK/drv/AMDRyzenMasterDriver.bin similarity index 99% rename from Source/Tanikaze/drv/AMDRyzenMasterDriver.bin rename to Source/Utils/DBPACK/drv/AMDRyzenMasterDriver.bin index 6de45af..7d3965b 100644 Binary files a/Source/Tanikaze/drv/AMDRyzenMasterDriver.bin and b/Source/Utils/DBPACK/drv/AMDRyzenMasterDriver.bin differ diff --git a/Source/Tanikaze/drv/AODDriver215.bin b/Source/Utils/DBPACK/drv/AODDriver215.bin similarity index 99% rename from Source/Tanikaze/drv/AODDriver215.bin rename to Source/Utils/DBPACK/drv/AODDriver215.bin index 79dbb0a..5872c35 100644 Binary files a/Source/Tanikaze/drv/AODDriver215.bin and b/Source/Utils/DBPACK/drv/AODDriver215.bin differ diff --git a/Source/Tanikaze/drv/ATSZIO64.bin b/Source/Utils/DBPACK/drv/ATSZIO64.bin similarity index 99% rename from Source/Tanikaze/drv/ATSZIO64.bin rename to Source/Utils/DBPACK/drv/ATSZIO64.bin index 6dc8d5a..2fea30d 100644 Binary files a/Source/Tanikaze/drv/ATSZIO64.bin and b/Source/Utils/DBPACK/drv/ATSZIO64.bin differ diff --git a/Source/Tanikaze/drv/AppShopDrv103.bin b/Source/Utils/DBPACK/drv/AppShopDrv103.bin similarity index 99% rename from Source/Tanikaze/drv/AppShopDrv103.bin rename to Source/Utils/DBPACK/drv/AppShopDrv103.bin index 40f6f49..c296c92 100644 Binary files a/Source/Tanikaze/drv/AppShopDrv103.bin and b/Source/Utils/DBPACK/drv/AppShopDrv103.bin differ diff --git a/Source/Tanikaze/drv/asio2.bin b/Source/Utils/DBPACK/drv/AsIO2.bin similarity index 99% rename from Source/Tanikaze/drv/asio2.bin rename to Source/Utils/DBPACK/drv/AsIO2.bin index 7f5837b..cec6fd4 100644 Binary files a/Source/Tanikaze/drv/asio2.bin and b/Source/Utils/DBPACK/drv/AsIO2.bin differ diff --git a/Source/Tanikaze/drv/AsIO3.bin b/Source/Utils/DBPACK/drv/AsIO3.bin similarity index 99% rename from Source/Tanikaze/drv/AsIO3.bin rename to Source/Utils/DBPACK/drv/AsIO3.bin index d159dca..2a171f0 100644 Binary files a/Source/Tanikaze/drv/AsIO3.bin and b/Source/Utils/DBPACK/drv/AsIO3.bin differ diff --git a/Source/Tanikaze/drv/AsrDrv106.bin b/Source/Utils/DBPACK/drv/AsrDrv106.bin similarity index 99% rename from Source/Tanikaze/drv/AsrDrv106.bin rename to Source/Utils/DBPACK/drv/AsrDrv106.bin index 66bad7d..dfe6d45 100644 Binary files a/Source/Tanikaze/drv/AsrDrv106.bin and b/Source/Utils/DBPACK/drv/AsrDrv106.bin differ diff --git a/Source/Tanikaze/drv/AsrDrv107.bin b/Source/Utils/DBPACK/drv/AsrDrv107.bin similarity index 99% rename from Source/Tanikaze/drv/AsrDrv107.bin rename to Source/Utils/DBPACK/drv/AsrDrv107.bin index a85b7ea..d3a209b 100644 Binary files a/Source/Tanikaze/drv/AsrDrv107.bin and b/Source/Utils/DBPACK/drv/AsrDrv107.bin differ diff --git a/Source/Tanikaze/drv/AsrDrv107n.bin b/Source/Utils/DBPACK/drv/AsrDrv107n.bin similarity index 99% rename from Source/Tanikaze/drv/AsrDrv107n.bin rename to Source/Utils/DBPACK/drv/AsrDrv107n.bin index 70bbcdb..aed5dac 100644 Binary files a/Source/Tanikaze/drv/AsrDrv107n.bin and b/Source/Utils/DBPACK/drv/AsrDrv107n.bin differ diff --git a/Source/Tanikaze/drv/AxtuDrv.bin b/Source/Utils/DBPACK/drv/AxtuDrv.bin similarity index 99% rename from Source/Tanikaze/drv/AxtuDrv.bin rename to Source/Utils/DBPACK/drv/AxtuDrv.bin index 67ff557..746ca18 100644 Binary files a/Source/Tanikaze/drv/AxtuDrv.bin and b/Source/Utils/DBPACK/drv/AxtuDrv.bin differ diff --git a/Source/Tanikaze/drv/Cormem.bin b/Source/Utils/DBPACK/drv/Cormem.bin similarity index 99% rename from Source/Tanikaze/drv/Cormem.bin rename to Source/Utils/DBPACK/drv/Cormem.bin index 7dcf059..82c4090 100644 Binary files a/Source/Tanikaze/drv/Cormem.bin and b/Source/Utils/DBPACK/drv/Cormem.bin differ diff --git a/Source/Tanikaze/drv/DbUtil2_3.bin b/Source/Utils/DBPACK/drv/DbUtil2_3.bin similarity index 99% rename from Source/Tanikaze/drv/DbUtil2_3.bin rename to Source/Utils/DBPACK/drv/DbUtil2_3.bin index 9a7909d..e8cda4f 100644 Binary files a/Source/Tanikaze/drv/DbUtil2_3.bin and b/Source/Utils/DBPACK/drv/DbUtil2_3.bin differ diff --git a/Source/Tanikaze/drv/DirectIo64.bin b/Source/Utils/DBPACK/drv/DirectIo64.bin similarity index 99% rename from Source/Tanikaze/drv/DirectIo64.bin rename to Source/Utils/DBPACK/drv/DirectIo64.bin index 50e0adb..a9df59b 100644 Binary files a/Source/Tanikaze/drv/DirectIo64.bin and b/Source/Utils/DBPACK/drv/DirectIo64.bin differ diff --git a/Source/Tanikaze/drv/DirectIo64_2.bin b/Source/Utils/DBPACK/drv/DirectIo64_2.bin similarity index 99% rename from Source/Tanikaze/drv/DirectIo64_2.bin rename to Source/Utils/DBPACK/drv/DirectIo64_2.bin index 0b90917..c8ac579 100644 Binary files a/Source/Tanikaze/drv/DirectIo64_2.bin and b/Source/Utils/DBPACK/drv/DirectIo64_2.bin differ diff --git a/Source/Tanikaze/drv/EneIo64.bin b/Source/Utils/DBPACK/drv/EneIo64.bin similarity index 99% rename from Source/Tanikaze/drv/EneIo64.bin rename to Source/Utils/DBPACK/drv/EneIo64.bin index 4cd92a5..1751f04 100644 Binary files a/Source/Tanikaze/drv/EneIo64.bin and b/Source/Utils/DBPACK/drv/EneIo64.bin differ diff --git a/Source/Tanikaze/drv/EneTechIo64.bin b/Source/Utils/DBPACK/drv/EneTechIo64.bin similarity index 99% rename from Source/Tanikaze/drv/EneTechIo64.bin rename to Source/Utils/DBPACK/drv/EneTechIo64.bin index cf1e69c..efef7aa 100644 Binary files a/Source/Tanikaze/drv/EneTechIo64.bin and b/Source/Utils/DBPACK/drv/EneTechIo64.bin differ diff --git a/Source/Tanikaze/drv/GLCKIO2.bin b/Source/Utils/DBPACK/drv/GLCKIO2.bin similarity index 99% rename from Source/Tanikaze/drv/GLCKIO2.bin rename to Source/Utils/DBPACK/drv/GLCKIO2.bin index 4175841..aa7b2fc 100644 Binary files a/Source/Tanikaze/drv/GLCKIO2.bin and b/Source/Utils/DBPACK/drv/GLCKIO2.bin differ diff --git a/Source/Tanikaze/drv/HW64.bin b/Source/Utils/DBPACK/drv/HW64.bin similarity index 99% rename from Source/Tanikaze/drv/HW64.bin rename to Source/Utils/DBPACK/drv/HW64.bin index 602084a..e3cf5f9 100644 Binary files a/Source/Tanikaze/drv/HW64.bin and b/Source/Utils/DBPACK/drv/HW64.bin differ diff --git a/Source/Tanikaze/drv/HwRwDrv.x64.bin b/Source/Utils/DBPACK/drv/HwRwDrv.x64.bin similarity index 99% rename from Source/Tanikaze/drv/HwRwDrv.x64.bin rename to Source/Utils/DBPACK/drv/HwRwDrv.x64.bin index 4cc5b60..b9d6f00 100644 Binary files a/Source/Tanikaze/drv/HwRwDrv.x64.bin and b/Source/Utils/DBPACK/drv/HwRwDrv.x64.bin differ diff --git a/Source/Tanikaze/drv/KExplore.bin b/Source/Utils/DBPACK/drv/KExplore.bin similarity index 99% rename from Source/Tanikaze/drv/KExplore.bin rename to Source/Utils/DBPACK/drv/KExplore.bin index 6489239..1719661 100644 Binary files a/Source/Tanikaze/drv/KExplore.bin and b/Source/Utils/DBPACK/drv/KExplore.bin differ diff --git a/Source/Tanikaze/drv/KObjExp.bin b/Source/Utils/DBPACK/drv/KObjExp.bin similarity index 99% rename from Source/Tanikaze/drv/KObjExp.bin rename to Source/Utils/DBPACK/drv/KObjExp.bin index 5b1765e..d5c5b57 100644 Binary files a/Source/Tanikaze/drv/KObjExp.bin and b/Source/Utils/DBPACK/drv/KObjExp.bin differ diff --git a/Source/Tanikaze/drv/KRegExp.bin b/Source/Utils/DBPACK/drv/KRegExp.bin similarity index 99% rename from Source/Tanikaze/drv/KRegExp.bin rename to Source/Utils/DBPACK/drv/KRegExp.bin index 33a7b79..b77a5ce 100644 Binary files a/Source/Tanikaze/drv/KRegExp.bin and b/Source/Utils/DBPACK/drv/KRegExp.bin differ diff --git a/Source/Tanikaze/drv/LDD.bin b/Source/Utils/DBPACK/drv/LDD.bin similarity index 99% rename from Source/Tanikaze/drv/LDD.bin rename to Source/Utils/DBPACK/drv/LDD.bin index 2e347ae..284182e 100644 Binary files a/Source/Tanikaze/drv/LDD.bin and b/Source/Utils/DBPACK/drv/LDD.bin differ diff --git a/Source/Tanikaze/drv/LECOMAx.bin b/Source/Utils/DBPACK/drv/LECOMAx.bin similarity index 99% rename from Source/Tanikaze/drv/LECOMAx.bin rename to Source/Utils/DBPACK/drv/LECOMAx.bin index f2c874d..0b9e2fa 100644 Binary files a/Source/Tanikaze/drv/LECOMAx.bin and b/Source/Utils/DBPACK/drv/LECOMAx.bin differ diff --git a/Source/Tanikaze/drv/LnvMSRIO.bin b/Source/Utils/DBPACK/drv/LnvMSRIO.bin similarity index 99% rename from Source/Tanikaze/drv/LnvMSRIO.bin rename to Source/Utils/DBPACK/drv/LnvMSRIO.bin index e1664be..d37dd0f 100644 Binary files a/Source/Tanikaze/drv/LnvMSRIO.bin and b/Source/Utils/DBPACK/drv/LnvMSRIO.bin differ diff --git a/Source/Tanikaze/drv/MsIo64.bin b/Source/Utils/DBPACK/drv/MsIo64.bin similarity index 99% rename from Source/Tanikaze/drv/MsIo64.bin rename to Source/Utils/DBPACK/drv/MsIo64.bin index de625e3..96a414d 100644 Binary files a/Source/Tanikaze/drv/MsIo64.bin and b/Source/Utils/DBPACK/drv/MsIo64.bin differ diff --git a/Source/Tanikaze/drv/NeacSafe64.bin b/Source/Utils/DBPACK/drv/NeacSafe64.bin similarity index 99% rename from Source/Tanikaze/drv/NeacSafe64.bin rename to Source/Utils/DBPACK/drv/NeacSafe64.bin index 99dbe4b..13b1582 100644 Binary files a/Source/Tanikaze/drv/NeacSafe64.bin and b/Source/Utils/DBPACK/drv/NeacSafe64.bin differ diff --git a/Source/Tanikaze/drv/PGRHostControl.bin b/Source/Utils/DBPACK/drv/PGRHostControl.bin similarity index 99% rename from Source/Tanikaze/drv/PGRHostControl.bin rename to Source/Utils/DBPACK/drv/PGRHostControl.bin index 2759034..7722096 100644 Binary files a/Source/Tanikaze/drv/PGRHostControl.bin and b/Source/Utils/DBPACK/drv/PGRHostControl.bin differ diff --git a/Source/Tanikaze/drv/PdFwKrnl.bin b/Source/Utils/DBPACK/drv/PdFwKrnl.bin similarity index 99% rename from Source/Tanikaze/drv/PdFwKrnl.bin rename to Source/Utils/DBPACK/drv/PdFwKrnl.bin index cb53028..13bd1b8 100644 Binary files a/Source/Tanikaze/drv/PdFwKrnl.bin and b/Source/Utils/DBPACK/drv/PdFwKrnl.bin differ diff --git a/Source/Tanikaze/drv/PhyDMACC.bin b/Source/Utils/DBPACK/drv/PhyDMACC.bin similarity index 99% rename from Source/Tanikaze/drv/PhyDMACC.bin rename to Source/Utils/DBPACK/drv/PhyDMACC.bin index 7c9f73e..1c36c55 100644 Binary files a/Source/Tanikaze/drv/PhyDMACC.bin and b/Source/Utils/DBPACK/drv/PhyDMACC.bin differ diff --git a/Source/Tanikaze/drv/Phymemx64.bin b/Source/Utils/DBPACK/drv/Phymemx64.bin similarity index 99% rename from Source/Tanikaze/drv/Phymemx64.bin rename to Source/Utils/DBPACK/drv/Phymemx64.bin index 4204d03..9253ff6 100644 Binary files a/Source/Tanikaze/drv/Phymemx64.bin and b/Source/Utils/DBPACK/drv/Phymemx64.bin differ diff --git a/Source/Tanikaze/drv/RTCore64.bin b/Source/Utils/DBPACK/drv/RTCore64.bin similarity index 99% rename from Source/Tanikaze/drv/RTCore64.bin rename to Source/Utils/DBPACK/drv/RTCore64.bin index bb3f8b0..7a79cf6 100644 Binary files a/Source/Tanikaze/drv/RTCore64.bin and b/Source/Utils/DBPACK/drv/RTCore64.bin differ diff --git a/Source/Tanikaze/drv/SysDrv3S.bin b/Source/Utils/DBPACK/drv/SysDrv3S.bin similarity index 99% rename from Source/Tanikaze/drv/SysDrv3S.bin rename to Source/Utils/DBPACK/drv/SysDrv3S.bin index c9b527e..68472c7 100644 Binary files a/Source/Tanikaze/drv/SysDrv3S.bin and b/Source/Utils/DBPACK/drv/SysDrv3S.bin differ diff --git a/Source/Tanikaze/drv/ThrottleStop.bin b/Source/Utils/DBPACK/drv/ThrottleStop.bin similarity index 99% rename from Source/Tanikaze/drv/ThrottleStop.bin rename to Source/Utils/DBPACK/drv/ThrottleStop.bin index be1b461..f54c1ef 100644 Binary files a/Source/Tanikaze/drv/ThrottleStop.bin and b/Source/Utils/DBPACK/drv/ThrottleStop.bin differ diff --git a/Source/Tanikaze/drv/TPwSav.bin b/Source/Utils/DBPACK/drv/TpwSav.bin similarity index 99% rename from Source/Tanikaze/drv/TPwSav.bin rename to Source/Utils/DBPACK/drv/TpwSav.bin index 2516d49..9e66d6f 100644 Binary files a/Source/Tanikaze/drv/TPwSav.bin and b/Source/Utils/DBPACK/drv/TpwSav.bin differ diff --git a/Source/Tanikaze/drv/WinHwDrv64.bin b/Source/Utils/DBPACK/drv/WinHwDrv64.bin similarity index 99% rename from Source/Tanikaze/drv/WinHwDrv64.bin rename to Source/Utils/DBPACK/drv/WinHwDrv64.bin index b27a696..0a9903a 100644 Binary files a/Source/Tanikaze/drv/WinHwDrv64.bin and b/Source/Utils/DBPACK/drv/WinHwDrv64.bin differ diff --git a/Source/Tanikaze/drv/WinRing0x64.bin b/Source/Utils/DBPACK/drv/WinRing0x64.bin similarity index 99% rename from Source/Tanikaze/drv/WinRing0x64.bin rename to Source/Utils/DBPACK/drv/WinRing0x64.bin index 9d3cb2f..8b8e480 100644 Binary files a/Source/Tanikaze/drv/WinRing0x64.bin and b/Source/Utils/DBPACK/drv/WinRing0x64.bin differ diff --git a/Source/Tanikaze/drv/affdriver.bin b/Source/Utils/DBPACK/drv/affdriver.bin similarity index 99% rename from Source/Tanikaze/drv/affdriver.bin rename to Source/Utils/DBPACK/drv/affdriver.bin index a11103b..5652a48 100644 Binary files a/Source/Tanikaze/drv/affdriver.bin and b/Source/Utils/DBPACK/drv/affdriver.bin differ diff --git a/Source/Tanikaze/drv/amsdk.bin b/Source/Utils/DBPACK/drv/amsdk.bin similarity index 99% rename from Source/Tanikaze/drv/amsdk.bin rename to Source/Utils/DBPACK/drv/amsdk.bin index 656dc43..a7bf1c4 100644 Binary files a/Source/Tanikaze/drv/amsdk.bin and b/Source/Utils/DBPACK/drv/amsdk.bin differ diff --git a/Source/Tanikaze/drv/dbk64.bin b/Source/Utils/DBPACK/drv/dbk64.bin similarity index 99% rename from Source/Tanikaze/drv/dbk64.bin rename to Source/Utils/DBPACK/drv/dbk64.bin index c7bcee7..7b0e40d 100644 Binary files a/Source/Tanikaze/drv/dbk64.bin and b/Source/Utils/DBPACK/drv/dbk64.bin differ diff --git a/Source/Tanikaze/drv/dbutildrv2.bin b/Source/Utils/DBPACK/drv/dbutildrv2.bin similarity index 99% rename from Source/Tanikaze/drv/dbutildrv2.bin rename to Source/Utils/DBPACK/drv/dbutildrv2.bin index 3814431..44824d0 100644 Binary files a/Source/Tanikaze/drv/dbutildrv2.bin and b/Source/Utils/DBPACK/drv/dbutildrv2.bin differ diff --git a/Source/Tanikaze/drv/echo_driver.bin b/Source/Utils/DBPACK/drv/echo_driver.bin similarity index 99% rename from Source/Tanikaze/drv/echo_driver.bin rename to Source/Utils/DBPACK/drv/echo_driver.bin index 473d6a9..12f246a 100644 Binary files a/Source/Tanikaze/drv/echo_driver.bin and b/Source/Utils/DBPACK/drv/echo_driver.bin differ diff --git a/Source/Tanikaze/drv/eleetx1.bin b/Source/Utils/DBPACK/drv/eleetx1.bin similarity index 99% rename from Source/Tanikaze/drv/eleetx1.bin rename to Source/Utils/DBPACK/drv/eleetx1.bin index 5f307b5..a8f4b32 100644 Binary files a/Source/Tanikaze/drv/eleetx1.bin and b/Source/Utils/DBPACK/drv/eleetx1.bin differ diff --git a/Source/Tanikaze/drv/ene2.bin b/Source/Utils/DBPACK/drv/ene2.bin similarity index 99% rename from Source/Tanikaze/drv/ene2.bin rename to Source/Utils/DBPACK/drv/ene2.bin index 619ad33..9a6c80d 100644 Binary files a/Source/Tanikaze/drv/ene2.bin and b/Source/Utils/DBPACK/drv/ene2.bin differ diff --git a/Source/Tanikaze/drv/etdsupp.bin b/Source/Utils/DBPACK/drv/etdsupp.bin similarity index 99% rename from Source/Tanikaze/drv/etdsupp.bin rename to Source/Utils/DBPACK/drv/etdsupp.bin index c96d601..f0d5dff 100644 Binary files a/Source/Tanikaze/drv/etdsupp.bin and b/Source/Utils/DBPACK/drv/etdsupp.bin differ diff --git a/Source/Tanikaze/drv/gdrv.bin b/Source/Utils/DBPACK/drv/gdrv.bin similarity index 99% rename from Source/Tanikaze/drv/gdrv.bin rename to Source/Utils/DBPACK/drv/gdrv.bin index 953b767..e9f4cb3 100644 Binary files a/Source/Tanikaze/drv/gdrv.bin and b/Source/Utils/DBPACK/drv/gdrv.bin differ diff --git a/Source/Tanikaze/drv/gmerdrv.bin b/Source/Utils/DBPACK/drv/gmerdrv.bin similarity index 99% rename from Source/Tanikaze/drv/gmerdrv.bin rename to Source/Utils/DBPACK/drv/gmerdrv.bin index 7cfb121..558bc46 100644 Binary files a/Source/Tanikaze/drv/gmerdrv.bin and b/Source/Utils/DBPACK/drv/gmerdrv.bin differ diff --git a/Source/Tanikaze/drv/heavenluo.bin b/Source/Utils/DBPACK/drv/heavenluo.bin similarity index 99% rename from Source/Tanikaze/drv/heavenluo.bin rename to Source/Utils/DBPACK/drv/heavenluo.bin index 03a629a..1582dba 100644 Binary files a/Source/Tanikaze/drv/heavenluo.bin and b/Source/Utils/DBPACK/drv/heavenluo.bin differ diff --git a/Source/Tanikaze/drv/iQVM64.bin b/Source/Utils/DBPACK/drv/iQVM64.bin similarity index 99% rename from Source/Tanikaze/drv/iQVM64.bin rename to Source/Utils/DBPACK/drv/iQVM64.bin index 24a2a7d..6eeed79 100644 Binary files a/Source/Tanikaze/drv/iQVM64.bin and b/Source/Utils/DBPACK/drv/iQVM64.bin differ diff --git a/Source/Tanikaze/drv/inpoutx64.bin b/Source/Utils/DBPACK/drv/inpoutx64.bin similarity index 99% rename from Source/Tanikaze/drv/inpoutx64.bin rename to Source/Utils/DBPACK/drv/inpoutx64.bin index bd0a333..db73b64 100644 Binary files a/Source/Tanikaze/drv/inpoutx64.bin and b/Source/Utils/DBPACK/drv/inpoutx64.bin differ diff --git a/Source/Tanikaze/drv/ipctype.bin b/Source/Utils/DBPACK/drv/ipctype.bin similarity index 99% rename from Source/Tanikaze/drv/ipctype.bin rename to Source/Utils/DBPACK/drv/ipctype.bin index 63ad7ec..c0c69d7 100644 Binary files a/Source/Tanikaze/drv/ipctype.bin and b/Source/Utils/DBPACK/drv/ipctype.bin differ diff --git a/Source/Tanikaze/drv/irec.bin b/Source/Utils/DBPACK/drv/irec.bin similarity index 99% rename from Source/Tanikaze/drv/irec.bin rename to Source/Utils/DBPACK/drv/irec.bin index 8ee44f2..133df52 100644 Binary files a/Source/Tanikaze/drv/irec.bin and b/Source/Utils/DBPACK/drv/irec.bin differ diff --git a/Source/Tanikaze/drv/kprocesshacker.bin b/Source/Utils/DBPACK/drv/kprocesshacker.bin similarity index 99% rename from Source/Tanikaze/drv/kprocesshacker.bin rename to Source/Utils/DBPACK/drv/kprocesshacker.bin index 48b182c..dc332cc 100644 Binary files a/Source/Tanikaze/drv/kprocesshacker.bin and b/Source/Utils/DBPACK/drv/kprocesshacker.bin differ diff --git a/Source/Tanikaze/drv/lha.bin b/Source/Utils/DBPACK/drv/lha.bin similarity index 99% rename from Source/Tanikaze/drv/lha.bin rename to Source/Utils/DBPACK/drv/lha.bin index a098f04..e4b79a2 100644 Binary files a/Source/Tanikaze/drv/lha.bin and b/Source/Utils/DBPACK/drv/lha.bin differ diff --git a/Source/Tanikaze/drv/mimidrv.bin b/Source/Utils/DBPACK/drv/mimidrv.bin similarity index 99% rename from Source/Tanikaze/drv/mimidrv.bin rename to Source/Utils/DBPACK/drv/mimidrv.bin index 80c9c5e..7001f97 100644 Binary files a/Source/Tanikaze/drv/mimidrv.bin and b/Source/Utils/DBPACK/drv/mimidrv.bin differ diff --git a/Source/Tanikaze/drv/mtxC9CB.bin b/Source/Utils/DBPACK/drv/mtxC9CB.bin similarity index 99% rename from Source/Tanikaze/drv/mtxC9CB.bin rename to Source/Utils/DBPACK/drv/mtxC9CB.bin index 4a158e2..4bd0d3b 100644 Binary files a/Source/Tanikaze/drv/mtxC9CB.bin and b/Source/Utils/DBPACK/drv/mtxC9CB.bin differ diff --git a/Source/Tanikaze/drv/nvoclock.bin b/Source/Utils/DBPACK/drv/nvoclock.bin similarity index 99% rename from Source/Tanikaze/drv/nvoclock.bin rename to Source/Utils/DBPACK/drv/nvoclock.bin index 3075c16..787efc0 100644 Binary files a/Source/Tanikaze/drv/nvoclock.bin and b/Source/Utils/DBPACK/drv/nvoclock.bin differ diff --git a/Source/Tanikaze/drv/pcdsrvc_x64.bin b/Source/Utils/DBPACK/drv/pcdsrvc_x64.bin similarity index 99% rename from Source/Tanikaze/drv/pcdsrvc_x64.bin rename to Source/Utils/DBPACK/drv/pcdsrvc_x64.bin index 13e8fd0..7fb9109 100644 Binary files a/Source/Tanikaze/drv/pcdsrvc_x64.bin and b/Source/Utils/DBPACK/drv/pcdsrvc_x64.bin differ diff --git a/Source/Tanikaze/drv/physmem.bin b/Source/Utils/DBPACK/drv/physmem.bin similarity index 99% rename from Source/Tanikaze/drv/physmem.bin rename to Source/Utils/DBPACK/drv/physmem.bin index 8d0e353..4e219ab 100644 Binary files a/Source/Tanikaze/drv/physmem.bin and b/Source/Utils/DBPACK/drv/physmem.bin differ diff --git a/Source/Tanikaze/drv/pmxdrv64.bin b/Source/Utils/DBPACK/drv/pmxdrv64.bin similarity index 99% rename from Source/Tanikaze/drv/pmxdrv64.bin rename to Source/Utils/DBPACK/drv/pmxdrv64.bin index 6055782..8859b94 100644 Binary files a/Source/Tanikaze/drv/pmxdrv64.bin and b/Source/Utils/DBPACK/drv/pmxdrv64.bin differ diff --git a/Source/Tanikaze/drv/procexp1627.bin b/Source/Utils/DBPACK/drv/procexp1627.bin similarity index 99% rename from Source/Tanikaze/drv/procexp1627.bin rename to Source/Utils/DBPACK/drv/procexp1627.bin index 44939a8..ab797f6 100644 Binary files a/Source/Tanikaze/drv/procexp1627.bin and b/Source/Utils/DBPACK/drv/procexp1627.bin differ diff --git a/Source/Tanikaze/drv/procexp1702.bin b/Source/Utils/DBPACK/drv/procexp1702.bin similarity index 99% rename from Source/Tanikaze/drv/procexp1702.bin rename to Source/Utils/DBPACK/drv/procexp1702.bin index 8038f2d..d47d8a0 100644 Binary files a/Source/Tanikaze/drv/procexp1702.bin and b/Source/Utils/DBPACK/drv/procexp1702.bin differ diff --git a/Source/Tanikaze/drv/rtkio64.bin b/Source/Utils/DBPACK/drv/rtkio64.bin similarity index 99% rename from Source/Tanikaze/drv/rtkio64.bin rename to Source/Utils/DBPACK/drv/rtkio64.bin index ec65c9f..8544f52 100644 Binary files a/Source/Tanikaze/drv/rtkio64.bin and b/Source/Utils/DBPACK/drv/rtkio64.bin differ diff --git a/Source/Tanikaze/drv/rzpnk.bin b/Source/Utils/DBPACK/drv/rzpnk.bin similarity index 99% rename from Source/Tanikaze/drv/rzpnk.bin rename to Source/Utils/DBPACK/drv/rzpnk.bin index b5b5b38..3b0a34b 100644 Binary files a/Source/Tanikaze/drv/rzpnk.bin and b/Source/Utils/DBPACK/drv/rzpnk.bin differ diff --git a/Source/Tanikaze/drv/wnBios64.bin b/Source/Utils/DBPACK/drv/wnBios64.bin similarity index 99% rename from Source/Tanikaze/drv/wnBios64.bin rename to Source/Utils/DBPACK/drv/wnBios64.bin index af2e726..5489db8 100644 Binary files a/Source/Tanikaze/drv/wnBios64.bin and b/Source/Utils/DBPACK/drv/wnBios64.bin differ diff --git a/Source/Utils/readme.txt b/Source/Utils/readme.txt index 53870f7..75eebd9 100644 --- a/Source/Utils/readme.txt +++ b/Source/Utils/readme.txt @@ -1,3 +1,5 @@ +Dbpack is a special utility used to generate single KDU database file which is next embedded into Tanikaze dll. + GenAsIo2Unlock is a special utility used to generate the "unlocking" resource required for working with the AsIO2 driver. The full source for this utility is included in Source\Utils\GenAsIo2Unlock. The compiled version is located in Sources\Hamakaze\Utils\GenAsIo2Unlock.exe. **Warning:** This utility is set to execute as a post-build event for both Debug and Release configurations. If you do not want to run the precompiled version, replace it with a newly compiled version from the sources. If you remove this post-build event, newly compiled KDU will NOT BE ABLE to use the AsIO2 driver (provider #13). PCOMP is an auxiliary utility used to compress provider files. It is not intended for general use and is only used when you need to generate new binary blobs for provider DLLs.