hfiref0x / TDL

Driver loader for bypassing Windows x64 Driver Signature Enforcement
BSD 2-Clause "Simplified" License
1.05k stars 332 forks source link

When creating a "driverless" driver from a new project the entry point should be GsDriverEntry instead of DriverEntry on Windows 10 #5

Closed traplol closed 8 years ago

traplol commented 8 years ago

I was unable to get TDL to load my "driverless" driver when creating my driver from the "Empty WDM Driver" template in VS2015.2 until I started poking around the linker properties of the example projects. I noticed the default value for Configuration Properties -> Linker -> Advanced -> Entry Point is GsDriverEntry, after changing that to DriverEntry or making this change in my code:

NTSTATUS DriverEntry(...) { ... }

to

NTSTATUS GsDriverEntry(...) { ... }

I had no problems getting TDL to load my driver. I suggest mentioning this in the README.md.

OS: Windows 10 Pro x64 Version: 10.0.10586 Build 10586 VS2015 Version: 14.0.25123.00 Update 2 Windows Driver Kit: 10.0.10586.0

hfiref0x commented 8 years ago

TDL launched drivers are not using /GS, you don't need any GsDriverEntry nor WDM templates. You have 2 driver examples on which you MUST relly.

traplol commented 8 years ago

You're not wrong, but there should be more documentation about what a "driverless" driver is then and it shouldn't be required to use an existing project as a base. Anyways using /GS- isn't enough to get an empty driver to load with TDL but changing the entry point is

hfiref0x commented 8 years ago

This tool considers you are know / familar with what it is doing. It is self-explaining and not for newbies. Driversless rootkits is common trend of malware in 2007-2012, it is not my problem you(somebody else) never heard about them.