delphi反编译ded逆向工程和协议分析 lgx
最近小区宽带,要求装一个他们的客户端,并且一直跑着这个客户端才能上网,非常不爽。同时鉴于将近两年没做逆向分析了,正考虑找东西练练手,正好这个东西送上门来,上海高等研究院筹信息科学与技术研究部招聘启事c语言编程软件视频。估计不难,就它啦!:)
先明确一下目标:
Ø分析出这个客户端是如何工作的。
Ø自己写一个客户端代替它,最好能做成Windows服务方便使用。
Ø最后研究有没有远程溢出可利用。
ok,目标明确后可以开始了!
一开始就直奔目标并不好。收集信息一方面可以慢慢进入工作状态,另一方面也能启迪分析思。所以不要在这阶段省时间。
先看看这个客户端都装了什么文件,写了什么注册表项。到安装目录下,发现一个uninstall.log,安装记录都在里面了。除了一个分析的客户端exe程序为,delphi反编译ded逆向工程和协议分析 lgx其它只有一个文件名为profile的比较可疑。猜测是一些配置信息,用winhex打开,居然是二进制,看不到有意义的信息。作罢。
再用stud_pe检查客户端程序:没壳;BorlandC++编译。Great!应该可以直接拿IDA和DeDe分析。
delphi反编译dede启动Ethereal抓包。启动客户端程序登录到小区宽带网。发现登录成功后ethereal只两个UDP报文。果然够简单!从Ethereal解码看,客户端从3849/udp向服务端3848/udp发送login报文,服务端回应一个UDP报文。报文里看不到有意义信息c语言编程软件视频C语言中随机函数应用,估计是加密了。现在,这个login过程是一个关键分析点。
继续抓一段时间包。发现客户端大约每30秒向服务端发送一个固定的UDP报文(源和目的端口也分别是3849和3848),microsoft foxpro foxpro数据库。服务端则返回两个固定的报文。联想到IRC协议里的PING-PONG报文,怀疑这也是一种PING-PONG协议。这也是一个分析点。
继续抓包,没看到其它报文。估计在正常情况下login成功后只要保持不停PING-PONG就行了。