调试网络程序

首现可以通过OllyDbg把程序的通讯过程进行一次分析,得到一些基础的数据,也大概能看出来逻辑流向。

这里使用了OllySocketTrace这个插件,引用

“The socket operations currently supported are: WSASocket, WSAAccept, WSAConnect, WSARecv, WSARecvFrom, WSASend, WSASendTo, WSAAsyncSelect, WSAEventSelect, WSACloseEvent, listen, ioctlsocket, connect, bind, accept, socket, closesocket, shutdown, recv, recvfrom, send and sendto.”

基本上常用的Socket都能够被记录下来,下载地址: http://bbs.pediy.com/showthread.php?t=71334

插件有打Log的功能,这里随便加载了程序能够看出大概的一些方式。


现在想要完成加密数据包还原,但是现在需要调试WSASend函数,虽然有思路但是细节实践起来还是挺麻烦的,这里先把前期的工作完成一下。

WSASend->WSPSend->NtDeviceIoControlFile->AFDSend(Tdi Client)->TcpSendData(Tdi Server)->TdiSend->TcpSend->IPTransmit(Network Layer)->SendIPPacket->下面进入链路层


数据流具体是怎么进行组装,逐层往下发,这个过程并不care。


对于这个部分不管HOOK哪个函数,最核心是要能抓住原始数据,根据协议,去修改对应的数据,至于后续是如何完成先不考虑,先通过调试来了解这个原始数据吧。

看了看wsock32.dll,ws2_32.dll都被调用到,这里根据OD的跟踪,主要调用了ws2_32.dll里面的WSARecv,WSARecvFrom,WSASend,WSASendTo。


01.int WSAAPI WSASend (  
02.  SOCKET s,  
03.  LPWSABUF lpBuffers,  
04.  DWORD dwBufferCount,  
05.  LPDWORD lpNumberOfBytesSent,  
06.  int iFlag
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值