看到hopy大大写的用gcc创建NT下的dll,想到好多人不习惯用Linux下的那东西,今天偶就仍块砖头。用vc和EasySYS创建windows NT下的内核DLL和LIB库。(偶的宗旨:简单的才是最好的,能不花钱解决的才是最牛的!)
(一)创建内核dll
用vc创建NT下的内核dll注意以下几点:
用EasySYS生成工程后在工程目录下会有一个文件名为sources的文件,用记事本打开修改一下
,内容如下:
TARGETNAME=NTOS
TARGETTYPE=EXPORT_DRIVER
TARGETPATH=bin
DLLDEF=NTOS.def
INCLUDES=.\
SOURCES = NTOS.c\

主要改动是把TARGETTYPE改为EXPORT_DRIVER,然后自己创建一个*.def文件,文件中写要导出的函数的名字,如下:
EXPORTS
  DllInitialize PRIVATE
  DllUnload PRIVATE
 _NtReadVirtualMemory
 _NtWriteVirtualMemory
注意,DllInitialize  DllUnload 后面必须加PRIVATE,这两个函数,在dll加载和卸载的时候会分别调用。

(二)创建内核lib
lib很有用,把你常用的函数做成lib以后可以少很多工作。生成lib其实很简单.

主要改动是把TARGETTYPE改为DRIVER_LIBRARY
很简单吧!下面附上例子源码

注意,工程路径不能有空格,如果编译出错请添加如下环境变量:WNETBASE = DDK目录。

上传的附件 NT_DLL.rar
NT_LIB.rar