对QQPCHW.sys的分析
QQPCHW.sysIoCtlCode:
0x222024
初始化线程id表
buffer= 用Rabbit算法加密过得线程id表 sizeof=传入缓冲区大小
0x222004
读取PCI数据 结构体成员含义参见HalGetBusDataByOffset参数
buffer= sizeof=0x18
+00 ULONG BusNumber <==> ULONG ret
+04 BYTE data1
+08 BYTE data2 data2低3位和data1低5位组成SlotNumber
+0C PVOID Offset
+10 ULONG Length
+14 PVOID Buffer
0x222008
设置PCI数据 结构体成员含义参见HalSetBusDataByOffset参数
buffer= sizeof=0x18
+00 ULONG BusNumber <==> ULONG ret
+04 BYTE data1
+08 BYTE data2 data2低3位和data1低5位组成SlotNumber
+0C PVOID Offset
+10 ULONG Length
+14 PVOID Buffer
0x22200C
读取msr寄存器
buffer= sizeof=9
+00 DWORD msrindex存储读取序号 <==>LONGLONG 读取到的数据
0x222010
写入msr寄存器
buffer= sizeof=0xC
+0 DWORD msrindex
+4 LONGLONG value要写入的值
0x222014
读取端口
buffer= sizeof=9 READ_PORT_UCHAR/USHORT/ULONG
+0 BYTE readsize 0:UCHAR/1:USHORT/2:ULONG <==> DWORD ret
+5 PVOID Port
写入端口
buffer= sizeof=8 WRITE_PORT_UCHAR
+0 PVOID Port 端口号
+4 UCHAR Value 数据 <==> DWORD TAG=0x87654321写入成功标志
0x222018
读取端口
buffer= sizeof=8 READ_PORT_UCHAR
+0 PUCHAR* Port 端口号 <==> UCHAR取出的数据
+4 =>DWORD TAG=0x87654321写入成功标志
0x22201C
写入端口
buffer= sizeof=8 WRITE_PORT_UCHAR
+0 PVOID Port 端口号
+4 UCHAR Value 数据 <==> DWORD TAG=0x87654321写入成功标志
0x222020
写入端口
buffer= sizeof=9 READ_PORT_UCHAR/USHORT/ULONG
+0 BYTE writesize 0:UCHAR/1:USHORT/2:ULONG <==> DWORD ret
+5 PVOID Port
0x222028
改写PCI conf1设备空间的一个数据??实在找不到资料了!不知道在干啥
WRITE_PORT_ULONG((PULONG)0xCF8, 0x8000F8F0);
v13 = READ_PORT_ULONG((PULONG)0xCFC);
Buffer = v13;
if ( v13 == -1
|| (Buffer = (v13 & 0xFFFFC000) + 0x3418,
PhysicalAddress.LowPart = Buffer,
(v14 = (ULONG *)MmMapIoSpace((PHYSICAL_ADDRESS)Buffer, 4u, 0)) == 0)
|| (READ_REGISTER_BUFFER_ULONG(v14, &Buffer, 1u),
Buffer &= 0xFFFFFFF7,
MmUnmapIoSpace(v14, 4u),
(v15 = (ULONG *)MmMapIoSpace((PHYSICAL_ADDRESS)*(unsigned int *)&PhysicalAddress, 4u, 0)) == 0) )
{
v2 = 0xC0000001;
goto LABEL_4;
}
WRITE_REGISTER_BUFFER_ULONG(v15, &Buffer, 1u);
MmUnmapIoSpace(v15, 4u);
0x222040
创建物理地址内存映射 \\Device\\PhysicalMemory
buffer=
+00 HANDLE hSection
+04
+08 PVOID BaseAddress内存映射地址
0x222044
取消物理地址内存映射
buffer=
+00 HANDLE hSection
+04 PHYSICAL_ADDRESS BusAddress 物理地址
+0C PVOID BaseAddress 对齐内存映射地址
页:
[1]