一道linux下的父子进程调试题
首先分析main:
A:绑定了5999端口
B:fork了4000个子进程,并对齐进行阻塞
C:对于fork的4000个子进程的每一个,进行一次数据交互,先发送,再等待接收
D:持续和子进程0进行交互,发送3过去,当接收回来是4,flag++,接收回来是5,输出flag
然后就是另一个重要函数:0x400B45,son_udp
在main中每一个子进程fork成功时,都会调用该函数
A:与main交互,发送数据
B:在子进程中,开始对main中的数据值进行判断,并针对操作
当recvbuf为3时,说明是子进程0在操作
C:在之后的分析中,多次发现一个重要数据字段
其实在该函数最前面有过初始化的
剩下的逻辑,看这篇writeup,很详细了