Даешь драйвер без DDK

Тема в разделе "WASM.BEGINNERS", создана пользователем Pinkbyte, 26 окт 2006.

  1. Pinkbyte

    Pinkbyte Member

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    106
    Собственно в программирование на ассемблере я не новичок(хотя и до уверенного в себе кодера мне топать и топать). Однако эту тему написал в BEGINNERS, ибо вопрос ламерский(имхо).

    Дано: кодер-ламер в Ring-0(то есть я) без DDK(достать никак, скачать тоже - ссылки есть, инета мало) + MASM32
    Задача: написать ДРАЙВЕР(именно драйвер) который будет делать что-нить ламерское(а ля hello world). Но тут для меня главное не цель, а средства, то есть ЧТО нужно иметь(если нету DDK) чтобы написать хотя бы какой-нибудь драйвер, запустить его ну и выгрузить собственно... Под вопросом ЧТО я понимаю как Soft так и различные хелпы, туториалы, маны, доки и прочее... Кто готов учить ламера?

    P. S. Я прекрасно понимаю трогательную любовь форумцев в google.com и прочим поисковикам. Так вот - там я был... Почти ничего полезного не нашел... Так что послать меня можно только на {self censored}, но никак не в гугл... :lol:
     
  2. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Скачай kmdkit тут на сайте. Больше ничего не надо. Кроме, естественно, компилятора и блокнота.
     
  3. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    http://www.wasm.ru/author.php?author=Four-F
    http://www.wasm.ru/baixado.php?mode=tool&id=221
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Может послать тебя на wasm.ru? :)
    KmdKit. Но без справочника далеко не уедешь.
     
  5. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    достаточно только фасма и KmdManager.exe чтоб загрузить драйвер

    сохранить как hello.bat, компилировать двойным кликом по bat файлу :)

    Код (Text):
    1. ;@echo off
    2. ;goto make
    3.  
    4. format PE native 4.0 at 10000h
    5. entry DriverEntry
    6.  
    7. include '%fasminc%\MACRO\PROC32.INC'
    8.  
    9. STATUS_UNSUCCESSFUL        = 0C0000001h
    10.  
    11. section '.text' code readable executable notpageable
    12.  
    13. DriverEntry:  ; pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING
    14. ;    int3
    15.     cinvoke DbgPrint, sz
    16.  
    17.     mov eax, STATUS_UNSUCCESSFUL  ; драйвер будет сразу выгружен
    18.     retn 2*4
    19.  
    20. section '.rdata' data readable notpageable
    21.  
    22. ntoskrnl_import_address_table:
    23.     DbgPrint dd rva _DbgPrint
    24.     dd 0
    25.  
    26. ; section '.data' data readable writeable notpageable
    27.  
    28. sz db "Hello, World!",0Dh,0Ah,0
    29.  
    30. section 'INIT' import code readable writeable executable discardable
    31.  
    32.     dd rva ntoskrnl_import_lookup_table,0,0,rva ntoskrnl_name,rva ntoskrnl_import_address_table
    33.     dd 0,0,0,0,0
    34.  
    35. ntoskrnl_import_lookup_table:
    36.     dd rva _DbgPrint
    37.     dd 0
    38.  
    39. _DbgPrint dw 0
    40.     db 'DbgPrint',0
    41.  
    42. ntoskrnl_name db "ntoskrnl.exe",0
    43.  
    44. section '.reloc' data fixups readable discardable
    45.  
    46.  
    47. ;:make
    48. ;SET PROJECTNAME=hello
    49. ;if exist %PROJECTNAME%.sys del %PROJECTNAME%.sys
    50. ;C:\Fasm\fasm.exe %PROJECTNAME%.bat
    51. ;pause
    52. ;cls
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Соответственно KmdTut тоде качать не лишним будет =)