реально сохраняй сорец в bat файл под именем mydriver.bat, ставь fasm, компиляй и запускай с помощью проги из KmdKit by Four-F, там же найдешь все необходимое для написания более сложных драйверов Код (Text): ;@echo off ;goto make format PE native 4.0 at 10000h entry DriverEntry include '%fasminc%\MACRO\PROC32.INC' STATUS_UNSUCCESSFUL = 0C0000001h section '.text' code readable executable notpageable DriverEntry: ; pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING ; int3 cinvoke DbgPrint, sz mov eax, STATUS_UNSUCCESSFUL ; драйвер будет сразу выгружен retn 2*4 section '.rdata' data readable notpageable ntoskrnl_import_address_table: DbgPrint dd rva _DbgPrint dd 0 ; section '.data' data readable writeable notpageable sz db "Entered the Driver Entry",0Dh,0Ah,0 section 'INIT' import code readable writeable executable discardable dd rva ntoskrnl_import_lookup_table,0,0,rva ntoskrnl_name,rva ntoskrnl_import_address_table dd 0,0,0,0,0 ntoskrnl_import_lookup_table: dd rva _DbgPrint dd 0 _DbgPrint dw 0 db 'DbgPrint',0 ntoskrnl_name db "ntoskrnl.exe",0 section '.reloc' data fixups readable discardable ;:make ;SET PROJECTNAME=mydriver ;if exist %PROJECTNAME%.sys del %PROJECTNAME%.sys ;C:\Fasm\fasm.exe %PROJECTNAME%.bat ;pause ;cls
KmdKit by Four-F был написан с помощью masm, поэтому проще поставить masm и использовать его, а не fasm. Все примеры в KmdKit в синтаксисе masm'a, не надо будет переводить на fasm.
гм ... кмдкит - тот же ддк , тока в ассемблере ... что делает его гораздо проще чем на с. ддк - тот же ддкит ... однако. ... гм .. а как собирются писать дровину не использую нативного апи и структур ? ... со смещением по наитию о обращением по точкам входа ? ... круто. надеюсь тож дорасти до такого уровня.
Дело в том что есть устройство подключенное к COM порту (Win XP). Оно как-то взаимодействует с программой пользовательского режима. Необходимо узнать какие данные передаются устройству (если передаются) и какие данные устройство предает в порт (если передает), т.е. нужно проследить всю активность COM порта связанную с этим устройством. Возможно для "устройства" существует дополнительный драйвер. Я так понимаю что с пользовательского уровня реализовать такое не получится?
Так тебе просто нужно снять ЛОГ с порта и делов. Да вот потом разобраться с этим ЛОГОМ. Я делал так. Вешаешь еще два СОМ порта на ПРИЕМ и ПЕРЕДАЧУ запускаешь любой терминал, но лучше который НЕХ держит. И пишеш все в файл, да и время прихода нужно контролить, да еще желательно бы синхронизировать время ПРИЕМА и ПЕРЕДАЧИ.
Долгое время ломал голову где достать Windows DDK, а тут пожалуйста все что нужно чтобы написать драйвер да еще на асме. А после прочтения KmdTut (http://www.wasm.ru/docs/1/kmdtut.zip) все стало совсем ясно. Оказалось написать драйвер не так и сложно. Огромное спасибо ! ! ! ! !