中国移动飞信软分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国移动飞信软分析

Fetion分析之一:飞信协议类型 2007年03月08日 22:28 作者:nathan 以下分析均基于飞信的这一版本:Fetion 2006 beta 版本 。 被迫开始用飞信(Fetion),痛苦啊,这玩意儿开发了几年(飞信博客上一家伙说参加飞信项目两年了),而且用的是.NET(工作量要比C++小了去了),居然这么烂,也算是个奇迹了。。。。自己找点乐子,分析飞信的通信协议好了。。。这不是什么破解,俺也不是什么什么客,纯属无聊。 抓包看了一下,飞信是用了混合协议的: 1、基于HTTP(XML Web Services吧?)进行获取系统配置、更新程序、注册用户 2、基于HTTPS进行登录时密码验证 3、应用层协议是SIP协议,但不是标准的,估计是自创的?所有交互过程如发消息、短信通过SIP协议进行。 关于SIP,有巨多的RFC描述,飞信的SIP协议栈实现的是TCP、HTTP承载 1.TCP承载方式:连接服务器(目前是03)的8080端口,这时在客户端的“网络设置”中显示的是“TCP直接连接”,SIP信令直接就放在TCP的包中。 2.HTTP承载方式:连接服务器(目前是03)的80端口,采用POST方式,将信令包在POST请示中,这时在客户端的“网络设置”中显示的是“HTTP直接连接” 因为是TCP和HTTP承载,所以其包格式是非常清楚的,那么注意力就可以直接放到SIP协议或SIP信令上,详细的内容稍后再写。 总的来说,飞信协议是比较简单的,不对,准确地说法是比较规范和清晰,但协议本身是复杂的,另外: 1. 飞信的协议是明文,这一点如同其兄弟MSN,是不如QQ和RTX的,因此,通过飞信的交谈过程是可轻易截获的,通过很简单的工具,就可以截到同一网段上所有人的交谈,估计会有人写Fetion Chat Sniffer的,就跟MSN一样,假如有一天Fetion有那么流行......要不我写一个?:) 2.协议效率比较低,我加了近200人,一次登录过程要传递的数据量居然超过了230K,我靠。 3.状态有问题,presence处理得不太好好象,我在线别人却看到我离线,真是奇怪,而且一会儿发一个presence一会儿发一个,讨厌啊。 BTW: RFC在这里看:/rfcs/,太方便了,就是关于SIP的多得看不过来。 Fetion分析之二:服务器地址从何而来——变态的配置文件 2007年03月08日 22:30 作者:nathan 以下分析均基于飞信的这一版本:Fetion 2006 beta 版本 。 作协议分析时,一抓包,就发现飞信工作时连的是03这个服务器。那这个IP地址从哪来的呢?会变吗?飞信的客户端程序中并没有配置服务器地址这一说。固定一个IP?不会吧,一面向全国的系统,不可能用一个IP地址。用一个固定域名解析出来的多IP地址中的一个吗?抓出它访问DNS的包一看,它就只在开始时解析过一次域名:,这个域名的IP是01——听说开发飞信的人就是微软开发MSN的人,所以啥都跟MSN一样,你看那飞信的主界面元素,你能找一个位置和功能跟MSN不一样的吗?连解析域名这点都跟MSN一样,没意思啊,印象中MSN也是一开始就解析一个地址,好象是M?如果想在局域网内封锁MSN,就把这个域名给指向,MSN就傻了。 既然只解析过,那么03这个工作服务器(SIP的Proxy Server)地址,就应该是返回来的了。确实是,但只是第一次登录时返回,并保存在了本地。后面再登录时,如果版本不更新,是不会再返回这些系统配置信息的。所以,除第一次外,再抓包是看不到这些配置信息的。 本地配置文件并没放在Fetion的程序目录中,而是放到了%USERPROFILE%\Application\Fetion目录下。这个目录下有configuration.dat和飞信的用户目录,每个飞信用户目录下还有configuration.dat、contacts.dat、userinfo.dat这三个配置文件,看名字就知道是与用户相关的系统配置文件、好友列表文件、用户的个人信息文件。 这些文件全是XML格式的,所以可以用Notepad打开,不过,你打开后就会发现,这些文件的内容全被加密了,变态啊,这些文件有什么好加密的呢。 我们如何获得这里头的信息呢? 方法有两个: 一、我们让Fetion不要加密这些文件的内容,方法是:修改FetionFx.EXE文件。用ildasm,将FeionFX.EXE反汇编出来,将其中的Imps.Client.Pc.PersistentManager.EncodeMode1和Imps.Client.Pc.PersistentManager.DecodeMode1这两个函数改掉,将这两个函数体改成以下内容: .maxstac

文档评论(0)

jiqinyu2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档