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,

而且启动后能成功登录(开不开兼容模式都是一样),而在软件的帮助->关于下,显示的版本也是8.1。

果然这方面微软不如腾讯,腾讯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$内部都没有的胡编版本号,居然能直接登录。。。不知微软管理员看到有什么感想

UPDATE:果然那个破补丁只是改一下几个资源文件罢了。我还能用它作出独一无二的MSN版本呢~(MSN没有任何自我校验机能,数字签名坏了都不提示~

发表评论