37.第二阶段x64游戏实战-封包-寻找Socket套接字
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!
本次游戏没法给
内容参考于:微尘网络安全
上一个内容:36.第二阶段x64游戏实战-代码实现劫持网络数据包(封包)
上一个内容可以劫持数据包了,然后就可以分析数据包,分析完伪造数据包,然后发送数据,现在发送数据包有一个问题,我们没有Socket,所以还要得到游戏的Socket,然后才能发送伪造的数据包
然后send第一个参数就是socket,但是这里的socket可能会变,所以要找socket的基地址确保我们使用的永远都是最新的
首先进入游戏登录角色后,在ws2_32.send位置设置断点,如下图rcx是第一个参数,第一个参数是Socket,现在的Socket是0x106C
取消断点
然后按CTRL+F9再按F8,来到下图位置,可以看到这里并没有rcx的赋值操作
然后按CTRL+F9再按F8,来到下图位置,可以看到有rcx赋值操作,mov rcx, qword ptrds:[rbx+0x8],但是[rbx+0x8]位置并不是Socket,如下图Socket的位置应该是[rbx+0x8]+0x8才对
这个0x8是在下图位置加的,call 0x00007FF79FF18520
然后rbx的值来自于rcx
然后现在的公式 [rcx+0x8]+0x8,然后继续CTRL+F9再按F8往上找,在下图红框位置又加了0x78,现在的公式[ [rcx+0x78+0x8]+0x8
继续CTRL+F9再按F8往上找,如下图红框rcx的值来自于[rdi+0x40]注意这里是lea,所以现在的公式[rdi+0x40+0x78+0x8]+0x8
然后rdi的值来自于rcx,现在的公式[rcx+0x40+0x78+0x8]+0x8
继续CTRL+F9再按F8往上找,现在的公式[rbx+0x40+0x78+0x8]+0x8
rbx来与rcx,现在的公式[rbx+0x40+0x78+0x8]+0x8
继续CTRL+F9再按F8往上找,现在的公式[rbx+0x40+0x78+0x8]+0x8
继续CTRL+F9再按F8往上找,找到了基址,现在的公式[[0x00007FF7A0444DB8]+0x40+0x78+0x8]+0x8
验证公式
偏移0x954DB8,到这就找到了Socket的基址了,后面就可以发送数据包了