好友
阅读权限10
听众
最后登录1970-1-1
|
谈笑人生
发表于 2018-10-18 09:30
最近由于工作太忙 没有来得及更新 不好意识了 今天把学习心得及代码共享
52破解有你更精彩
#include<ntddk.h>
VOID ontime(
_In_ struct _DEVICE_OBJECT *DeviceObject,
_In_opt_ PVOID Context
)
{
KdPrint(("ontime:"));
}
NTSTATUS CreateDevice(PDRIVER_OBJECT pDriverObject)
{
NTSTATUS Status;
PDEVICE_OBJECT pdevobj;
UNICODE_STRING usdevname;
UNICODE_STRING usSyvname;
RtlInitUnicodeString(&usdevname,L"\\Device\\FirstDevice"); //函数 2个参数
///驱动中调用此函数来创建设备对象。
Status=IoCreateDevice(pDriverObject,0,&usdevname,FILE_DEVICE_UNKNOWN,FILE_DEVICE_SECURE_OPEN,TRUE,&pdevobj);
if (!NT_SUCCESS(Status))
{
return Status;
}
pdevobj->Flags |= DO_BUFFERED_IO;
RtlInitUnicodeString(&usSyvname, L"\\??\\FirstDevice");
Status=IoCreateSymbolicLink(&usSyvname,&usdevname); //IO参数 自己 百度下
if (!NT_SUCCESS(Status))
{
IoDeleteDevice(pdevobj);
return Status;
}
return STATUS_SUCCESS;
}
VOID CreatIOetime(PDEVICE_OBJECT pDriverObject)
{
NTSTATUS star;
star= IoInitializeTimer(pDriverObject, ontime,NULL);
if (NT_SUCCESS(star))
{
KdPrint(("ok: %X %X",star, pDriverObject->DriverObject));
IoStartTimer(pDriverObject);
return;
}
KdPrint(("cuowu: %X",star));
}
VOID delIOetime(PDEVICE_OBJECT pDriverObject)
{
IoStopTimer(pDriverObject);
}
VOID MyUnload(PDRIVER_OBJECT pDriverObject) //卸载驱动 格式 都是死的
{
UNICODE_STRING usSyvname;
RtlInitUnicodeString(&usSyvname, L"\\??\\FirstDevice");
if (pDriverObject->DeviceObject!= NULL)
{
delIOetime(pDriverObject->DeviceObject);
IoDeleteDevice(pDriverObject->DeviceObject);
IoDeleteSymbolicLink(&usSyvname);
KdPrint(("驱动卸载成功"));
return;
}
///卸载历程
/*DbgPrint("1111111");*/
KdPrint(("驱动卸载失败"));
}
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING Reg_Path) //加载 驱动格式 都是死的
{
NTSTATUS status;
///主程序
KdPrint(("驱动加载成功"));
/*DbgPrint("quit success");*/
status = CreateDevice(pDriverObject);
if(NT_SUCCESS(status))
{
KdPrint(("创建成功"));
KdPrint(("%wZ", Reg_Path));
CreatIOetime(pDriverObject->DeviceObject);
}else{
KdPrint(("创建失败"));
}
pDriverObject->DriverUnload = MyUnload;
return STATUS_SUCCESS;
}
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|