首页
论坛
专栏
课程

[原创]使用VC创建 Windows NT 下的内核DLL 和 LIB

2009-12-3 19:29 7425
wtxpwh
1

[原创]使用VC创建 Windows NT 下的内核DLL 和 LIB

2009-12-3 19:29
7425
看到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目录。

[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

上传的附件:
上一主题 下一主题
最新回复 (8)
sudami 25 2009-12-4 02:38
2
0
老毛子早就写过. 微点一直在使用. 楼主落后了.
轩辕小聪 7 2009-12-4 02:49
3
0
瑞星的Hookhelp.sys也是内核DLL……
wtxpwh 1 2009-12-4 04:33
4
0
恩,老毛子是写过,好像在哪里看到过。写这个帖子主要是方便偶等菜鸟日后查找。
jerrynpc 2009-12-5 22:21
5
0
wtxpwh跑这里研究这东西来啦?
顶了~
microdebug 6 2009-12-7 10:12
6
0
我不知道,看来知识还是需要普及的
wpclub 2010-1-22 18:02
7
0
MARK
sisess 1 2010-2-14 12:38
8
0
不错 一点都不落后 发出来就好
wkaka 2010-2-22 22:09
9
0
一点不落后,多谢LZ的文章.
游客
登录 | 注册 方可回帖
返回