2007年9月26日星期三

对付微软强制要求升级Messenger 7.x到8.1的办法

为了一个在中国的窄带网络环境下几乎不存在真正影响(视频聊天引擎,要经过美国微软的服务器)的漏洞,微软.NET Messenging Service部门使出了一招强招——强制升级。所有在Windows 2000下运行MSN7.0的用户都要升级到刚更新的7.0.078x(具体版本记不得了);Windows XP以上的用户不论是7.0、7.5、8.0都被要求升级到8.1。但是现在已经出现了两种解决这种状况的办法。
(如图)
Photo Sharing and Video Hosting at Photobucket Photo Sharing and Video Hosting at Photobucket
Messenger 8加入了一个鸡肋功能“共享文件夹”,文件大小加了好几兆,内存资源占用大增;所以很多人一直使用7版本。7版本的协议和8版本实际上没有本质性的变化,这使破解成为可能。下面提供两个办法。
1、使用Win2000兼容模式(适合7.5)
把msnmsgr.exe属性中的兼容性设置改成Windows 2000(Windows 98/Me会导致出错)
如图:
Photo Sharing and Video Hosting at Photobucket
2、修改exe文件(适合7.0、7.5、8.0所有版本)
其实这个办法相当简单,因为MSN在登录时完全不对自身进行完整性验证,且Messenger直接把自己EXE资源里的版本号发给.NET Passport的服务器。因此,打开任何一个可以修改EXE资源的工具,找到Version资源,把所有和7.0/7.5相关的项全部修改成8.1.0178,即完成修改过程。经测试对8.0同样有效。

修改过后发现,msnmsgr.exe在其属性下的版本号变成了8.1,
Photo Sharing and Video Hosting at Photobucket
而且启动后能成功登录(开不开兼容模式都是一样),而在软件的帮助->关于下,显示的版本也是8.1。
Photo Sharing and Video Hosting at Photobucket
果然这方面微软不如腾讯,腾讯QQ传到服务器的版本信息是个两个字节的字符串的Hash,存在qqinfo.dat内,QQ.exe、LoginCtrl.dll不仅互相验证,也验证这个Hash,传到服务器的也是这个Hash;MSN?难道版本验证仅仅是验证EXE的信息?
总之到此,MSN7.0/7.5/8.0不能登录的问题已经得到解决。
PS:哈哈,我把7.5改成9.0.1457这个M$内部都没有的胡编版本号,居然能直接登录。。。不知微软管理员看到有什么感想
Photo Sharing and Video Hosting at Photobucket
UPDATE:果然那个破补丁只是改一下几个资源文件罢了。我还能用它作出独一无二的MSN版本呢~(MSN没有任何自我校验机能,数字签名坏了都不提示~

没有评论:

发表评论