-
-
[旧帖]
[求助]此等菜鸟级SSDTHook问题,请大神不吝指教!别怪我不懂基础知识啊~
0.00雪花
-
发表于:
2014-8-13 20:02
1779
-
[旧帖] [求助]此等菜鸟级SSDTHook问题,请大神不吝指教!别怪我不懂基础知识啊~
0.00雪花
http://bbs.pediy.com/showthread.php?t=152337
看了这个。有一个很菜的问题,请教下大家。
原理是Hook ZwDeviceIoControlFile
源代码DriverEntry里这些代码:
[B][COLOR="SandyBrown"][COLOR="DarkRed"]if (MajorVersion == 0x5 && MinorVersion == 0x2)
{
ZwDeviceIoControlFile_num = 0x45;
}
else if (MajorVersion == 0x5 && MinorVersion == 0x1)
{
ZwDeviceIoControlFile_num = 0x42;
}
else
{
return STATUS_UNSUCCESSFUL;
}[/COLOR][/COLOR][/B]
memset(IeBuff, 0, 4 * IE_MaxNum);
ZwDeviceIoControlFile_BaseAddress = (ULONG)KeServiceDescriptorTable->ServiceTableBase[B][COLOR="Red"] + ZwDeviceIoControlFile_num * 4; //xp 0x42 2003 0x45[/COLOR][/B]
ZwDeviceIoControlFile_value = *(PULONG)ZwDeviceIoControlFile_BaseAddress;
ChangeMemory_inte(ZwDeviceIoControlFile_BaseAddress, (ULONG)LYH_ZwDeviceIoControlFile);
目的应该是判断操作系统类型,选用合适的ZwDeviceIoControlFile_num,找出ZwDeviceIoControlFile在表中的地址,然后更改吧。
现在想让驱动支持win7,可是源码里只给了xp和2000的值,不知道如何获得其他操作系统里的值?
别怪我问题太菜鸟啊,请多指教!我刚刚碰驱动!
[课程]Linux pwn 探索篇!