首页
社区
课程
招聘
[求助]驱动中如何sleep?
发表于: 2012-4-9 23:29 10243

[求助]驱动中如何sleep?

2012-4-9 23:29
10243
RT

根据天书夜读上的代码,照葫芦画瓢写了一段。运行后没效果啊。

太菜了,不解。不知大牛们能否指点一二?

[COLOR="Sienna"]#include[/COLOR] "ntddk.h"

[COLOR="Sienna"]#define[/COLOR] DELAY_ONE_MICROSECOND (-10)
[COLOR="Sienna"]#define[/COLOR] DELAY_ONE_MILLISECOND (DELAY_ONE_MICROSECOND*1000)

static KEVENT s_event;

[COLOR="Navy"]void [/COLOR] MyThreadProc(PVOID context)
{
	LARGE_INTEGER My_interval;
	My_interval.QuadPart = DELAY_ONE_MILLISECOND;
	[COLOR="SeaGreen"]// 睡眠12秒[/COLOR]
	My_interval.QuadPart *= 12;
	KeDelayExecutionThread(KernelMode, 0, &My_interval);
	
	KdPrint(("fuck you"));
	
	KeSetEvent(&s_event);
	PsTerminateSystemThread(STATUS_SUCCESS);
}


[COLOR="Navy"]NTSTATUS [/COLOR] DriverEntry (
			IN PDRIVER_OBJECT pDriverObject,
			IN PUNICODE_STRING pRegistryPath	)
{
	
	HANDLE thread = NULL;
	NTSTATUS status;
	status = PsCreateSystemThread(&thread,0L,NULL,NULL,NULL,MyThreadProc,NULL);
	
	ZwClose(thread);
	KeWaitForSingleObject(&s_event,Executive,KernelMode,0,0);
	
	[COLOR="Navy"]return [/COLOR]status;
}

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
2
#define DELAY_ONE_MICROSECOND         ( -10 )
#define DELAY_ONE_MILLISECOND        ( DELAY_ONE_MICROSECOND * 1000 )

// 使得当前线程睡眠
VOID KeSleep( IN LONG lSeccond )
{
        LARGE_INTEGER my_interval;
        my_interval.QuadPart = DELAY_ONE_MILLISECOND;
        my_interval.QuadPart *= lSeccond;
        KeDelayExecutionThread( KernelMode, 0, &my_interval );
}
2012-4-10 00:10
1
雪    币: 203
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
izc
3
THX!看来是我用法没搞清楚,晕。菜到家了。
2012-4-10 00:39
0
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
4
淡定,不懂的时候多搜搜reactos等内核源吗,,驱动没想象中那么难的,
2012-4-10 08:58
0
雪    币: 2271
活跃值: (2160)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
5
膜拜大牛。
2012-4-10 09:44
0
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
6
呵呵,个人看法哈,
小灰灰
2012-4-10 12:21
0
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
7
也可以去逆下别人的驱动,
如果是初学者呢,逆qq管家的比较好,因为qq管家的比较直白
2012-4-10 12:25
0
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
8
360的驱动耦合度太高,乱七八糟的,建议受虐的同学去看看,
2012-4-10 12:25
0
雪    币: 203
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
izc
9
  多谢前辈指点,回头逆逆看~
2012-4-10 16:31
0
游客
登录 | 注册 方可回帖
返回
//