|

提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).
得到WSAsend发送的套接字后,直接 call WSASend 数据发送完成后,客户端就会断掉,服务端确认收到数据,和服务端无关,
代码:
SocketHander:= Get_DWORD(dwbase+$74);
if SocketHander = 0 then Exit;
OutputDebugStringA(PChar(Format('SocketHander:%.8x,SendIndex:%.8x',[SocketHander,SendIndex])));
FillChar(pBuffers,SizeOf(TWsaBuf),$00);
pBuffers.len:= len;
pBuffers.buf:= dword(@buf);
FillChar(Overlapped,SizeOf(TOverlapped),$00);
BytesSent.len:= 0;
pBuffers.len:= len;
asm
pushad
mov edi,len
mov esi,dwbase
push 0 // Callback = nil
lea edx,Overlapped
push edx
push 0 //Flags
lea eax,BytesSent
push eax
push 1
lea edx,pBuffers
push edx //pBuffers
push SocketHander //Socket
call WSASend //call ws2_32.WSASend
call WSAGetLastError
mov WSALastError,eax
popad
end;
OutputDebugStringA(PChar(Format('WSALastError:%d',[WSALastError])));
***************************************************************************************************************
od调试:
游戏发送情况:
0012E638 00636478 /CALL 到 WSASend 来自 Game.00636473
0012E63C 00000638 |Socket = 638
0012E640 1A0B72B0 |pBuffers = 1A0B72B0
0012E644 00000001 |nBuffers = 1
0012E648 0012E65C |pBytesSent = 0012E65C
0012E64C 00000000 |Flags = 0
0012E650 1A0B7280 |pOverlapped = 1A0B7280
0012E654 00000000 \Callback = NULL
|pBuffers:
1A0B72B0 1D 00 00 00 48 73 0B 1A ...Hs
|pBuffers.buffer:
1A0B7348 B1 FF 26 B4 49 07 DE 09 33 D6 BB 56 A0 47 F0 F9 ?&碔?3只V燝瘗
1A0B7358 04 62 A8 8C AD 86 C1 92 AC 1B 22 67 3D b▽瓎翏?"g=J
***************************************************************************************************************
dll发送情况:
0712F494 06B96AA6 /CALL 到 WSASend 来自 06B96AA1
0712F498 00000638 |Socket = 638
0712F49C 0712F524 |pBuffers = 0712F524
0712F4A0 00000001 |nBuffers = 1
0712F4A4 0712F52C |pBytesSent = 0712F52C
0712F4A8 00000000 |Flags = 0
0712F4AC 0712F530 |pOverlapped = 0712F530
0712F4B0 00000000 \Callback = NULL
|pBuffers:
0712F524 1D 00 00 00 B0 78 F3 06 ...皒?..
|pBuffers.buffer:
06F378B0 B1 FF 26 B4 49 07 DE 09 33 D6 BB 56 A0 47 F0 F9 ?&碔?3只V燝瘗
06F378C0 04 62 A8 8C AD 86 C1 92 AC 1B 22 67 3D b▽瓎翏?"g=...
***************************************************************************************************************
求解,这种以前用send调用游戏都没问题... WSASend调用就都这问题..最近又碰到。
联系我时,请说是在 挂海论坛 上看到的,谢谢! |
上一篇: 一个生成伪随机数的超级算法下一篇: D3D的后台截图复制不到TBITMAP
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。
2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。
|