首页
社区
课程
招聘
[原创]使用VC创建 Windows NT 下的内核DLL 和 LIB
发表于: 2009-12-3 19:29 9988

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

2009-12-3 19:29
9988

看到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目录。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (8)
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
2
老毛子早就写过. 微点一直在使用. 楼主落后了.
2009-12-4 02:38
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
3
瑞星的Hookhelp.sys也是内核DLL……
2009-12-4 02:49
0
雪    币: 48
活跃值: (496)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
恩,老毛子是写过,好像在哪里看到过。写这个帖子主要是方便偶等菜鸟日后查找。
2009-12-4 04:33
0
雪    币: 284
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
wtxpwh跑这里研究这东西来啦?
顶了~
2009-12-5 22:21
0
雪    币: 392
活跃值: (89)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
6
我不知道,看来知识还是需要普及的
2009-12-7 10:12
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
MARK
2010-1-22 18:02
0
雪    币: 8188
活跃值: (3856)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
不错 一点都不落后 发出来就好
2010-2-14 12:38
0
雪    币: 135
活跃值: (76)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
一点不落后,多谢LZ的文章.
2010-2-22 22:09
0
游客
登录 | 注册 方可回帖
返回
//