qq_31565539 2017-05-04 07:22
浏览 967

SPI拦截修改发送数据包

我在做一个拦截数据包,并修改再次发送的程序,目前的问题是可以在WSPSEND函数中获取发送缓冲区的数据,但是修改数据后会导致网络程序崩溃,请问下,这个函数体里面如何修改转发,有没有什么特定的格式?
源码如下:
int WSPAPI WSPSend(
SOCKET s,
LPWSABUF lpBuffers,
DWORD dwBufferCount,
LPDWORD lpNumberOfBytesSent,
DWORD dwFlags,
LPWSAOVERLAPPED lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
LPWSATHREADID lpThreadId,
LPINT lpErrno
)
{
char newstring[10] = "123123123";
PrintSocket(s, *lpNumberOfBytesSent, "WSPSend");
FILE *fp;
fp = fopen("C:/packet.txt", "a+" );
memcpy(lpBuffers[0].buf, newstring, 10);
fwrite(lpBuffers->buf,sizeof(char), lpBuffers->len, fp);
fclose(fp);
return NextProcTable.lpWSPSend(s, lpBuffers, dwBufferCount
, lpNumberOfBytesSent, dwFlags, lpOverlapped
, lpCompletionRoutine, lpThreadId, lpErrno);
目前是会在文件中保存到包的数据的,但是程序也会崩溃,我替换的字符只是简单的测试能否修改,请大神指教这个函数体中如何修改缓冲区数据,这个缓冲区中包含数据包头部么,还是只是有数据部分?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
    • ¥15 有赏,i卡绘世画不出
    • ¥15 如何用stata画出文献中常见的安慰剂检验图
    • ¥15 c语言链表结构体数据插入
    • ¥40 使用MATLAB解答线性代数问题
    • ¥15 COCOS的问题COCOS的问题
    • ¥15 FPGA-SRIO初始化失败
    • ¥15 MapReduce实现倒排索引失败
    • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
    • ¥15 找一位技术过硬的游戏pj程序员