维基百科内容清洗与二进制差异分析的历史文档
我是维基百科的忠实粉丝——有时我会像别人看电视一样浏览维基百科,从一个话题跳到另一个话题,总体上对文章的质量印象深刻。
然而,近年来我注意到,维基百科的基层民主原则使其容易被操纵和洗白——维基百科的指导方针非常严格,一个人可以通过巧妙地利用这些指导方针来质疑条目,从而删除大量负面信息。这并不是维基百科的错——事实上,我认为这些指导方针是有用且合理的——但阅读特定页面的历史记录往往很有启发性。
最近,我偶然发现了一个特别有趣的例子,忍不住想写一写。
十二多年前,当BinDiff还是全新工具、wingraph32.exe仍是首选的图形可视化工具时,围绕一款名为“CherryOS”的产品曾引发争议。该产品声称是一款苹果模拟器。一名学生在其网站上指控“CherryOS”挪用了开源项目“PearPC”的源代码,而销售CherryOS的公司创始人(名为Arben Kryeziu)因此对这名学生发出了法律威胁。
为了支持正义,我们快速分析了CherryOS与PearPC之间的代码相似性,发现CherryOS中约一半的代码是直接从PearPC复制粘贴的。我们撰写了一份简短的报告,并将其提供给被指控学生的律师,这场风波很快平息。维基百科曾有一个页面详细记录了此后几年的部分争议。最近我偶然看到CherryOS的维基百科页面时,感到非常惊讶:页面已被清理,删除了所有支持代码抄袭指控的信息,并提供了一个从未有 conclusive consensus( conclusive consensus)认为CherryOS存在大量挪用代码的叙述。这完全不符合当时的事实。
无论如何,命运弄人,我还发现了一个旧U盘,里面仍保存着2005年我们撰写的笔记草稿。为了历史的缘故,这里分享给大家 :-)
我已经忘了在wingraph32中查看反汇编控制流图是多么痛苦。有时,当我对自己职业生涯中逆向工程工具的改进速度感到沮丧时,回忆一下那段“黑暗时代”的样子还是很有帮助的。