首页
社区
课程
招聘
[求助]ssdt hook API造成驱动启动失败是什么原因
发表于: 2010-5-24 18:18 6076

[求助]ssdt hook API造成驱动启动失败是什么原因

2010-5-24 18:18
6076
ssdt hook 以下API 开始显示编译显示如下:
1>d:\work\driver\hookssdt\hookssdt.obj : error LNK2019: unresolved e
xternal symbol __imp__ZwSuspendProcess@4 referenced in function _Unhook@0
1>d:\work\driver\hookssdt\hookssdt.obj : error LNK2019: unresolved e
xternal symbol __imp__ZwTerminateThread@8 referenced in function _UnhookSystemSe
rviceCall@0
1>d:\work\driver\hookssdt\hookssdt.sys : error LNK1120: 2 unresolved ext
ernals

然后在 SOURCE 里面文件 加了这句 $(DDK_LIB_PATH)\ntdll.lib  可以编译成功了。但是启动驱动失败,不知为什么还请各位大牛看看。
TARGETNAME=hookssdt
TARGETPATH=../
TARGETTYPE=DRIVER

INCLUDES=.
TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib \
                     $(DDK_LIB_PATH)\ntdll.lib

SOURCES= HookSSDT.c


当我把以下这两个API代码注释了,就可以编译成功。也可以正常启动
ZwSuspendProcess
ZwTerminateThread

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 66
活跃值: (835)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
问题已解决,以上两个都是未导出API
2010-5-24 19:08
0
雪    币: 258
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
未导出的api需要声明
2010-5-24 20:26
0
雪    币: 66
活跃值: (835)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我已经定义了。不知道未导出的api 和导出API的定义有什么区别 求解啊
2010-5-24 23:57
0
雪    币: 133
活跃值: (587)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
ntdll.lib  里面是ring3下的函数  你的驱动导入表中要导入ring3的函数当然加载不成功
2010-5-27 12:59
0
雪    币: 612
活跃值: (961)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
导出的你声明下就可以直接调用了,未导出的你就只能自己去找它的函数地址后调用..
2010-5-28 01:11
0
游客
登录 | 注册 方可回帖
返回
//