首页
社区
课程
招聘
[原创]未文档化的函数怎么调用?附带一个IDT的问题。
2008-10-1 16:07 4361

[原创]未文档化的函数怎么调用?附带一个IDT的问题。

2008-10-1 16:07
4361
RT
比如NtDelayExecution之类的。
看到网上的代码都是直接来,没包含什么.h文件(省略了?)

Ring0下有没有类似SetThreadAffinityMask之类的函数?
想Hook IDT,但是多处理器不会弄
(这个问题在combojiang大牛的帖子里回复过了,怕看不见,算重复发贴吗?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
EndlessCrash 2008-10-1 16:21
2
0
再补上1个问题
驱动的在DriverEntry里面的时候是运行在PASSIVE_LEVEL?
NtDelayExecution执行的时候是系统干等着还是找其他的线程玩玩?
KeWaitForSingleObject呢?
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
EndlessCrash 2008-10-1 16:46
3
0
晕,自己解决了

分享一下方法,Driver新手就看看吧,大牛飘过就可以了

我用的DriverStudio3.2+VC6.0,用DriverWizard生成的驱动模板。

1、直接在.c文件里加入
extern "C" NTSTATUS NtDelayExecution(IN BOOLEAN bAlertable, IN PLARGE_INTEGER DelayInterval); //很不标准,谁有标准的贴上来吧,嘿嘿

2、打开工程目录里的SOURCE文件,在TARGETLIBS= 这一行后面加上 $(DDK_LIB_PATH)\ntdll.lib

再BUILD就行了
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
EndlessCrash 2008-10-1 20:55
4
0
TMD,我找了1天,各种方法都看到过,最后竟然找到了KeSetAffinityThread
那些大牛用DPC干什么啊

我上面写的那个是错的 ,应该用KeDelayExecutionThread或者KeStallExecutionProcessor。上面的是把NTDLL.DLL链接进去了,这是Ring3的家伙(我记得好像Ring0可以调用啊,大牛出来答疑一下)
游客
登录 | 注册 方可回帖
返回