|
[求助]Win7 64位下拦截桌面窗口的窗口过程
程序崩溃时显示F3EF13DE发生异常,而我的窗口过程地址为7FEF3EF13DE。 原因很简单,就是我在64位下将64位的窗口过程地址强制转换为32位了,就是将7FEF3EF13DE 中的7FE给截掉了 |
|
[求助]Win7 64位下拦截桌面窗口的窗口过程
刚刚找到了原因,太兴奋了 |
|
[求助]Win7 64位下拦截桌面窗口的窗口过程
没有人知道是什么原因吗 |
|
[求助]TDI驱动如何获得应答数据包的内容
这个Tsdu的含义是什么,在网上一直没找到,而且我打印这个数据,就蓝屏。 我是按下面得方法打印的。 KdPrint(("%s\n"), (char*)Tsdu); |
|
[求助]TDI驱动如何获得应答数据包的内容
以下内容为TDI_EVENT_RECEIVE事件的回调函数,他会导致经常的蓝屏因为我还不会驱动的调试,这让我束手无策啊。 NTSTATUS TdiFilterRecvEventHandler( IN PVOID TdiEventContext, IN CONNECTION_CONTEXT ConnectionContext, IN ULONG ReceiveFlags, IN ULONG BytesIndicated, IN ULONG BytesAvailable, OUT ULONG *BytesTaken, IN PVOID Tsdu, OUT PIRP *IoRequestPacket) { PIRP irp; PVOID buf; ULONG mdl_length; PVOID kernel_address; NTSTATUS ntStatus; PIO_STACK_LOCATION irps; PTDI_EVENT_HANDLER_WRAP pEventHandlerWrap; KdPrint(("[tdi_fw] Recv Event Handler\n")); pEventHandlerWrap = (PTDI_EVENT_HANDLER_WRAP)TdiEventContext; ntStatus = ((PTDI_IND_RECEIVE)pEventHandlerWrap->pOrgEventHandler)( pEventHandlerWrap->pOrgEventContext, ConnectionContext, ReceiveFlags, BytesIndicated, BytesAvailable, BytesTaken, Tsdu, IoRequestPacket ); // 以下代码屏蔽掉,就不会蓝屏 if ((*BytesTaken != 0) && (*IoRequestPacket != NULL)) { irp = *IoRequestPacket; irps = IoGetCurrentIrpStackLocation(irp); mdl_length = MmGetMdlByteCount(irp->MdlAddress); kernel_address = MmGetSystemAddressForMdlSafe(irp->MdlAddress, NormalPagePriority); buf = ExAllocatePool(NonPagedPool, (mdl_length / 4 + 1) * 4); RtlCopyMemory(buf, kernel_address, mdl_length); *((char*)buf + mdl_length) = 0; KdPrint(("%s\n", (char*)buf)); ExFreePool(buf); KdPrint(("[tdi_fw] Recv End\n")); } return ntStatus; } |
|
[讨论]你第一个外挂作品是拿哪个游戏开刀?
以后我也研究外挂,只是现在还没有时间 |
|
说说一年学习感受
正在做驱动方面的编程,真是一步一个坎啊。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值