能力值:
( LV4,RANK:50 )
|
-
-
2 楼
#
# FuckNp for Windows NT Makefile
#
OBJECTS = fucknp.o modules.o ntoskrnl.o hook.o
CROSS_PREFIX=
TARGET = fucknp.sys
CFLAGS = -O2 -I.
all: $(OBJECTS) $(TARGET)
clean:
rm -f *.o $(TARGET)
%.o: %.c
$(CROSS_PREFIX)gcc $(CFLAGS) -c $< -o $@
%.coff: %.rc
$(CROSS_PREFIX)windres -i $< -o $@
%.a: %.def
$(CROSS_PREFIX)dlltool -d $< -l $@ --kill-at
$(TARGET): $(OBJECTS)
$(CROSS_PREFIX)gcc -Wl,--base-file,base.tmp -Wl,--entry,_DriverEntry@8 \
-nostartfiles -nostdlib -o junk.tmp $(OBJECTS) -lntoskrnl -lhal
rm junk.tmp
$(CROSS_PREFIX)dlltool --as=as --dllname $(TARGET) --base-file base.tmp \
--output-exp temp.exp
rm base.tmp
$(CROSS_PREFIX)gcc -Wl,--subsystem,native -Wl,--image-base,0x10000 \
-Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 \
-Wl,--entry,_DriverEntry@8 -Wl,--stack,0x40000 -Wl,temp.exp \
-mdll -nostartfiles -nostdlib -o $(TARGET) \
$(OBJECTS) -lntoskrnl -lhal
rm temp.exp
rm *.o
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
这是我的一个MAKEFILE。请更改:
OBJECTS = fucknp.o modules.o ntoskrnl.o hook.o
这一行为你的模块名
你也可以在 ReactOS工程源代码中找到更方便的编译环境和DDK!
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
学习了
有没有现成的工程,让我们菜鸟学一下,从来没有用过gcc编过驱动啊
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
我不太习惯用makefile
我已经找到解决方法了
入口函数的声明
extern "C" __declspec (dllexport) NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath);
编译文件
gcc -c Main.cpp
ld Main.o --subsystem=native -s -o Main.sys
编译出来的文件可以加载成功,也可以看到DbgPrint的信息
但是StartService不返回。。
|
|
|