關於TDI過濾驅動中的TDI_SEND
阿新 • • 發佈:2019-02-12
現在只能獲取到資料,現在我想重新構造這個包,然後再發送出去,有什麼辦法呢?最好有碼了。
如果直接修改原來的地方的話 那肯定是非常的麻煩的,會涉及到資料包變大或者變小的問題。還有就是核心中有什麼函式可以解析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));