从前天开始,单位里的MSN8.5就无法登陆,老是提示我要升级。今天家里的MSN也无法使用了,被逼无奈,先用pidgin顶一阵再说。不过现在贝壳正在考虑MSN的用户搬迁工作,目标是迁移到Gtalk上,不行QQ。
有几个朋友问贝壳,升级不就好了,何必兴师动众呢?首先,MSN8.5的安装程序只有20M,而MSN9的安装程序高达132M。其中多出来的100多M东西可不是白装的,他们大概会吃掉你30-40M的内存。而且9里面有很多插件(其实8.5也有,不过就一个,总算还好屏蔽),安装上去后,工作的时候做调试麻烦异常,工作机器上装这个纯粹给自己找麻烦呢。而且微软素行不良,有劣迹在前。盗版黑屏问题大家还记得吧?升级提示上说是安全修补补丁,结果装上去屏幕就黑了。不说黑屏现在如何了,就说这种欺骗用户安装的手段,有谁还相信这次的强制升级是为了安全问题么?微软系统安全是出了名的差,一个安全公司用测试用蠕虫在win7上跑,只有20%不到能被微软自己拦截。其中固然有安全公司危言耸听,但是测试过程是全公开的,做假不来。这还是微软主推的最新操作系统,安全性据说很好。如果真是为了安全问题,先把Windows里面那堆雷死人的安全问题解决了才是王道。
反倒是QQ的强制升级政策我觉得尚算可以。 QQ协议分为2005/2006/2007/2008多个版本,通常而言可以使用当前版本和前一版本。就是说,现在用的协议是2008的话,那么2007协议还可用,而2006协议就不再支持了。通常而言,这种时候继续使用2006协议的人微乎其微,基本可以忽略不计。这个政策主要是给不愿意升级的人一个缓冲的空间。对于腾讯而言,实施这个政策其实比微软更有压力。因为微软的协议是公开的,而腾讯则是采取封闭协议,甚至打击第三方客户端的企业策略。我们姑且不论这个策略的得失,但是维持两个协议版本,就给破解协议的人留下了破解的时间和空间。因此对于腾讯而言,这个策略是和公司战略相违背的。
更深一层的问题是,强制升级问题说明了我们所依赖的服务的脆弱性。MSN在中国占据的客户群体并不算大,远远不比QQ。然而就是这样一个客户群现状,微软就敢于强制升级。今天是强制升级,明天收费呢?所以说任何事情依赖一个公司是不行的。我还是会使用MSN,但是会逐步将用户迁移到Gtalk和QQ上,并以开心网和Facebook做补充。力争做到这三个IM中任意两个能覆盖大部分朋友群体,开心和Facebook保留所有联系可能。这样可以适当制衡某些软件公司(不仅是微软,还有腾讯),也可以减小出问题时的损失。
其实要做到这点并没有任何困难。当你认识一个人的时候,只要和他保持两种以上的IM,并且在开心和Facebook(当然,这个没法强求了,毕竟中国的GFW…)上交换一下好友就好了。对抗强权,从小事做起就好。
Tag Archives: MSN
新种病毒出现
有新种病毒出现,大家当心。
病毒症状如下:
有MSN好友给你传一个网址,如同http://[用户名].imagecroco.info/。(贝壳注:现在已经被Mozilla列为欺诈网址)当浏览后中毒,会继续给好友发送网址。发送网址时用户离线,发消息用户不回复。中毒用户提示已经在另外一个地址上登录。
机理估计如下:
当你访问网站时,会被要求输入用户名或密码。或者被挂上马,等登录时被套出用户名和密码。当你不使用时,服务器会自动使用你的用户名登录,给你的好友发送病毒。如果不修改密码,即使本机清理病毒或者设置名称提醒也未必有用。
弄死MSN的共享文件夹
MSN8的共享文件夹功能根本就是一个废物功能,速度慢,不习惯,而且用处不大。最恶心的是,没有卸载选项不说,手工卸载后一开MSN一重起还会回来。NND,看我怎么弄死他。MSN虽然是微软自己的产品,但是也需要遵守微软的API行为。改变资源管理器的行为是用COM组件注入到exlporer中实现的,没有使用驱动层的东西。那么我们就设法阻断DLL文件的注入加载。
首先,regsvr32 /u是不行的。因为MSN一启动又会注册上,除非你不用MSN。删除文件也不行,因为会再生成一个。那么,我放着文件不动,把内容清空,然后再删除NTFS权限怎么样呢?即使是微软的产品,也不会强制说我的更改无效,然后自己胡来一套吧。
首先,关闭所有MSN有关软件,在运行中输入cmd开一个命令行窗口。然后,用process explorer(现在这东西也是微软的产品)终止explorer进程(系统自带那个应该也行,不过我没有测试过)。这步顺序非常重要,因为我们要先阻断COM组件的加载,否则无法对文件实行更改。所以我们要先打开一个CMD,然后再关闭explorer。否则一旦关闭explorer,开CMD就难了。而没有CMD,要去删除文件就要多费一些手续了。
我们现在在CMD中切换到MSN所在目录,删除fsshext.8.1.0178.00.dll啥的文件。这个文件名会根据你安装的版本而变化。而后启动explorer(在CMD里面敲explorer就好),这个时候COM组件已经没有加载了。于是我们建立一个文本文件,改名叫fsshext.8.1.0178.00.dll,放到MSN的目录里面,再删除所有人的访问权限。删除的方法是文件上右击,点属性,安全,高级,取消"从父目录继承权限"的勾选,然后点删除。如果看不到安全选项卡,检查以下项目。工具,文件夹选项,察看,使用简单文件共享(推荐),取消他的勾选。微软的东西,最好表随便勾。
根据我的测试,这时候你随便重起电脑,MSN的组件说加载不上就加载不上。同理也可以应用到3721之类的流氓组件上,只要抢先建立了同名的文件,并且阻断了权限,这些组件就会无法使用。如果你进一步做了分离权限(日常不使用管理员账户),即使安装程序作者知道这种方法都无法应对。如果可以的话,就说明微软存在漏洞了。
IM之争
我不记得这个Title是否已经写过了,不过无所谓,因为国际形势发生了变化。
以前是ICQ和QQ争霸中国市场。后来MSN加进来一脚,ICQ淡出了。现在Fetion跑进来了。那么未来呢?
我们先看看IM软件的发展方向吧。IM最早的远亲应当是IRC和电子邮件。不过电子邮件对于服务器需求太强大,用于实时对聊做不到。IRC虽然需求小了点,但也在不可承受的范围内。随着网络的发展,大家挂网时间越来越多。所以大家要求一种廉价有效的即时通讯手段。可以和某个人对话,而不用耗费太多的服务器成本。于是,ICQ应运而生了。ICQ可以说是最初的P2P体系者,两个人聊天的时候数据都是互相发送的,只有登录的时候才和服务器通讯。这样的好处是避免了大量的服务器开销,坏处是无法穿透防火墙。
从协议上说,IM的协议互动机制和电子邮件基本是一致的。如果不介意服务器开销的话,我们可以把IM协议构架在POP3和SMTP上。对于这种倾向,有人应该感觉熟悉。那不是MSN的离线消息么?差不多。我们定义发送逻辑为,如果可以找到对方IP就找对方IP,不可以找到对方IP就给对方发送邮件。接受的时候我们就接受邮件,如果碰到特殊格式的就解析掉当做消息处理。同时如果在线则服务器会主动推送邮件消息过来(如果不这样就要非常快的定时查询新消息,非常耗费资源)。那么我们就构成了一个跨越服务商的IM方案了,并且还支持多种客户端和离线消息。例如我们通过智能手机的终端接入进来(记得么?我们的客户端其实只是个特殊点的邮件程序),那就成了无线IM。
问题是,我们动了谁的奶酪?
服务商恐怕对此会非常不高兴。大家知道,电子邮件服务商的竞争比IM残酷多了。那么多IT公司,有多少是纯粹做电子邮件做发起来的?几乎没有。为什么呢?因为电子邮件的开放性强。开放性强是历史的产物,早在主机时代邮件协议就已经固定了,而且有了大量的实现。如果哪个ISP不遵循,那么就没有用户。但是遵循标准的结果就是谁都可以被谁替代。也许某某邮箱系统的界面好看点,某某邮箱系统的容量大点,某某邮箱的速度快点,某某邮箱的垃圾少点。但是都不是不可以替代的,属于非强用户粘着性的产品。(注意我没有使用弱这个词,因为一般人习惯用一个邮箱后也就不怎么更改了)如果邮箱服务收费,ISP会发现,几乎是立刻就没有用户了——
然而IM则是在端点时代才发展出来的,而且始作俑者不是IETF成员,IETF也没有太关注。——这捅了大篓子。现在的IM产品,几乎一个产品和另外一个无法连接。一旦你大部分的朋友使用了某种IM,你也必须被迫使用某种IM。好比贝壳虽然不喜欢QQ(这厮没Linux版本还老封锁协议),但一帮朋友都是QQ的,难道不用?这是意味着IM是扩散用户粘着的产品!
这意味着什么呢?ISP们不用推销,只要他们拥有一定的用户了,用户就会自动扩展用户群。而且你的用户不会轻易离开你,即使你收费,也有相当的用户。如果改成开放的形式,很多大型的IM商就等着客户流失吧。因为他们有相当的客户群,因此往往会收取一定的费用或者产生较多的广告。而IETF已经开始制订IM的交互协议了,即SIMPLE协议。先不说这个协议是否先进是否安全,至少这个协议是开放的。开放的协议意味低附加值的服务,因此IM商肯定会抵制协议的推行。一般的逻辑是。如果SIMPLE协议的总客户集群无法和自己的客户群比较,则不和SIMPLE互通。这样有利于维持自己的IM群,进而取得收益。如果SIMPLE协议的总客户集群已经大大超过了自身的客户群,则和SIMPLE互通。因为可以扩大自己的群,进而扩大用户。所以SIMPLE协议应该是从新兴公司开始推广的。
因此,作为一个用户来说,我更希望大家现在开始使用带有SIMPLE特征的服务。这样更有利于促使更多IM商互通服务,而且还会减少服务的费用。
从历史上说,当今的各大IM厂商自有其来。QQ是特殊历史时期的特殊软件。开始的时候其实就是简化的ICQ中文版,除了中国制造外没有什么特长。后来中国的互联网娱乐潮起,QQ向娱乐转型,主攻大众市场,结果红的发紫。MSN则是更晚时期的产物,是MS攻占全球IM市场的拳头产品,主攻的是商务市场。Fetion是中移动今年新推出的IM产品,特点是和手机互通。
就发展趋势来预期,IM主要呈现两个特点,一个是全分布化,一个是嵌入化。
虽然IM软件的工作原理对于服务器要求不高,然而很多后续服务对于服务器却有强烈需求。我们先仅仅计算基础通讯消费吧。一个人登录的时候先认证,后回传所有好友的名单,套接字。一般登录一次开销最小也要在3K上下。一般成熟的IM软件总用户量至少是1000W以上(国内市场),峰值冗余计算为五倍。计算结果就是一天的通信最少300G,最低带宽需求是20M。这还仅仅是登录造成的通讯成本。我们再考虑持续心跳激活某个特定客户端的重复时间——那这个开销就不是某个服务器所能支持的了。现在的IM服务器端,一般都是服务器组来完成这系列的需求。当然——未来的IM软件,我们的期许绝对不是仅仅1000W用户这个级别了,至少要包含国内的上亿人,加上国际的上亿人。每个IM的有效注册用户规模可能达到数亿这种恐怖规模。加上嵌入化的发展,在线时间也会越来越长。因此服务器的规模也会随之上升,进而造成IM收费时代的到来。
如果要IM持续免费,则我们就必定要发展分布式IM。简单来说,用户登录,持续心跳等等都不以服务器为中心,而以分布网络为中心。服务器只辅之以用户入口和统一的模糊查询的功能。这样会大大减轻服务器的负担,但是也会带来几个问题。
首先是用户的注册,没有用户数据库了。不过不难解决,可以让用户不需要注册。因为没有一个统一的服务器,因此用户注册只需要生成一个UUID,生成一对公私密钥,就算完成了。登录的时候即是告知别人自己的UUID,公钥和套接字即可。需要寻找一个好友的时候,可以使用UUID查询此人的套接字,具体方法请看DHT,Kademila,我上面有写的。
其次是大规模块内容的传输,简单来说其实就是传文件。这些数据如果可以直接传输则没有问题,但是在无根分布系统中,间接数据传输是要过中间机的。这样会造成中间机的网络开销。这个还要看人家乐意不乐意呢。这个没有什么好的解决方法。
最后则是安全问题。这倒不难解决,发送内容用私钥和对方公钥各加密一遍,接受用对方公钥和私钥解密就好了。第一次发送一个统一加密块,后面就用这个块加密,定时更换。兼顾了安全和效率。
IM的另外一个特点就是嵌入化,简单来说就是移植向手机上。中国的移动运营是特殊状态,不过世界的发展大致都是一样的。就是将手机发展为网络终端,然后尽量用软件解决问题。那么中国移动现在的短信优势还能持续多久就是一个非常大的问题了。当然不排除短信优势消灭前飞信拥有了新的特性的可能。
新版MSN试用报告
虽然不知道伊何时对MSN的机制感兴趣了,不过偶还是写了一个blog来分析新MSN的战略意义和运行机制。
免责声明,以下内容尚没有经过严密测试。如有偏差,作者不负任何责任。
copyright
itten by Shell.E.Xu, public under GPL.
abstract
新版MSN的功能和工作原理。
keywords
N,安全,兼容,分布式
context
我们先分析what’s new上面提到的两个新功能,语音通讯和共享文件夹。
1.语音通讯
这东西很老啦,我测试的情况下是直接连接,连对方的IP都暴了出来,而且还不稳定。不知道为啥微软拿来宣传。
2.共享文件夹
共享文件夹的功能不是MSN的独创,但是MSN的共享文件夹思路很特殊,是针对每个人共享的。这不同于设置共享文件夹权限的做法,针对每个人的共享在正常来看差不多就是文件传输。通常IM的文件共享都是共享一个文件集,然后设置不同人的访问权限。这个时候IM宿主的功能就好像一个文件服务器。但是MSN的做法使得管理者不是单个IM宿主,而是两个。而且IM宿主不必在线,也可以修改文件。对此我跟踪了下整个实现过程,发现是这样的。
MSN使用了%ROOT%\Local Settings\Application Data\Microsoft\Messenger\%EMAIL%\目录来保存和共享有关的东西,对每个人的共享内容都会保存在SharedFolder下面的Email下。每个人只保存自己共享出去的,对方的内容在联机的时候同步。这里要提到一个概念,硬连接和软连接。假定文件内容相同,连接能减小空间损耗。NTFS虽然在理论上支持了硬连接,但是却没有在platform API里面导出相关函数。何况FAT根本不支持硬连接。所以MSN使用硬连接的可能为0。至于软连接,同样,FAT根本不支持。所以使用软连接的可能也不大。因此,假定你一个文件要共享给所有人,使用MSN的话你要重复拖曳,并且多次保存。(短期试用,还不知道是否真的必须这样)这样共享文件根本不经济。更何况每次上线都要进行同步,取得别人的更新,这样对网络也非常浪费。同时还存在下载染毒文件的风险(当然不会有运行的风险)。不知道微软存了啥心思。
3.Windows Live Safely Scanner
微软在共享文件夹里面配套提倡的,就是Windows Live Safely Scanner。其他厂商为了增大合作空间,一般在查毒功能上都是利用外包方式,只要你提供一个杀毒软件主程序的路径,就可以利用%PATH% %FILE%的方式查毒。微软就在MSN内推荐使用本公司的产品。由此看出微软准备借助IM的优势,向安全领域进军。
4.联系人列表加密
这个是本人最不齿的功能,如果要加密了联系人列表,那么gaim一类的东西就全成了废物。微软如果真的有这个心思,完全是本着把开放协议搞成封闭协议的精神在做事了。如此无异于步QQ的后尘。
5.其他特征
新版MSN登录时间一般比较长,估计是在做功能通讯。有得有失,大家就别计较了吧。不过如果你登录过,速度就比较快了。MSN新版的稳定性还是不行,stella小姐被吓个半死,我这里是分组丢失。不过伊重新登录就恢复了,偶拿gaim登录也正常了。