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

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.dtcms.com/a/360314.html

相关文章:

  • MVC架构模式
  • XXL-JOB任务执行The access token is wrong问题分析解决及原理源码解析
  • 【Linux】linux进程 vs 线程
  • 《WINDOWS 环境下32位汇编语言程序设计》第9章 通用控件(2)
  • Modbus CRC16校验码在线计算器
  • Python训练营打卡Day49-神经网络调参指南
  • 大模型参数量与计算量(FLOPs)估算方法
  • [WUSTCTF2020]B@se1
  • 后向投影合成孔径辐射源定位方法(一)
  • Linux-数据库
  • MVC模式学习
  • 物种多样性与物种丰富度
  • 制造业生产线连贯性动作识别系统开发
  • 使用 Claude Code 与 Remotion 制作自定义动画视频的完整教程
  • 代码分析之符号执行技术
  • 多人协作开发指南二
  • 简化对齐训练:用明文对比数据SFT替代复杂DPO
  • 8针脚的1.8寸IIC接口的TFT彩屏的八个引脚都需要使用吗?
  • 【编号186】中国劳动统计年鉴(1991-2023)
  • LeetCode 2570.合并两个二维数组
  • 超越关键词:RAG系统如何破解用户查询的“模糊密码”
  • BLE广播与扫描
  • 嵌入式C学习笔记之预编译
  • Redis面试重点-2
  • Coze源码分析-工作空间-项目开发-前端源码
  • 在Windows系统Docker中使用wsl2、容器、windows文件路径三种不同挂载方式的区别和性能差异
  • ceph对象存储-存储池-用户认证
  • @Value注解的底层原理(一)
  • Day18 (前端:JavaScript基础阶段)
  • 数据结构 04(线性:双向链表)