能力值:
( LV12,RANK:1010 )
|
-
-
2 楼
你的这个函数是编译器生成的.
进入sub_10550函数内部才是DriverEntry ...
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
编译器开启了gs开关
最后的return才是重点
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
感谢ls两位的指导
小弟还有疑惑的是:
这个代码后面的return 也貌似没做啥啊,代码如下:
NTSTATUS __stdcall sub_10550(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
NTSTATUS v3; // edx@1
UNICODE_STRING SymbolicLinkName; // [sp+Ch] [bp-14h]@1
UNICODE_STRING DestinationString; // [sp+14h] [bp-Ch]@1
PDEVICE_OBJECT DeviceObject; // [sp+1Ch] [bp-4h]@1
RtlInitUnicodeString(&DestinationString, L"\\Device\\NameXX");
IoCreateDevice(DriverObject, 0x10u, &DestinationString, 0x22u, 0, 0, &DeviceObject);
RtlInitUnicodeString(&SymbolicLinkName, L"\\DosDevices\\NameXX");
v3 = IoCreateSymbolicLink(&SymbolicLinkName, &DestinationString);
memset(DriverObject->MajorFunction, (int)sub_104E6, 0x6Cu);
DriverObject->DriverUnload = (PDRIVER_UNLOAD)sub_104B0;
return v3;
}
上面的memset(DriverObject->MajorFunction, (int)sub_104E6, 0x6Cu);这句也就是把派遣函数设置成了这个样子:
int __stdcall sub_104E6(int a1, PIRP Irp)
{
IofCompleteRequest(Irp, 0);
return 0;
}
小弟不解 这个驱动是啥目的?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这个驱动没目的。。
|
能力值:
( LV5,RANK:70 )
|
-
-
6 楼
其实它是在逗你玩。
|
|
|