笔者今天发现,VeryCD公司自制的闭源DLP库从很长时间以来,一直对一部分带“[CHN]”和“[VeryCD]”标签的官方eMule及Mod客户端有误杀,同时FzH制作的DLP+中也存在类似问题。这可能将影响一部分虽转用正规非VeryCD客户端但依然昵称中带[CHN]、[VeryCD]标签的用户。
误杀
VeryCD公司的两款eMule Mod [1]——VeryCD Mod [2]和冒名“电驴” [3]实则删除真正电驴(eDonkey/eD2k)网络搜索 [4]的easyMule——的DLP反吸血 [5]功能来自Xtreme [6],其使用的DLP库也是在Xtreme原版DLP库 [7]基础上修改而来。不过他们的DLP库不仅闭源,违反了GPL协议,放行迅雷,且水平不高,曾经几次(1 [8];2 [9];3 [10])误杀过Xtreme等许多Mod。而FzH的DLP+库之前没有发现大量误杀,但也未开源,不过由于两年未有更新,相信DLP+用户已很少。
这次笔者发现的误杀,规模不一定大,但是已长时间存在,保守估计已有2年以上。由于easyMule附带的VeryCD版DLP库使用者依然众多,应该也造成了一定的影响。据笔者不完全统计发现:
- 凡是使用官方版eMule而昵称为“[CHN][VeryCD]yourname”都会被VeryCD版DLP库以“Vagaa Faked”理由错误地屏蔽/减分
- 凡是昵称中含有“[VeryCD][CHN]”的任何eMule Mod(不包括eMule官方,可能会包括其他一些非eMule的eDonkey客户端)都会被VeryCD版DLP库以“Bad USERNAME XL Faked”理由错误地彻底屏蔽
- FzH的DLP+也有类似状况:凡使用官方版eMule而昵称为“[CHN][VeryCD]yourname”会以“检测哇嘎嘎”理由错误地屏蔽/减分;使用官方版eMule而昵称为“[CHN]XXX”(这里的“X”是任意的英文字母)会以“检测新脱兔”理由错误地屏蔽/减分
也就是说,有些用户虽不再使用VeryCD公司出品的客户端,转用官方eMule或者其他非VeryCD的正规客户端,但是这些用户依然在在用户名昵称中加上了“[CHN]”、“[VeryCD]”tag标签(可能他们以为在昵称中加类似标签会从VeryCD客户端中得到加分,或者更容易连接VeryCD服务器的缘故),这部分用户不但未必得到好处,反而会受到VeryCD公司DLP库的屏蔽。之前有评论指出,部分使用其他非VeryCD的正规客户端用户昵称加上“[CHN]”、“[VeryCD]”是一种捧臭脚的行为,或许这在这里已经得到了验证。
当然,有些用户的昵称中加“[CHN]”、“[VeryCD]”,只是easyMule转用其他Mod时复制了config文件没更改的缘故。另外根据上述不完全统计,形如“[CHN][VeryCD]某某”用户名的客户端,VeryCD公司DLP库也只屏蔽了一部分。而且昵称中含有“[VeryCD][CHN]”的任何eMule Mod,包括VeryCD自己的easyMule也均会被屏蔽。从此也可以看出,VeryCD公司DLP库和FzH DLP+作为违反GPL不开源的项目,十分难以被他人发现bug问题并及时修正。希望相关人士对自己的用户以及其他eDonkey网络用户负起责任来。
建议
因此给大家的建议是,最后更新于08年、版本号3601的FzH DLP+,在修正bug之前也建议暂且不要使用。而VeryCD公司的DLP库,就算能及时修正也会存在放行迅雷等问题,故也不建议使用。用户可以使用Xtreme的官方DLP库 [7](SourceForge地址 [6])和SDC [11]等项目。至于昵称,当然是不加“[CHN][VeryCD]”、“[VeryCD][CHN]”等标签为好。
回应
【本段落更新于8月10日】在网友质疑之后,VeryCD官方的所谓“电驴使用反馈”版主、ID为“emuleAdmin”的公司员工称以上检测方式是为了检测吸血驴哇嘎(Vagaa)和恶意吸血版本迅雷而设置,误杀正常用户的概率很小,未提及是否将会更改该种检测方式。VeryCD员工自己也认为用户名加“[VeryCD]”在客户端互相连接或连接部分服务器时都没有任何益处。其原话 [12](该贴已被删除)称:
感谢各位驴友的反馈,我解释一下这两个问题:
之前吸血驴哇嘎(Vagaa)的特征就是没有发送modstring却采用了VeryCD昵称,因此我们对其进行封杀,由此带来的误杀的概率是很低的,很少有用户采用官方版eMule却采用“[CHN][VeryCD]yourname”的昵称;如果是因为复制了easyMule配置文件到官方 eMule安装目录中,但目前VeryCD easyMule 缺省用户名已经不是[CHN][VeryCD]yourname了,所以也很少会存在此问题了。
因为之前一直有恶意吸血版本迅雷,故意冒充VeryCD用户昵称并且username中带各种随机标点字符,而modstring甚至都不表面正式身份,不断的冒充各种电驴正规modstring,也造成了我们的一些工作困难,这种行为非常的可恶,因此我们对这种破坏P2P网络数据平衡的违规 eMule协议客户端进行了封杀。
另外,和大家声明一下,如果个人用户签名中使用[VeryCD],在P2P连接交互中或是在连接部分电驴服务器的时候都没有任何益处。建议非VeryCD mod用户没必要采用这个昵称,如果您是不小心使用到了,请在eMule的选项-常规-用户名中修改即可。
测试
这里到文末均为“枯燥”的测试内容,不想看可以略过。您也可以自行对两个有问题的DLP库进行测试。
- easyMule 1.1.14稳定版自带的VeryCD公司DLP v41:http://www.verycd.com/groups/eMuleBeta/899766.topic [13](MD5:69ED080AB99AE1ADE772264F1D7EC43C)
- Fzh版DLP+ v3601来自其Blog:http://fzh.soft2cn.cn/article.asp?id=18 [14](MD5:094016D1A47F6F394A8A789CD04F6BE3)
我所使用的eMule客户端有:
- eMule v0.50a(官方网站:http://www.emule-project.net/)
- eMule v0.50a Xtreme 8.0
- eMule v0.49c ScarAngel 3.3
VeryCD版DLP部分的测试结果
这分明就是用的官方版eMule怎么在VeryCD版DLP的判断下变成当年臭名昭著的吸血客户端Vagaa了?
据悉,因为“[CHN][VeryCD]yourname”是VeryCD客户端的默认昵称,所以有很大一部分从VeryCD客户端转到官方版eMule的用户是直接把config目录的配置文件复制过去的,于是官方版eMule继承了这个昵称,这无疑扩大了误杀影响的范围和程度。
PS:关于Vagaa请参见维基百科的介绍 http://zh.wikipedia.org/zh-cn/Vagaa
反吸血屏蔽的记录:
2.请求下载的eMule v0.49c ScarAngel 3.3和eMule v0.50a X-Mod 1.6.0使用的昵称是:“[VeryCD][CHN]tnnd”,被请下载的eMule客户端是:eMule v0.50a Xtreme 8.0(其加载的是VeryCD版DLP v41)
怎么,正规的eMule Mod在VeryCD版DLP的判断下全变成了当今兲朝最著名的吸血客户端迅雷了?
据笔者估计,因为这个检测仅仅是依靠昵称判断与客户端标识无关,所以基本上所有eMule Mod都遭到波及!而且长期使用eMule的笔者发现,有相当多的用户是这样设置的昵称,所以影响同样相当的大。
反吸血屏蔽的记录:
FzH版DLP+部分的测试结果
以下是测试结果:
1.和VeryCD版DLP一样的是,DLP+里也有一个类似的算法用来检测Vagaa客户端:
ScarAngel加载FzH版DLP+后误杀昵称为“[CHN][VeryCD]yourname”的官方版eMule,返回结果为“检测哇嘎嘎”(哇嘎嘎就是Vagaa的中文名称)
反吸血屏蔽的记录:
2010/8/6 12:19:46: [检测哇嘎嘎](ban)- Client ××××××[故意隐藏] ‘[CHN][VeryCD]yourname’ (eMule v0.50a,None/None/None)
2.不仅如此,相比起VeryCD版DLP来说FzH版DLP+还多出一个误杀:
ScarAngel加载FzH版DLP+后还误杀昵称部分官方版eMule,返回结果为“检测新脱兔”,而事实上只要昵称为“[CHN]XXX”(这里的“X”是任意的英文字母)都会触发误杀。
PS:脱兔属于吸血客户端,详细情况请参见官方版DLP列表。
反吸血屏蔽的记录:
2010/8/6 12:21:36: [检测新脱兔](ban)- Client ××××××[故意隐藏] ‘[CHN]tmd’ (eMule v0.50a,None/None/None)
测试到这里全部完成。