1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Сборка драйвера из нескольких объектных файлов.

Тема в разделе "WASM.NT.KERNEL", создана пользователем Sholar, 6 фев 2012.

  1. Sholar

    Sholar New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2011
    Сообщения:
    189
    Вобщем сабж. Я и так очень неуверенно чувствовал себя при создании этих makefile`ов и т.д, а тут еше все автоматически происходит и проходит через хз какие файлы. Есть файл drivec.c, где содержится основной код дрова. По тутору из интернета создал такой MAKEFILE:
    Код (Text):
    1. INCLUDE $(NTMAKEENV)\makefile.def
    И такой SOURCES
    Код (Text):
    1. TARGETNAME=driver
    2. TARGETPATH=obj
    3. TARGETTYPE=DRIVER
    4.  
    5. SOURCES=driver.c
    Выполняю команду build, все ОК. Драйвер собирается. Есть объектный файл(file.obj), экспортирующий некоторые нужные мне функции, как собрать драйвер с линковкой этого файла?
     
  2. Charlief

    Charlief New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2010
    Сообщения:
    129
    Код (Text):
    1. TARGETNAME=MyDriver
    2. TARGETTYPE=DRIVER
    3.  
    4. TARGETLIBS=C:\WinDDK\7600.16385.1\lib\wxp\i386\ntoskrnl.lib \
    5.  
    6.                   C:\nasm\Program\Myfunc1.obj  \
    7.                   C:\nasm\Program\Myfunc2.obj \
    8.            
    9. SOURCES=stdafx.cpp \
    10.     MyDriver.cpp
    11.    
    12. 386_OPTIMIZATION=/Oxs
    Код (Text):
    1. #ifdef __cplusplus
    2.  
    3. extern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING  RegistryPath);
    4.  
    5. //----   функции импортируемые из обектных файлов  ---------------------
    6. extern "C" ULONG __stdcall Myfunction1(PVOID);
    7.  
    8. extern "C" ULONG __stdcall Myfunction2(void);
    9. //--------------------------------------------------------------------------
    10.  
    11. extern "C" PULONG NtBuildNumber;
    12.  
    13. extern "C" PULONG KeServiceDescriptorTable;
    14.  
    15. #endif
     
  3. Sholar

    Sholar New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2011
    Сообщения:
    189