当前位置: 首页 > web >正文

Win32学习笔记 | recv函数

https://learn.microsoft.com/zh-cn/windows/win32/api/winsock2/nf-winsock2-recv

功能:recv 函数从连接的套接字或绑定的无连接套接字接收数据。

1. 函数原型

int WSAAPI recv([in]  SOCKET s,[out] char   *buf,[in]  int    len,[in]  int    flags
);

2. 参数

1)s:套接字描述符

2)* buf: 接收传入数据的缓冲区的指针

3)len:缓冲区buf的长度(以字节为单位)

4)flags:影响此函数行为的一组标志,详细备注查看文档

3. 返回值

逆向分析线索:eax中的返回值,为接收到的传入数据的实际长度

如果函数执行成功未发生错误, recv 返回收到的字节数, buf 参数指向的缓冲区将包含接收的此数据。 如果连接已正常关闭,则返回值为零。否则,将返回值 SOCKET_ERROR,并且可以通过调用 WSAGetLastError 来检索特定的错误代码。

即函数执行成功后,eax 的值为接收的buf数据的实际长度。如果eax的值为-1(0xffffffff),代表函数执行失败 SOCKET_ERROR。如果eax的值为0,即代表函数执行成功但是没有接收到数据。

相关函数:recvfrom

recvfrom 函数接收数据报,并存储源地址。

调试断点手记

  • ws2_32!recv
  • wsock2!recv

在对程序逆向分析的开始,recv函数(接收网络数据)是常用的断点位置

http://www.xdnf.cn/news/19458.html

相关文章:

  • 【Linux系统】线程互斥
  • 【安全学习】DVWA 靶场 SQL 注入漏洞原理分析与防御策略(教育用途)
  • C#语言入门详解(17)字段、属性、索引器、常量
  • 微软:LLM多阶段强化学习框架
  • 深入探讨JavaScript性能瓶颈:我的优化实战与思考
  • mac Monterey 安装erlang23
  • 【数据分享】上市公司-创新投入、研发投入数据(2007-2022)
  • LeetCode 287.寻找重复数
  • 基于EcuBus-Pro实现LIN UDS升级
  • 动态规划2(c++)
  • 【工具类】ssh使用案例
  • (HR小科普)人才测评软件的功能和应用
  • CH59x CH58x 触摸按键应用开发实例讲解(二)
  • 【Zephyr炸裂知识系列】11_手撸内存泄露监测算法
  • Pomian语言处理器研发笔记(二):使用组合模式定义表示程序结构的语法树
  • Tiptrans转运 | 免费5国转运地址
  • Web网络开发 -- jQuery框架
  • REST-assured 接口测试编写指南
  • 【Canvas与戳记】蓝底黄面十六角Premium Quality戳记
  • 开发环境全面配置指南:语言环境与数据库工具
  • 基于单片机音乐喷泉/音乐流水灯/音乐播放器设计
  • 规律作息 + 养成好的习惯 + 考研倒计时 111 天 + 线面积分入门 1 下半部分
  • 【LeetCode - 每日1题】鲜花游戏
  • 2025年- H101-Lc209--1979.找出数组的最大公约数(gcd最大公约数)--Java版
  • 【物联网】MQTT(Message Queuing Telemetry Transport)是什么?
  • 深入解析 dex2oat:vdex、cdex、dex 格式转换全流程实战
  • RK3576开发板串口配置及使用
  • 使用 SVM(支持向量机)进行图像分类:从读取图像到训练与分类的完整流程
  • 深入解析Nginx常见模块2
  • 【SoC】【W800】基于W800的PWM实现