一道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,很詳細了
https://www.jianshu.com/p/d906619a01b7