All Projects → hfiref0x → Tdl

hfiref0x / Tdl

Licence: bsd-2-clause
Driver loader for bypassing Windows x64 Driver Signature Enforcement

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Tdl

Dsefix
Windows x64 Driver Signature Enforcement Overrider
Stars: ✭ 448 (-45.03%)
Mutual labels:  loader
React Native Svg Transformer
Import SVG files in your React Native project the same way that you would in a Web application.
Stars: ✭ 568 (-30.31%)
Mutual labels:  loader
Open C Book
开源书籍:《C语言编程透视》,配套视频课程《360° 剖析 Linux ELF》已上线,视频讲解更为系统和深入,欢迎订阅:https://www.cctalk.com/m/group/88089283
Stars: ✭ 715 (-12.27%)
Mutual labels:  loader
Pure64
Pure64 is a software loader that was initially created for BareMetal OS. The loader sets the computer into a full 64-bit state with no legacy compatibility layers and also enables all available CPU Cores in the computer.
Stars: ✭ 466 (-42.82%)
Mutual labels:  loader
React Imported Component
✂️📦Bundler-independent solution for SSR-friendly code-splitting
Stars: ✭ 525 (-35.58%)
Mutual labels:  loader
Front End Daily Challenges
As of October 2020, 170+ works have been accomplished, challenge yourself each day!
Stars: ✭ 598 (-26.63%)
Mutual labels:  loader
Phaser Ce Npm Webpack Typescript Starter Project
Project to get you started with your Phaser-CE (using the npm module) game using Typescript and Webpack for building! No hassle asset management, Google Web Font loader, live server, development vs distribution build pipeline, Electron packaging for desktop builds, and more...
Stars: ✭ 414 (-49.2%)
Mutual labels:  loader
Vue Loading Overlay
Vue.js component for full screen loading indicator 🌀
Stars: ✭ 784 (-3.8%)
Mutual labels:  loader
Imaginary
🦄 Remote images, as easy as one, two, three.
Stars: ✭ 557 (-31.66%)
Mutual labels:  loader
Content Loader
⚪️ SVG component to create placeholder loading, like Facebook cards loading.
Stars: ✭ 655 (-19.63%)
Mutual labels:  loader
Inject Loader
💉📦 A Webpack loader for injecting code into modules via their dependencies.
Stars: ✭ 474 (-41.84%)
Mutual labels:  loader
Angular Hmr
🔥 Angular Hot Module Replacement for Hot Module Reloading
Stars: ✭ 490 (-39.88%)
Mutual labels:  loader
Wasm Loader
✨ WASM webpack loader
Stars: ✭ 604 (-25.89%)
Mutual labels:  loader
Kdu
Kernel Driver Utility
Stars: ✭ 453 (-44.42%)
Mutual labels:  loader
Spinkit Objc
UIKit port of SpinKit
Stars: ✭ 743 (-8.83%)
Mutual labels:  loader
Fuse Box
A blazing fast js bundler/loader with a comprehensive API 🔥
Stars: ✭ 4,055 (+397.55%)
Mutual labels:  loader
Skeleton
💀 An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content.
Stars: ✭ 587 (-27.98%)
Mutual labels:  loader
Statefullayout
Android layout to show template for loading, empty, error etc. states
Stars: ✭ 813 (-0.25%)
Mutual labels:  loader
Whirl
CSS loading animations with minimal effort!
Stars: ✭ 774 (-5.03%)
Mutual labels:  loader
Vboxhardenedloader
VirtualBox VM detection mitigation loader
Stars: ✭ 641 (-21.35%)
Mutual labels:  loader

TDL (Turla Driver Loader)

Driver loader for bypassing Windows x64 Driver Signature Enforcement

For more info see

System Requirements and limitations

  • x64 Windows 7/8/8.1/10.
  • TDL designed only for x64 Windows, Vista not listed as supported because it is obsolete.
  • Administrative privilege is required.
  • Loaded drivers MUST BE specially designed to run as "driverless".
  • No SEH support for target drivers.
  • No driver unloading.
  • Only ntoskrnl import resolved, everything else is up to you.
  • Dummy driver examples provided.

You use it at your own risk. Some lazy AV may flag this loader as malware.

Differences between DSEFix and TDL

While both DSEFix and TDL uses advantage of driver exploit they completely different on way of it use.

  • DSEFix manipulate kernel variable called g_CiEnabled (Vista/7, ntoskrnl.exe) and/or g_CiOptions (8+. CI.DLL). Main advantage of DSEFix is it simplicity - you turn DSE off - load your driver (or patched one) and nothing else required. Main disadvantage of DSEFix is that on the modern version of Windows (8+) g_CiOptions variable is subject of PatchGuard (KPP) protection, which mean DSEFix is a potential BSOD-generator.
  • TDL does not patch any kernel variables, which makes it friendly to PatchGuard. It uses small shellcode which maps your driver to kernel mode without involving Windows loader (and as result without triggering any parts of DSE) and executes it. This is main advantage of TDL - non invasive bypass of DSE. There are many disadvantages however - the first and main -> your driver MUST BE specially created to run as "driverless" which mean you will be unable to load any driver but only specially designed. Your driver will exist in kernel mode as executable code buffer, it won't be linked to PsLoadedModuleList, there will be other limitations. However this code will work at kernel mode and user mode application will be able communicate with it. You can load multiple drivers, of course if they are not conflict with each other.

How it work

It uses WinNT/Turla VirtualBox kernel mode exploit technique to write code to the kernel memory and after execute this code. TDL uses custom bootstrap shellcode to map your specially designed driver and call it entry point (DriverEntry), note that DriverEntry parameters will be invalid and must not be used. Examples of specially designed drivers available as DummyDrv and DummyDrv2. Your DriverEntry will run at IRQL PASSIVE_LEVEL up to Windows 10 RS1. Starting from Windows 10 RS2 your DriverEntry code runs on IRQL DISPATCH_LEVEL.

Build

TDL comes with full source code. In order to build from source you need Microsoft Visual Studio 2015 U1 and later versions. For driver builds you need Microsoft Windows Driver Kit 8.1 and/or above.

Instructions

  • Select Platform ToolSet first for project in solution you want to build (Project->Properties->General):
    • v120 for Visual Studio 2013;
    • v140 for Visual Studio 2015;
    • v141 for Visual Studio 2017.
  • For v140 and above set Target Platform Version (Project->Properties->General):
    • If v140 then select 8.1 (Note that Windows 8.1 SDK must be installed);
    • If v141 then select 10.0.17763.0 (Note that Windows 10.0.17763 SDK must be installed).

Remove linker option /NOCOFFGRPINFO where it unsupported/unavailable.

Deprecation

TDL based on old Oracle VirtualBox driver which was created in 2008. This driver wasn't designed to be compatible with newest Windows operation system versions and may work incorrectly. Because TDL entirely based on this exact VirtualBox driver version LPE it is not wise to use it on newest version of Windows. Consider this repository as depricated/abandonware. The only possible updates can be related only to TDL loader itself.

Authors

(c) 2016 - 2019 TDL Project

Credits

  • R136a1
  • N. Rin
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].