Компилю драйвер через консоль DDK Код (Text): #include "ntddk.h" #pragma comment(linker,"/Entry:DriverEntry") NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath ) { return STATUS_DEVICE_CONFIGURATION_ERROR; } В иде стартовой процедурой идет Код (Text): public GsDriverEntry INIT:00014005 GsDriverEntry proc near INIT:00014005 mov edi, edi INIT:00014007 push ebp INIT:00014008 mov ebp, esp INIT:0001400A mov eax, __security_cookie INIT:0001400F test eax, eax INIT:00014011 mov ecx, 0BB40h INIT:00014016 jz short loc_1401C INIT:00014018 cmp eax, ecx INIT:0001401A jnz short loc_1403F INIT:0001401C INIT:0001401C loc_1401C: ; CODE XREF: GsDriverEntry+11j INIT:0001401C mov edx, ds:KeTickCount INIT:00014022 mov eax, offset __security_cookie INIT:00014027 shr eax, 8 INIT:0001402A xor eax, [edx] INIT:0001402C and eax, 0FFFFh INIT:00014031 mov __security_cookie, eax INIT:00014036 jnz short loc_1403F INIT:00014038 mov eax, ecx INIT:0001403A mov __security_cookie, eax INIT:0001403F INIT:0001403F loc_1403F: ; CODE XREF: GsDriverEntry+15j INIT:0001403F ; GsDriverEntry+31j INIT:0001403F not eax INIT:00014041 mov __security_cookie_complement, eax INIT:00014046 pop ebp INIT:00014047 jmp DriverEntry INIT:00014047 GsDriverEntry endp Как сделать DriverEntry стартовой?
она и так стартовая (там jmp внизу а не call :P), просто компилер фигачит туда проверку на переполнение стека, отключается это командой BUFFER_OVERFLOW_CHECKS=0 в файле sources