From 27c859f175760d5402dc4266e590da7942b14353 Mon Sep 17 00:00:00 2001 From: hfiref0x Date: Mon, 14 Nov 2022 19:10:45 +0700 Subject: [PATCH] v 1.2.7 Added fresh PassMark driver as provider 27 (where "pass" must be here for "pass the MSFT block list") Readme updated Beta 3 --- KDU.sha256 | 87 ++++++++++++----------- README.md | 1 + Source/Hamakaze/KDU.vcxproj.user | 5 +- Source/Hamakaze/idrv/directio64.cpp | 4 +- Source/Hamakaze/kduplist.h | 25 ++++++- Source/Hamakaze/res/SB_SMBUS_SDK.bin | Bin 42973 -> 42973 bytes Source/Hamakaze/res/Taigei32.bin | Bin 2622 -> 2622 bytes Source/Shared/consts.h | 5 +- Source/Tanikaze/Tanikaze.vcxproj | 7 +- 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 | Bin 170 -> 170 bytes Source/Tanikaze/data/dbutilcat.bin | Bin 5973 -> 5973 bytes Source/Tanikaze/data/dbutilinf.bin | Bin 961 -> 961 bytes Source/Tanikaze/drv/ATSZIO64.bin | Bin 10480 -> 10480 bytes Source/Tanikaze/drv/AsIO3.bin | Bin 23237 -> 23237 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 0 -> 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/MsIo64.bin | Bin 14068 -> 14068 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/ene2.bin | Bin 11550 -> 11550 bytes Source/Tanikaze/drv/gdrv.bin | Bin 12988 -> 12988 bytes Source/Tanikaze/drv/gmerdrv.bin | Bin 28189 -> 28189 bytes Source/Tanikaze/drv/iQVM64.bin | Bin 16988 -> 16988 bytes Source/Tanikaze/drv/inpoutx64.bin | Bin 7526 -> 7526 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/procexp.bin | Bin 18571 -> 18571 bytes Source/Tanikaze/drv/rtkio64.bin | Bin 25003 -> 25003 bytes Source/Tanikaze/resource.h | 1 + Source/Tanikaze/resource.rc | 2 + Source/Tanikaze/tanikaze.h | 15 +++- 46 files changed, 102 insertions(+), 56 deletions(-) create mode 100644 Source/Tanikaze/drv/DirectIo64_2.bin diff --git a/KDU.sha256 b/KDU.sha256 index 43c4c2f..f7a14dc 100644 --- a/KDU.sha256 +++ b/KDU.sha256 @@ -39,8 +39,8 @@ ea0d8d42a5e7d7fb908c52351f99c69f2019c105d07a1f536756691ab2a74174 *Source\Hamakaz 888a436b666b00592d29e8a2e82a9b5c7f0c1d4890aaab8cb2f623181ad07092 *Source\Hamakaze\ipcsvc.h 361e85ad774ea783616b84925639008028fa0b8bdc28b16293e401b9dfdeca4b *Source\Hamakaze\KDU.vcxproj 4e2bb33be311adf535dd563bb0ce27afe4ee33b3b137a02a3fc553204b859550 *Source\Hamakaze\KDU.vcxproj.filters -68f418f7840813a076d21b82cc1212ad6531023ef5e466540eb8ddb5e145c3da *Source\Hamakaze\KDU.vcxproj.user -842c1814376840d3b3872b4faf3249f550a28eb2e2e03d6c0a6a06c0347d16aa *Source\Hamakaze\kduplist.h +571d17ec891e45d846c6f4d6507e0e53b6a78ad6175cea47bd3a5dabb8128c76 *Source\Hamakaze\KDU.vcxproj.user +6544640291f40baf6db210d1ce29b385ba037dfbab97fc7bd8cbb0da06a91305 *Source\Hamakaze\kduplist.h 25aa232e53603194868eb9b084a52288e57db5adbe2c9919ba9ca934a15def8a *Source\Hamakaze\kduprov.cpp d5a603fad08d1b8c6295b42e05ff5a7f09fa61b73e2f66e52d33fc15d76064ca *Source\Hamakaze\kduprov.h e0afea86e1b29b453374c5f18bee6378f60288c6f5e1f74b1d2b9e6ad7b7432f *Source\Hamakaze\main.cpp @@ -70,7 +70,7 @@ b1350783a851e6345b880c8a5313e871d2249aa5524f41406c52fa62483f2229 *Source\Hamakaz 24f81b4fdc1b924a36c981fb175b2dccebd7d029d6caed85fb731b74b22c7386 *Source\Hamakaze\idrv\dbk.h f438f20675618fe9babe9c10bf27b97987822d28fd4bbc300ef6119b3f1e906f *Source\Hamakaze\idrv\dbutil.cpp ad955406989b80564e7e4cc400721e62d6d5c193e22037b075e07dd616f3c845 *Source\Hamakaze\idrv\dbutil.h -221647ebf885a79ca375668bffc0cf104785e21be6d5911ddf5bf1e437f38e7b *Source\Hamakaze\idrv\directio64.cpp +791a4d40f3f5076d0e6ed47e7db972f448ccc78ca578c35f11db637962c868a5 *Source\Hamakaze\idrv\directio64.cpp 73a97fa34df9c0733981536f2079d1eab89bfaf36b4c5d0003cb87d504764ec3 *Source\Hamakaze\idrv\directio64.h 65c53a700fff2f766420a7e0612446aed7ef8f04fd44162ff73c0ba7e3581d77 *Source\Hamakaze\idrv\gmer.cpp 89d1cfb34afec23dbda6f40030a95386e9bbbc395666e2c0a3d066dc2fa8b0b8 *Source\Hamakaze\idrv\gmer.h @@ -102,10 +102,10 @@ d0e354d2f97e993e5e40fb6bb2b99b5bc753beb23f8213d44f99c0309210c1e8 *Source\Hamakaz 8b885564589e5ec1713b3cc4ceed7f28579031a8b5e655b52f3e17027d13244d *Source\Hamakaze\idrv\zemana.cpp da1ea3c2ceebfdc6e5c338461dc214798870a0d6aa16f7f23c045123fa450f71 *Source\Hamakaze\idrv\zemana.h de7bdf0bd4acec31c963b916331399bce23c155e3002f0a8152a4a36af13faf8 *Source\Hamakaze\res\274.ico -12a91b6889259d016d779dcd4ecd35118cf120c02dc9833a5851bd80894f2e4f *Source\Hamakaze\res\SB_SMBUS_SDK.bin -2e9a1ec3558bd3995a553a5499eefb81b347f674cecafdf691af1f611ae6417f *Source\Hamakaze\res\Taigei32.bin +95b1ac66c2032711f853c798cc9b0d794b881ad6a2efaf450aa2bcb7bf65e9f3 *Source\Hamakaze\res\SB_SMBUS_SDK.bin +01f3bc7ff7e76284b7733cb029dbdb5314438adde12ba952e270ad5369005aee *Source\Hamakaze\res\Taigei32.bin 1232f65b57bc8732ead29a730308f6c67bc53a2f9fafd47f8c7cc4b4f676a9e9 *Source\Hamakaze\utils\GenAsIo2Unlock.exe -d432b0df78d541bb49526a7feb71b6a7f31ce460d4d3fe4b706c3fabf0a4d5cf *Source\Shared\consts.h +60e18aeec8db4534ea91e86081b028611a0abc53ea78ef4a6ddf2c964548de7b *Source\Shared\consts.h f462f6cf81eaeafcce7a8b75ebbe693542caab56416fa9850758e76dc7a77fb4 *Source\Shared\kdubase.h e0ba365c8aa8e66fddd0f28bca4b827725911480fdcd968df2792c370f13ef42 *Source\Shared\ldr\ldr.cpp 37003367e625e218bf7e4c22850ac7d2efe926a6a832d29bc20a9f8b19a479af *Source\Shared\ldr\ldr.h @@ -148,44 +148,45 @@ d563bd3017a274175ca6b7e8f93333a3e3ec096d1f3034acfa4e17d8b2420c99 *Source\Taigei\ c06a75b13f855a94d46616796e024c52b499f8f92cf00ccb571ddbc6ff574676 *Source\Taigei\Taigei.vcxproj.user 9e82ce97464b666dad14ffde32e5450a0974d1194ca68cd10e9b2611599dfc28 *Source\Tanikaze\export.def 5bbbcc6c275008ffdd765a3fa53ed3e4ae16ea51bf6ae66c2271f6f065ba0525 *Source\Tanikaze\main.cpp -38897d00b977fa797c177b52d0c71fde6ff572137366de7d5d0bf3c05390e751 *Source\Tanikaze\resource.h -85256eec2d3e618ed3c0265ed0a90cb1b86c9bdb743252808cc93631339f010d *Source\Tanikaze\resource.rc -fad49140e474df8747e5856a80357e9dd602d10bb2c86c10c19362f398d8630d *Source\Tanikaze\tanikaze.h -c4668eb3f1f0e737189dc84db9a47a1c406754be975dfd200085e65e719a38c4 *Source\Tanikaze\Tanikaze.vcxproj -a940bc5e40baa48f9767459c422cb41cd3e77ad78b585bb6eaa3268b86a5629d *Source\Tanikaze\Tanikaze.vcxproj.filters +e20e381e29fc5f9c6622741ff1b96b1d25bc2f7f9ea7990114aea86181cf13d2 *Source\Tanikaze\resource.h +e9eae6c99182cfee69e57ac11c517eb1ec7500bab77b8a3c288fe705465ac985 *Source\Tanikaze\resource.rc +967e07724fb8ff16716d686766530f09d31492f536af494ec1465f813301a252 *Source\Tanikaze\tanikaze.h +ff446abbcb54b41d6e1d735b65899779a07cc49f8d47569c6c7defadf3a1fff5 *Source\Tanikaze\Tanikaze.vcxproj +b185c987cf5a847ce4c4350387562bbc6cebbeca76b295e97ac790d178744bdc *Source\Tanikaze\Tanikaze.vcxproj.filters c06a75b13f855a94d46616796e024c52b499f8f92cf00ccb571ddbc6ff574676 *Source\Tanikaze\Tanikaze.vcxproj.user -90d7565cfdac0347d529733f95105c4976a27b37db667a036035ead906a8cba9 *Source\Tanikaze\data\AsusCertService.bin -38c79f407e017c77465e9676d1512d74084f1448d849fc1ec0f82a2d3d0a17bb *Source\Tanikaze\data\dbutilcat.bin -8c2a42fa5fe43cf4a2e2b8fd5507548984265765b0f1c213eb5629ffd880e87f *Source\Tanikaze\data\dbutilinf.bin -2f47f0729470d48677d2c30645bf6623868c775db8dc5b325697faa6272cbb3b *Source\Tanikaze\data\KMUEXE.bin -7eca6b8f74114c13b270eb770aa9962ad7bcb33e2537986a27b3430613f0dba6 *Source\Tanikaze\data\KMUSIG.bin -f78d20b4460b9bd5e587ffb793c1562de5a21915816411377bd39f10ce73ffa9 *Source\Tanikaze\drv\amsdk.bin -0d5bc7082175bcbab22332a971bbcde4dc8115694b79f3b0a435cfbd2134b4f0 *Source\Tanikaze\drv\asio2.bin -312ee1778781502b18f389c4933b950f2c4be9a4c3a7d3404d9f5cc578b426e5 *Source\Tanikaze\drv\AsIO3.bin -9a5ca9e01400bf086f8c99470806ee9d96c601abe7d347bd0c4a4e687406490f *Source\Tanikaze\drv\ATSZIO64.bin -dce285afd89a5ca0fd642086b18956170078839ac737316f43b35b907531e1d9 *Source\Tanikaze\drv\dbk64.bin -0548653355d811b6b5291dcb74fb36c064f80750c4394e850e174bd426c54be4 *Source\Tanikaze\drv\DbUtil2_3.bin -1e546bf3ee4d6d0654c0498415c854de173af0ba7193148b28b802c04866d2a2 *Source\Tanikaze\drv\dbutildrv2.bin -29f5981fdf967b86fdb16ea29267c3e6ca2109c32a4ea2c9ed3b951ae7a480af *Source\Tanikaze\drv\DirectIo64.bin -5ff9a389935eb51031e254af459cad254d5981a11a0b24a3c7eb4b86aa1e988b *Source\Tanikaze\drv\ene2.bin -33b6ae40c4d6e838f80c1a902b73bf6cad3deac7e0de1ae666e752b8f2313528 *Source\Tanikaze\drv\EneIo64.bin -f8f50593c717bf56b909bfafbcc490e77fd5f90719ac65ac81d00e776e5266fc *Source\Tanikaze\drv\EneTechIo64.bin -e7274feaab78e869f1dc5222d939a43b0f4bc50070bd0136be15100db1a5539f *Source\Tanikaze\drv\gdrv.bin -688190ccab2a85a051fb0f5ddf1fcd28ebf0f628f3d41127f02d2c6536303f5c *Source\Tanikaze\drv\GLCKIO2.bin -ff77aad2c24f103d5b92e111f0d70343143fff5892e42a93db58c313ad81e2d4 *Source\Tanikaze\drv\gmerdrv.bin -319f581af430356c051f65f9cd2dad0c2147dedb5e94105428b2ad641aa76617 *Source\Tanikaze\drv\HW64.bin -dc38a0ef16a85ade2198313ad6a3fa0ae97f8baf27efc670cc71c567312642ef *Source\Tanikaze\drv\inpoutx64.bin -ae40c54e9d724de7a5bdb78c0fb3319b44105bd5a5905797fcec075d8fe6ea02 *Source\Tanikaze\drv\iQVM64.bin -082712cf3fe154b3651996d4c981423631b0704279a353845daa4afe46b8b247 *Source\Tanikaze\drv\kprocesshacker.bin -fabd190f32391c55baf59dedaffe76d92b992c71391f0c3ff8beb500d179731d *Source\Tanikaze\drv\lha.bin -04f50eb4934ae5274fc7c05c221626b82ca12e5582a58de228ab3147ecfae247 *Source\Tanikaze\drv\mimidrv.bin -d62e75cdbbc917ac56c5a434749ff091b509e8f858fbd05ce2e18d44794585ed *Source\Tanikaze\drv\MsIo64.bin -400f1e7acee3de39f3be22e1eefd0b65b20bdb171601a5c08dbeee88c69f0cc1 *Source\Tanikaze\drv\Phymemx64.bin -fd177ef963cd6022dec290f280d211e6327f8fc15574b82aef0936c958e8c362 *Source\Tanikaze\drv\procexp.bin -917dd8487c4455a00902b3eddc755a559521d13ffbe88a68037ffda2b21cd65a *Source\Tanikaze\drv\RTCore64.bin -594468495f592b950ef086a3f705fc4afb21d287629e97b506815e47c571fe4a *Source\Tanikaze\drv\rtkio64.bin -9fe23bf1e3dde3285f127e727e996adfdd27c60ceab99c6153442dc52c272e00 *Source\Tanikaze\drv\SysDrv3S.bin -eb1dbd3423d8871ac13d84136967baeefec43fe7cb2b765c11c651d57fc91dd7 *Source\Tanikaze\drv\WinRing0x64.bin +17ae5b8a22155777071dfba9a3c896daccedc559c557322d97f6d8a2a15e3a3f *Source\Tanikaze\data\AsusCertService.bin +055f0c71760a78090364b7b65c82980d8d95891c86a577d01e85849a920e2a2d *Source\Tanikaze\data\dbutilcat.bin +53dc778b89c9569d6a0cc2dd1bfcbd8d5b6a3454ff5a1980f4e3afbef2c8ce33 *Source\Tanikaze\data\dbutilinf.bin +5f557d88d658889e39cf842db84a21d646bc88306409a504ed9d598a1c6f97cd *Source\Tanikaze\data\KMUEXE.bin +bd0daa0e3bf88d8a67d5421bde4e50ccba3f85dbfef44db7b361d4e88feab6fb *Source\Tanikaze\data\KMUSIG.bin +11bee1266962b5d374963988bae6795da9dbe3a5529e01eed74689e11aa2fc9c *Source\Tanikaze\drv\amsdk.bin +909cbf91cf16a27bde51f628ec1a503159f10712fde15949d02b1be9fe56ed98 *Source\Tanikaze\drv\asio2.bin +540c49b342604ba126439881d9f05a18d92879d78edf00daed004faa3b5f4fa1 *Source\Tanikaze\drv\AsIO3.bin +847b0af3de65d247c0ee4e46cce0bfa561dc00c3b301b23165effa825e985c59 *Source\Tanikaze\drv\ATSZIO64.bin +06ffa99259223a5f7f352144db48b318cc8eb3277fd0ac172285198792dd8c01 *Source\Tanikaze\drv\dbk64.bin +cafc6a28a1df153e5296b0d2ebcc24b2b88a027dd451fe9015d39bc6b119061c *Source\Tanikaze\drv\DbUtil2_3.bin +e645d80b8ad3de126801da2be7fc32a769371762e43e6f65f6dc1f784e751ae8 *Source\Tanikaze\drv\dbutildrv2.bin +de92a2e76e05540f1e477cc06913c6770cf7fbb59719475a70034afcb7f7456f *Source\Tanikaze\drv\DirectIo64.bin +dc35e5afe591dac82045af6fc978e8165bcf95470204b03aee24cbfbdd2583d0 *Source\Tanikaze\drv\DirectIo64_2.bin +40da4ef8173e9deef05e26ae020021420bc09653f8332ba6bf19e46a97c90064 *Source\Tanikaze\drv\ene2.bin +e475f500916b3cfcf987d239b9196075da65d7ca32e46168d7938ced0c1cac76 *Source\Tanikaze\drv\EneIo64.bin +06b3c6f7a37920b529f63c583c09c0484e7722eb036ff4964d1c8f0de4d0f36c *Source\Tanikaze\drv\EneTechIo64.bin +d4268c20a38d29763d5237a659a7b463f527d256e71b5031e9f3af136afbc2dd *Source\Tanikaze\drv\gdrv.bin +6315cf36a62974855af3c44e2e958d7542067d366e5f27e5557b0f9cd03ef3e3 *Source\Tanikaze\drv\GLCKIO2.bin +f05ed0a77aef26d5256c01e12adbac71292844015572de90b0304656409ddaec *Source\Tanikaze\drv\gmerdrv.bin +79c1af945e5c45b3a03f4b4b2c2e3ff52b0d92c0590c9b8e6aae58b49f611902 *Source\Tanikaze\drv\HW64.bin +452ecfaca2fd5217c4727cceeda39db8f90b658b6e6d3fe9cb776c2e3472fada *Source\Tanikaze\drv\inpoutx64.bin +fefd4baba8806c3b0e1ed260ffd3c4504353aa7578e5d3384d1fc02f352f418f *Source\Tanikaze\drv\iQVM64.bin +6d69bfe4970bffeb4f149f4b5f615759d73d304c1fee04f9247aaa92d6ec2ede *Source\Tanikaze\drv\kprocesshacker.bin +6d169f4fe99b331534abedd80ca4d9ae0a8d65bf638106661ce41f7cc2e9d075 *Source\Tanikaze\drv\lha.bin +7b3bdd5c8d50f1d2041f802f5c8f045a36b009978ef738f186e3806e20148043 *Source\Tanikaze\drv\mimidrv.bin +9186e68396ad5f6bc00ac1310d0a7e6608eb8ca641e14f96a9507ff57c4d6fab *Source\Tanikaze\drv\MsIo64.bin +bbb98acd149f76563c51bb08456f12a9efc7bf629e05187272f598f395747671 *Source\Tanikaze\drv\Phymemx64.bin +5d438ee54f502e1cd93e0dc36f76e1438292d19ca59c700cca573d145edc87d4 *Source\Tanikaze\drv\procexp.bin +a33951e38c8fb1442d558ef776ba73baf479fc67be549b55bff8e32d2a3a8ef7 *Source\Tanikaze\drv\RTCore64.bin +07d8bfa5d9bd2b97d3d595610f5a737d5aa40207f48dd84555201993c7198783 *Source\Tanikaze\drv\rtkio64.bin +97462612a9c565566d66474ab42f6044980f4acae276bce5f2b0897db5e3b249 *Source\Tanikaze\drv\SysDrv3S.bin +1db76f35a6a84255f59e122ddae00b0f25bd6d11f788cc115c01a68c2aa0c774 *Source\Tanikaze\drv\WinRing0x64.bin bf86c929ee9ee2bb88187e1d82bcddfe83375c73e6787b83a7e414dff691e35b *Source\Utils\readme.txt c776bc97ee2fbe48d3e148bb37c887862e6de212d4391d6df9b5f149e40ed223 *Source\Utils\GenAsIo2Unlock\GenAsIo2Unlock.sln c4a28bc43a63a40ff2d8699fa261ee1ced6783d199043484ea7921e8d078ea08 *Source\Utils\GenAsIo2Unlock\GenAsIo2Unlock.vcxproj diff --git a/README.md b/README.md index 2a4c3f0..0c6f8a7 100644 --- a/README.md +++ b/README.md @@ -128,6 +128,7 @@ You use it at your own risk. Some lazy AV may flag this tool as hacktool/malware | 24 | CODESYS | SysDrv3S | CODESYS SysDrv3S | MAPMEM | 3.5.6 and below | | | 25 | Zemana | amsdk | WatchDog/MalwareFox/Zemana AM | Original | 3.0.0 and below | | | 26 | HiRes Ent. | inpoutx64 | Various | WINIO | 1.2.0 and below | | +| 27 | PassMark | DirectIo64 | PassMark OSForensics | Original | Any | | ###### *At commit time, data maybe inaccurate. diff --git a/Source/Hamakaze/KDU.vcxproj.user b/Source/Hamakaze/KDU.vcxproj.user index 7d6f357..d76f95d 100644 --- a/Source/Hamakaze/KDU.vcxproj.user +++ b/Source/Hamakaze/KDU.vcxproj.user @@ -1,12 +1,11 @@  - -list + -test WindowsLocalDebugger - - + -prv 27 -map c:\install\dummy.sys WindowsLocalDebugger \ No newline at end of file diff --git a/Source/Hamakaze/idrv/directio64.cpp b/Source/Hamakaze/idrv/directio64.cpp index b6a4651..f3e2c7d 100644 --- a/Source/Hamakaze/idrv/directio64.cpp +++ b/Source/Hamakaze/idrv/directio64.cpp @@ -4,9 +4,9 @@ * * TITLE: DIRECTIO64.CPP * -* VERSION: 1.13 +* VERSION: 1.27 * -* DATE: 05 Feb 2022 +* DATE: 12 Nov 2022 * * PassMark DIRECTIO driver routines. * diff --git a/Source/Hamakaze/kduplist.h b/Source/Hamakaze/kduplist.h index 82f9760..990e805 100644 --- a/Source/Hamakaze/kduplist.h +++ b/Source/Hamakaze/kduplist.h @@ -6,7 +6,7 @@ * * VERSION: 1.27 * -* DATE: 11 Nov 2022 +* DATE: 12 Nov 2022 * * Providers global list. * @@ -633,4 +633,27 @@ static KDU_PROVIDER g_KDUProviders[] = (provReadPhysicalMemory)WinIoReadPhysicalMemory, (provWritePhysicalMemory)WinIoWritePhysicalMemory }, + + { + NULL, + + (provStartVulnerableDriver)KDUProvStartVulnerableDriver, + (provStopVulnerableDriver)KDUProvStopVulnerableDriver, + + (provRegisterDriver)NULL, + (provUnregisterDriver)NULL, + (provPreOpenDriver)NULL, + (provPostOpenDriver)KDUProviderPostOpen, + (provMapDriver)KDUMapDriver, + (provControlDSE)KDUControlDSE, + + (provReadKernelVM)DI64ReadKernelVirtualMemory, + (provWriteKernelVM)DI64WriteKernelVirtualMemory, + + (provVirtualToPhysical)DI64VirtualToPhysical, + (provQueryPML4)DI64QueryPML4Value, + (provReadPhysicalMemory)DI64ReadPhysicalMemory, + (provWritePhysicalMemory)DI64WritePhysicalMemory + } + }; diff --git a/Source/Hamakaze/res/SB_SMBUS_SDK.bin b/Source/Hamakaze/res/SB_SMBUS_SDK.bin index d1488ce58d63a02a910dae77429b060a8ca8f42f..8c57fd33277111500f2d1d83acd3c33599a7d468 100644 GIT binary patch delta 21 dcmcb6p6Tv+CNBH={hmb}kCp6pY~;GU8~|+K3C92c delta 21 dcmcb6p6Tv+CNBH={hpteB)Ge5+sJi!IRJEF3W)#! diff --git a/Source/Hamakaze/res/Taigei32.bin b/Source/Hamakaze/res/Taigei32.bin index 9807c3c331865f65624899b267e4bcca3f6e9db6..079e6bf0087bf5724f70ab97a4f8484c362f1f6a 100644 GIT binary patch delta 19 bcmdldvQLD|ety5F(dS1>b~`q5nQ#FBPC^HL delta 19 acmdldvQLD|ety5_C+%E!mu(xlOt=6{F9#_A diff --git a/Source/Shared/consts.h b/Source/Shared/consts.h index 98c0fed..87b6778 100644 --- a/Source/Shared/consts.h +++ b/Source/Shared/consts.h @@ -6,7 +6,7 @@ * * VERSION: 1.27 * -* DATE: 08 Nov 2022 +* DATE: 12 Nov 2022 * * Global consts. * @@ -94,7 +94,7 @@ #define IDR_SYSDRV3S 127 #define IDR_ZEMANA 128 #define IDR_INPOUTX64 129 -#define IDR_RESERVED2 130 +#define IDR_PASSMARK_OSF 130 // // Vulnerable drivers providers id @@ -126,6 +126,7 @@ #define KDU_PROVIDER_SYSDRV3S 24 #define KDU_PROVIDER_ZEMANA 25 #define KDU_PROVIDER_INPOUTX64 26 +#define KDU_PROVIDER_PASSMARK_OSF 27 // // KDU provider flags diff --git a/Source/Tanikaze/Tanikaze.vcxproj b/Source/Tanikaze/Tanikaze.vcxproj index a5c2ed2..4cf4d31 100644 --- a/Source/Tanikaze/Tanikaze.vcxproj +++ b/Source/Tanikaze/Tanikaze.vcxproj @@ -112,7 +112,6 @@ Level3 true - true true NDEBUG;TANIKAZE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) true @@ -147,15 +146,13 @@ Level4 true - true false NDEBUG;TANIKAZE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) true $(SolutionDir);$(SolutionDir)\Shared;%(AdditionalIncludeDirectories) MultiThreaded - MinSpace - Size false + MinSpace Windows @@ -194,6 +191,7 @@ + @@ -206,6 +204,7 @@ + diff --git a/Source/Tanikaze/Tanikaze.vcxproj.filters b/Source/Tanikaze/Tanikaze.vcxproj.filters index f2fb194..2de0a77 100644 --- a/Source/Tanikaze/Tanikaze.vcxproj.filters +++ b/Source/Tanikaze/Tanikaze.vcxproj.filters @@ -130,6 +130,12 @@ Resource Files + + Resource Files + + + Resource Files + diff --git a/Source/Tanikaze/data/AsusCertService.bin b/Source/Tanikaze/data/AsusCertService.bin index 6c79c8651dd99ba98023ff57a7e33a5a401c5542..6395f87f4e48f96dcb4ca843cbc7352f4e9b129b 100644 GIT binary patch delta 27 jcmZp;$Jua?lgoa7zo*fS<4Sfr8o64z7`JjUeaiy?olgq5 delta 27 jcmZp;$Jua?lgoa7zvrSwj_xko8o64z7`JjUeaiy?o8$_W diff --git a/Source/Tanikaze/data/KMUEXE.bin b/Source/Tanikaze/data/KMUEXE.bin index 9e48a7606483cecc21a08e4b5661c456ba32a0f3..d2fbeebe74a97a94f5f03543c0e971e8fca4d4db 100644 GIT binary patch delta 24 gcmdmcj&<)jRxbPb{hp8Zom8^h(a5!xi_th80FHGEM*si- delta 24 gcmdmcj&<)jRxbPb{hm!TH@LfOYvkI>#b}%k0Ek`*(f|Me diff --git a/Source/Tanikaze/data/KMUSIG.bin b/Source/Tanikaze/data/KMUSIG.bin index 961bb40910e78e3da1221a12dc195fd0b219f98d..f10732002ac1bf8ae46660bf1c425a89de544edc 100644 GIT binary patch delta 18 acmZ3*xQda>ety5_BoA{%yB!m`761S{9tL^< delta 18 acmZ3*xQda>ety4a)65O-F54z@EdT&PUk6?Q diff --git a/Source/Tanikaze/data/dbutilcat.bin b/Source/Tanikaze/data/dbutilcat.bin index ec3760cf7c8ff5b791c59f801da8954621c14832..86219ba698294b6a4bfa300f3d262150fbaa2b3a 100644 GIT binary patch delta 19 acmcbrcU6zeety4aQi!Rd-Hwf1-r@jE2L|Q< delta 19 bcmcbrcU6zeety4a(e-`qF55P8d5Z%8R;~yv diff --git a/Source/Tanikaze/data/dbutilinf.bin b/Source/Tanikaze/data/dbutilinf.bin index 3b95df7244375c3ec52732a5fe0308d8765814e3..e2ffcff6d8ca7b2005800ad70f954f5ca6725d6f 100644 GIT binary patch delta 19 bcmX@eevqBZety3v(^(TmyB!<3wlf0&MMehT delta 19 bcmX@eevqBZety4ak=kx|mu(xlwlf0&Nh1eZ diff --git a/Source/Tanikaze/drv/ATSZIO64.bin b/Source/Tanikaze/drv/ATSZIO64.bin index 4dfc991b03c18ec9d5f6354145bd6f74f77393a5..1bf82a2fdac94714bf127b5388b2f9a2024e409a 100644 GIT binary patch delta 19 bcmewm_#u$Xety4a(S>Y9yB!<3o@oF8TxWw delta 21 dcmX@QmGS6SMlSpL{hmhY6Wv|5ZRFY=1ps6^2=V{` diff --git a/Source/Tanikaze/drv/DbUtil2_3.bin b/Source/Tanikaze/drv/DbUtil2_3.bin index a94912185e468f997cdcf44c97b001d3ebc3a434..562ba5ac5adb814ea6c076f5e324a43b7de85ef2 100644 GIT binary patch delta 19 acmZp&YqI0ApWpB4^g>F}ZpTKhA94Uj_y=tO delta 19 acmZp&YqI0ApWpAvG^NkoW!pxsA94UjNC$TS diff --git a/Source/Tanikaze/drv/DirectIo64.bin b/Source/Tanikaze/drv/DirectIo64.bin index 579ff13932281f1de116b59071aec179c6ee6254..92be35777fb7e07cc93a96a2ac6ab60480524717 100644 GIT binary patch delta 21 dcmeykhVkPXMlSpL{hmdRxr%l>Hgcth0RU&)2&@1A delta 21 dcmeykhVkPXMlSpL{hm#WF1ovH+sKt31^{p<39A4A diff --git a/Source/Tanikaze/drv/DirectIo64_2.bin b/Source/Tanikaze/drv/DirectIo64_2.bin new file mode 100644 index 0000000000000000000000000000000000000000..6fda5cb55fe2a978ab2b40437f3178af562e9b07 GIT binary patch literal 24128 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 PF<^0&V$jg37$|PKTy|Wy literal 0 HcmV?d00001 diff --git a/Source/Tanikaze/drv/EneIo64.bin b/Source/Tanikaze/drv/EneIo64.bin index cfa12e5559a900a6204afbfb74802f4da13a1575..0b5ae3a0a8fd6252b42723c4af62e1168ecbc8dd 100644 GIT binary patch delta 19 bcmccMe!-o~ety3v)7vyfyB!<3jwu5GQqTwg delta 19 bcmccMe!-o~ety5_BD<^ZF55P89a9DXSA__P diff --git a/Source/Tanikaze/drv/EneTechIo64.bin b/Source/Tanikaze/drv/EneTechIo64.bin index c38d53dfa07d16185b352e9b824e1e579c07d8ce..178a9ec39823cc61a0cf103ca925bb9e6bd84195 100644 GIT binary patch delta 19 bcmcZ~dOwuQety5_C$|bkyB!<3u4(}QTK)*C delta 19 bcmcZ~dOwuQety5_qKH@SF55P8UDW~rT{H;@ diff --git a/Source/Tanikaze/drv/GLCKIO2.bin b/Source/Tanikaze/drv/GLCKIO2.bin index 8a3b60b130e84d9d79ae7f5a08714418ab60c033..de8c37b4796f0367afd794b668d7e976e15f0bd4 100644 GIT binary patch delta 19 acmX>WbS#L=ety3v(~eq2yB!<3Y%~E-s|Q~I delta 19 bcmX>WbS#L=ety5_rpfQ!UAArHve5(pTJi{n diff --git a/Source/Tanikaze/drv/HW64.bin b/Source/Tanikaze/drv/HW64.bin index ca70e77d6ff66185f84014da18352e7d6260dd65..2a763fa61f55d20c5799677ba1235a4b096c2330 100644 GIT binary patch delta 21 ccmX@v!+5fXk;{I5zo*b!Jw>}68@cS=09_Xc@c;k- delta 21 ccmX@v!+5fXk;{I5zo(JFWOtWs8@cS=09xJ$!vFvP diff --git a/Source/Tanikaze/drv/MsIo64.bin b/Source/Tanikaze/drv/MsIo64.bin index cfb87d8513a40b1ca582b246ecb7383e1499241f..d493cb6e479002e6e7a645ef9d667dd292dfd987 100644 GIT binary patch delta 19 bcmey8`z4plety5_rGur4b~`q5y)pv;WK#)! delta 19 bcmey8`z4plety5_p$|XZUAArHdSwOxYMu&8 diff --git a/Source/Tanikaze/drv/Phymemx64.bin b/Source/Tanikaze/drv/Phymemx64.bin index 5bc5a19352aaa0371e7fe0b7cc501cccb2399bb4..994b094a7479dff5c3e8c317b49ccc569310056e 100644 GIT binary patch delta 19 bcmdm-vpI*$ety5_qW2t%b~`q5X_^55RpAH8 delta 19 bcmdm-vpI*$ety5_rCq<>UAArH(li4AUZ4o! diff --git a/Source/Tanikaze/drv/RTCore64.bin b/Source/Tanikaze/drv/RTCore64.bin index 126ef78d8199486e65c6b0fb1603b54ebd9373db..78e0e44e79c43f9d41809e0ad17aaf9f33d49016 100644 GIT binary patch delta 19 acmdmLz15n_ety4aQZBEe-Hwf1t7QR6s0SAS delta 19 bcmdmLz15n_ety5_r6nKSUAArHS}h9zSThLA diff --git a/Source/Tanikaze/drv/SysDrv3S.bin b/Source/Tanikaze/drv/SysDrv3S.bin index c792cd51c24451c005d50712e419a14edef2d801..4f33974aa658e3b7a9c2696646da19a25a2db0e4 100644 GIT binary patch delta 19 bcmaD{^tg!2ety5_p<9ZIb~`q5MOp#?UmFOF delta 19 acmaD{^tg!2ety4aP|gZ>mu(xlA}s-2IS5|> diff --git a/Source/Tanikaze/drv/WinRing0x64.bin b/Source/Tanikaze/drv/WinRing0x64.bin index bd4ae730d32a44f3aaedec2ac4d74a9493d13d63..85938dd44ac8f8a39980384e43f7c565efed91ac 100644 GIT binary patch delta 19 bcmdmLx7Cizety5_roSwTb~`q5Y0CouQ1}OS delta 19 bcmdmLx7Cizety5_r-k3$UAArH(v}ARSojEc diff --git a/Source/Tanikaze/drv/amsdk.bin b/Source/Tanikaze/drv/amsdk.bin index 300513330c2836b1e441b4334e2c80a8fff96095..9b8a10f99f170414b9960873cb517b4141db57f5 100644 GIT binary patch delta 24 gcmex)oAu{yRxbPb{ho^?l@;xFG;(d_Vtk(q0E&hR4*&oF delta 24 gcmex)oAu{yRxbPb{hm%oR=c}wYvkI>#rQrK0F@*Q3;+NC diff --git a/Source/Tanikaze/drv/asio2.bin b/Source/Tanikaze/drv/asio2.bin index f56c9f188c4ed431f6a4565ba20ca33da1a80f65..c67bc632bf715b61a1e0c204fb8f5e57f5690a5c 100644 GIT binary patch delta 21 dcmaDgjq%kqMlSpL{hpI1W+>Y2*vOUO4FG3r2+IHf delta 21 dcmaDgjq%kqMlSpL{hm$YH{D&fZRASu1^{O*2;2Yw diff --git a/Source/Tanikaze/drv/dbk64.bin b/Source/Tanikaze/drv/dbk64.bin index be6059a54260add48779e6eda42efeb9669997be..6ae97eeba649dac0c29439c8273b2bd441b2b19c 100644 GIT binary patch delta 21 dcmaDlmHFvZW-j~r{hms{L=^3IY~;Fq3IJs931R>M delta 21 dcmaDlmHFvZW-j~r{hmsjXSus<+sJkM6aZ($3CjQg diff --git a/Source/Tanikaze/drv/dbutildrv2.bin b/Source/Tanikaze/drv/dbutildrv2.bin index 3be015634e797aa911ebe2822c533965b355e5d0..1f922f96c7998e53fc7058a8c724b2957510f4dd 100644 GIT binary patch delta 19 acmeB4>q+CXpWpAvBrm9Fw__t0lQ95700rIv delta 19 acmeB4>q+CXpWp8(RMG10vTY+5lQ95Fg$CsS diff --git a/Source/Tanikaze/drv/ene2.bin b/Source/Tanikaze/drv/ene2.bin index 146aa685f22e2c6b9293b0e15631d3f6a4b2311c..4b772aae2b715910276fab1c2205aed0729c78ed 100644 GIT binary patch delta 19 bcmbOiH7|{_-F55P8iRc0VQr`#1 diff --git a/Source/Tanikaze/drv/gdrv.bin b/Source/Tanikaze/drv/gdrv.bin index 6712af9cb4cba136b23824847262836d6a78d32d..a99654ae535feb67da180ba244882bb42d584b53 100644 GIT binary patch delta 19 acmdm!x+j&(ety5FQe~B*-Hwf1n~VTauLsTm delta 19 bcmdm!x+j&(ety5_qLXjkUAArH+GGR(UONdp diff --git a/Source/Tanikaze/drv/gmerdrv.bin b/Source/Tanikaze/drv/gmerdrv.bin index 9109f6327fca91ea6a33e057efbaef8e5e848121..6841452e5d85db9bb8076bd5fee4e4c14460b3ff 100644 GIT binary patch delta 21 dcmbPxhjH#5MlSpL{hp6LvMJi_*vKWE2LNct2;l$# delta 21 dcmbPxhjH#5MlSpL{hptKI^A8iZR8Tp0|03Z2>$>8 diff --git a/Source/Tanikaze/drv/iQVM64.bin b/Source/Tanikaze/drv/iQVM64.bin index 83003d94cc8f0e12767aa45c30e85e0f90deacad..a056635ad470edba50124f653f0fd908e4fe1e6d 100644 GIT binary patch delta 21 ccmcc9!g!~Jk;{I5zo*jddPTb(8@Ym<0AD-^B>(^b delta 21 dcmcc9!g!~Jk;{I5zvm{Nhwd)hHgW|y0RUtP2(kbG diff --git a/Source/Tanikaze/drv/inpoutx64.bin b/Source/Tanikaze/drv/inpoutx64.bin index 5fe88c1ab6cf830b08288db2dc381c0ea75e1cb7..17a0772174ca54c9e7fdf1ab06a8784efafbc813 100644 GIT binary patch delta 19 bcmaE6^~{RPety5_rBg{F55P8#mE8xSN8}l diff --git a/Source/Tanikaze/drv/kprocesshacker.bin b/Source/Tanikaze/drv/kprocesshacker.bin index b809021af82822a7a7995a61461fff2b584b9455..4922f1fb816111e067111d76d13aa9fe20c60c7b 100644 GIT binary patch delta 21 dcmcaNh4J1LMlSpL{hmf29b~`q5X&3+iSHuV! delta 19 bcmdm#uqlDdety5_p=(dvUAArH(l7u3T!09* diff --git a/Source/Tanikaze/drv/mimidrv.bin b/Source/Tanikaze/drv/mimidrv.bin index a0e6bbab69a84158627f37da50fa616097e9d9b2..f80f2044f8f5d74fb28b1f94e06ae7549bfde7d8 100644 GIT binary patch delta 19 acmaD>^{k4^ety4a&?Xs0yB!<3Vr&6gu?P$R delta 19 acmaD>^{k4^ety3v6KjLJ%eIYNF}46zzz3ZG diff --git a/Source/Tanikaze/drv/procexp.bin b/Source/Tanikaze/drv/procexp.bin index b8105b6a58d3dfe705a20b3612e677c541e6b626..695c2cc7e6e76980c1799816cd426ed65d3c74e3 100644 GIT binary patch delta 21 ccmeC4$k;uRk;{I5zvm=(E=9W?8@U=i08;J;c>n+a delta 21 dcmeC4$k;uRk;{I5zvm_GzwR#EHgYw3003Ps2)Y0O diff --git a/Source/Tanikaze/drv/rtkio64.bin b/Source/Tanikaze/drv/rtkio64.bin index e54d5b9dbf90c75b37729c3f85d696beb24a22eb..f7b3df9c5ef730965a2ccae947ee2fd53861b138 100644 GIT binary patch delta 21 dcmZ2|m~r)CMlSpL{hmeU{EBuvHgYXY1OQ#R2rB>p delta 21 dcmZ2|m~r)CMlSpL{hp8VKDoPW+sL&r5ddsN3Euz! diff --git a/Source/Tanikaze/resource.h b/Source/Tanikaze/resource.h index 0224e77..ea6d1b1 100644 --- a/Source/Tanikaze/resource.h +++ b/Source/Tanikaze/resource.h @@ -29,6 +29,7 @@ #define IDR_SYSDRV3S 127 #define IDR_ZEMANA 128 #define IDR_INPOUTX64 129 +#define IDR_PASSMARK_OSF 130 #define IDR_DATA_DBUTILCAT 1000 #define IDR_DATA_DBUTILINF 1001 #define IDR_DATA_KMUEXE 1002 diff --git a/Source/Tanikaze/resource.rc b/Source/Tanikaze/resource.rc index 87530f8..dde9643 100644 --- a/Source/Tanikaze/resource.rc +++ b/Source/Tanikaze/resource.rc @@ -114,6 +114,8 @@ IDR_ZEMANA RCDATA "drv\\amsdk.bin" IDR_INPOUTX64 RCDATA "drv\\inpoutx64.bin" +IDR_PASSMARK_OSF RCDATA "drv\\DirectIo64_2.bin" + ///////////////////////////////////////////////////////////////////////////// // diff --git a/Source/Tanikaze/tanikaze.h b/Source/Tanikaze/tanikaze.h index 9531a5e..c855301 100644 --- a/Source/Tanikaze/tanikaze.h +++ b/Source/Tanikaze/tanikaze.h @@ -6,7 +6,7 @@ * * VERSION: 1.10 * -* DATE: 08 Nov 2022 +* DATE: 11 Nov 2022 * * Tanikaze helper dll (part of KDU project). * @@ -403,6 +403,19 @@ KDU_DB_ENTRY gProvEntry[] = { (LPWSTR)L"Red Fox UK Limited", }, + { + KDU_MIN_NTBUILDNUMBER, + KDU_MAX_NTBUILDNUMBER, + IDR_PASSMARK_OSF, + KDU_PROVIDER_PASSMARK_OSF, + SourceBaseNone, + KDUPROV_FLAGS_SIGNATURE_WHQL | KDUPROV_FLAGS_PML4_FROM_LOWSTUB, + KDUPROV_SC_ALL_DEFAULT, + (LPWSTR)L"PassMark OSForensics DirectIO", + (LPWSTR)L"DirectIo64", + (LPWSTR)L"DIRECTIO64", + (LPWSTR)L"PassMark Software Pty Ltd", + } }; #if defined(__cplusplus)