现在只能获取到数据,现在我想重新构造这个包,然后再发送出去,有什么办法呢?最好有码了。
如果直接修改原来的地方的话 那肯定是非常的麻烦的,会涉及到数据包变大或者变小的问题。还有就是内核中有什么函数可以解析HTTP GET报文的函数吗?
如果直接修改原来的地方的话 那肯定是非常的麻烦的,会涉及到数据包变大或者变小的问题。还有就是内核中有什么函数可以解析HTTP GET报文的函数吗?
代码:
NTSTATUS status = STATUS_UNSUCCESSFUL;
PVOID pData = NULL;
//获取盏指针
PIO_STACK_LOCATION pIoStack = irp->Tail.Overlay.CurrentStackLocation;
switch (pIoStack->MinorFunction)
{
case TDI_SEND://发送操作
//获取内容
KdPrint(("发送操作\n"));
PTDI_REQUEST_KERNEL_SEND request_send;
request_send = (TDI_REQUEST_KERNEL_SEND *)&pIoStack->Parameters;
pData = MmGetSystemAddressForMdlSafe(irp->MdlAddress, NormalPagePriority);
KdPrint(("发送的数据%s\n", (char *)pData));