前言与铺垫

当我刚读研一的时候,对自己的未来还是非常迷茫的。尽管我读的是数字媒体技术专业,但是我对这一行根本就不感兴趣,对于平面设计、三维建模以及游戏引擎的使用这一类知识根本就不会,也不太想学(由于我的导师是这个领域的,因此我必须得学一些,毕业设计也得做这个方向的)。当时我的初步想法是学好C/C++语言,毕业之后做一个C程序员,如果学得好的话,也许会去应聘游戏公司,做一名游戏引擎开发工程师。尽管当时我是这么想的,但也没有付出实际行动,因为总感觉自己不是编程的料,没那个脑子。加上我的本科还是学营销的,就更加没有竞争力了。另外,我们研一的课程也是挺多的,也就没有太多的时间来学习自己感兴趣的东西,所以我的编程功力始终停留在计算机二级的水平。那个时候我甚至还在想,如果就这样碌碌无为地过完研究生三年,也许毕业以后只能继续卖苹果去了。

也许是机缘巧合吧,在研一第一学期末的时候,某天无意中在网上发现了一套关于软件破解技术的课程,让我发现了一片神奇的天地,跟着课程练习了几遍,学会了破解的基本原理以及简单的脱壳技术,然后又学习了PE结构知识与汇编语言基础,让我感觉逆向分析领域确实很有趣也很吸引人。从那以后,我就走上了计算机安全的道路。由于逆向破解毕竟是属于灰色地带,而我如果想要从事这方面的工作的话,那么只有病毒分析这一条路了,所以我就改变了志向,希望成为一名病毒分析师。

带我走上这条道路的就是小甲鱼老师,他还创建了一个技术交流网站,叫做“鱼C论坛”。我鱼C的VIP会员就是那个时候买的,毕竟不能让小甲鱼老师白给我讲课,不能让传播知识的老师喝西北风吧。尽管我是论坛的VIP,但事实上我一般很少去论坛看帖发帖。习惯了看视频教程,再看文字版的技术知识就看不下去了,而且在论坛和大家扯东扯西也没什么意思。加上后来当我看完小甲鱼老师的相关课程以后,我就开始自己研究了,就更把这个论坛抛在脑后了。但是令我万万没想到的是,时隔三年,我竟然与这个论坛产生了一些瓜葛,发生了一些特别奇葩的事情,让我彻彻底底地开始厌恶起这个论坛的人和事。而这一切的开端,就是源于一封电子邮件……

来自鱼C论坛的邮件

今年9月9号晚上7点多的时候,我收到了来自鱼C论坛的一封电子邮件,内容是他们和51PB要联合举办一个名为《我的学习路》的有奖征文活动,征文内容是大家学习编程的心路历程,分享一些学习经验和技巧。我看他们的奖品还是挺诱人的,一等奖到四等奖分别是1000、500、200和100块钱的京东购物券。其实鱼C论坛以往是不给我们这些VIP会员发邮件的,也许是考虑到有新的消息能够第一时间告知会员,才在今年7月份开始提供了这项服务。如果不是给我发邮件,我简直都要忘了还有这么一个论坛。

当时见到鱼C举办的这个活动,我觉得不错,打算参加凑个热闹。因为那个时候我的《从苏宁电器到卡巴斯基》系列还剩最后一篇就结束了,而这个系列的文章正好可以完整反映我的学习路,因此我觉得自己参加这个征文活动还是很有竞争力的。于是我当天就急急忙忙地写完了第36篇大结局,晚上快十二点的时候,发在了我的CSDN博客上。接下来就打算修改一下这36篇文章,从而写出参赛的版本。

参赛

由于我的36篇文章累计有17万字,相信即便我写得再精彩,直接提交参赛的话,也很少有人愿意一口气看完,因此我就打算大幅度地缩减字数。原始的系列文章是从我本科时候开始写起,一直到我入职卡巴斯基作为结束。我觉得其中很多内容可以一笔带过,于是就把我的本科到读研究生(双证)之前的这8年时间,用几千字就概括了。接下来的研究生阶段,也主要是突出我学习以及求职找工作的内容,把我与导师之间的矛盾,我毕业的曲折等故事通通删掉了。这样一来,就剩下了大概两万字的内容。本来还想再删一些,但是考虑到这两万字似乎字字珠玑,于是就没再进行大幅度的修改。接下来我为了突出鱼C论坛,就把原文中其它网站的名字,比如CSDN、看雪论坛以及吾爱破解等,全都换成了“某网站”。再三审查之后,觉得没什么问题了,于是也就提交到鱼C论坛的参赛版块了。两万多字也还是挺多的,限于他们的论坛设置,我的帖子里只能发一万多字,余下的几千字,我就发在了二楼,相当于是跟帖了。所以我一共用了两层楼(注意此为铺垫)来承载我的文章,接下来就静待大家的评阅了。

鱼C论坛举办的这次活动的评分标准,是依据“最终得分 = 评分分数(获得的鱼币总和)+点评分数(每一颗星算一分)”这个公式来计算的,论坛的全体人员(包括论坛管理人员)都可以参加征文比赛也可以参与评分。我的文章是11号提交的,尽管距离开赛仅仅过了两天,但是在我之前也有几个朋友提交了自己的文章。我大概看了一下,他们写得都比较简单,因此我觉得我的优势很大。而从实际的情况来看,我的文章也是好评一片,我的分数疯狂上涨,很快就突破了一百分,牢牢占据着第一的位置,拉开第二名分数越来越多,连续好几天都处在“独孤求败”的位置。于是我觉得第一名稳了,甚至开始计划那1000块钱的京东券该怎么花了。

成为实习版主

这个时候,论坛的一个“元老”也发现了我的“回归”,私信建议我申请论坛的版主职位。最开始我是委婉拒绝的,因为我实在是没兴趣处理论坛事务,毕竟在我看来这就是费力不讨好的事情。但是到后来我遭不住那个“元老”天天对我的劝说,我也就答应了。“元老”建议我申请“加密与解密”版块的版主(其实申请就是走个形式),发了申请贴,很快小甲鱼就批准了,于是我也开始了实习版主的生涯。

其实我也不知道应该怎么当实习版主,也不知道自己每天应该做些什么。因为目前论坛最为活跃的当属Python板块,“加密与解密”已经是明日黄花,在我看来就是扶不起的阿斗了。我看到这个版块里面有很多历史遗留问题,也就是网友发的提问贴已经过了好久都没人来回复,这样的帖子有很多,而我正好也比较闲,于是也就一一认认真真地写出了我的答案。其实大家的问题还是挺有代表性的,我在想如果我当初在学习的时候,也能有人来指点我,也许我能够提高得更快。其中还有一道宣称是CTF竞赛破解题,来求思路。我简单分析了一下,觉得还是挺简单的,就写出了比较详细的思路和解法。毕竟也是好久没做破解了,解出这道题让我有些兴奋,还发了一条微博来记录一下:

在回答完这些历史遗留问题之后,我突然感觉没事干了。当时听说小甲鱼要举办一个破解比赛,我可能要参与出题,内心有点忐忑,毕竟自己的编程技术还是太渣,让我做个破解也许还可以,但是出题的话,就不知道咋办好了。可惜的是,我并没有坚持到那个时候。

矛盾

回顾我的这十多年,发现不管大事小事,只要发生在我的身上,就总是会出现各种各样的奇葩事情,从而导致令我非常不爽的结果。在鱼C论坛也不例外。

当时我想要用Python加上正则表达式来实现两个功能。由于我对这两个方面的知识并不太了解,我见论坛的Python版块比较活跃,于是就发了一个帖子来问这件事。结果Python版块的实习版主很快就回复我了,说这个问题很简单。我说既然你觉得简单的话,那么这个程序应该怎么写?没过多久,他就把两个程序写出来并且回复我了。当时看了他的程序,我很不理解为什么他们喜欢利用Python的Shell命令行来写程序,一行一行地录入并计算,就好像是把Python当成了一个超级计算器。

不过这都没关系,黑猫白猫抓住老鼠就是好猫。由于我是希望利用一个Python脚本程序来完成两个功能,因此我就把他给我的命令行程序写成了一个.py文件来尝试看看行不行。结果就一直报错,于是我就怀疑他的程序仅仅支持Shell的方式运行。而不能以一个完整的程序的形式执行。由于我需要的是一个程序,准确来说是一个.py文件,Shell程序对于我来说是没有用的,我并不需要Python这样一个超级计算器。另外,我对于他的程序的写法也产生了质疑。举个例子来说,我希望Python程序能够实现把文本中的十六进制ASCII字符码转化为对应的字符。比如文本中要是出现了“\x41”,那么我希望通过Python的运算与转换,将它变成字符“A”并写入一个新的文件。可是他给我的方法,确实能够在屏幕上显示出字符“A”,但是我怀疑这仅仅是显示出来了,而没有实现真实的转换。于是我就把我的疑问在帖子里面回复给他了。

他说他的方法就是实现了真实的转换,我说你的方法仅仅是在显示器上把目标字符打印出来了,并没有实现真实的转换,我用print函数直接打印“\x41”也能够把字符“A”显示出来,但是这样的结果我是不需要的。没想到他竟然不耐烦了,说大家都是实习版主,我怎么就这么磨叽,说我提出的问题他已经解决了,既然已经解决了,那么他就要删帖了。我说你的程序没有达到要求,问题还没解决,为什么要删帖?接下来他私信我说,不想再和我纠缠了,活该我不会。这个时候我还没生气,在原帖又重申了一下我的要求,然后他也不和我讨论程序了,直接说我是“伸手党”之类,开始了人身攻击。我说既然论坛有提问版块,我来这里问问题,怎么就成了“伸手党”?既然这样的话,论坛干脆取消提问功能算了。

就在这个时候,Python版块的大版主,同时也是论坛管理员的一个人,出来说“公道话”了。不愧是“护犊情深”,他直接无视那个实习版主对我的攻击与恶劣态度,指责我不要纠缠,因为问题已经解决,还说我没把需求说明白。也就是说,一切的错误都在我。

他说的那些话,直接让我感觉不爽了,我再次把整件事给他复盘了一遍,却遭到了他的无视。也许是找到了靠山吧,那个实习版主继续跳出来攻击我了。本来就是讨论技术的,却引发了一场口水仗。算了,他们抱团取暖,真的让我心灰意冷。

不再担任实习版主

出现了这种情况,我也不想再讨论什么问题了。权衡了一下,于是到最初的版主申请专区发了一个帖子,内容是我不想再担任实习版主的职务。一方面是由于自己水平不足,很多网友的问题我都无法解答,另一方面是自己受到了非常不公正的待遇,指出Python的大小两个版主对我的攻击,并贴出了原始帖子以及私信内容。

令我万万没想到的是,尽管已经是证据确凿,但是论坛的其他版主或者管理员竟然一边倒地支持他俩,有点良知的也仅仅保持中立而已。此时Python的大版主(管理员)话锋一转,开始指责我为什么要公开这件事,并提出了一个新的“论点”,那就是那个Python的实习版主还是个孩子而已。我心想你开始道德绑架了啊。说到“还是个孩子”这几个字,不由得让我想起来之前网上流传的一个挺火的视频——

http://www.miaopai.com/show/RAZkzeCAnNzjtGsGwwcrug__.htm

既然大家是这样的态度,那我还有什么好说的呢?只能祝鱼C论坛越办越好了啊。后来尽管小甲鱼私信跟我说了不少好话,但我依旧坚持辞职,他也就批准了我的申请。

彻底决裂

辞职之后,我只剩下征文比赛还和鱼C有点关系了。然而奇葩的事情还没有结束。我之前说了,自从我参与了征文比赛以后,我基本上是稳居了第一的位置,其实这也是合情合理的,因为尽管大家的参与程度很高,但是鲜有佳作,因此获得的评分也就不高。距离比赛截止还剩一个多星期的时候吧,论坛的管理员们还有版主们突然开始发力,一个接一个地发文章。客观来说,他们的文章水平和其他的网友相比,并没有特别出彩的地方,也都是半斤八两,但是他们这些管理员之间却疯狂打高分,包括一些比较资深的坛友,也会来拍马屁,给这些管理员和版主猛打高分。举两个例子,比如下图:

其中叫做“无符号整形”以及“无名侠”的这两个版主,一共给叫做“Minhal”的版主(后来得了一等奖)打了40分。再看另外一个例子:

又是这个“无符号整形”,再次给“~风介~”(后来得了二等奖)打了20分。而“无符号整形”仅仅给我打了6分(后面会上图)。遇到这种情况,我有什么可能在分数上超过他们呢?看到自己的分数被一个又一个“关系户”超越,我也就不再天天关注我的得分了,心想第几名都无所谓了。我也在不断地调低自己的期望值,最初觉得1000块钱就是我的了,后来觉得500也可以,再后来……重在参与吧。

其实关于评分不公平这件事,当时我也私信跟小甲鱼说了,令我大跌眼镜的是,他竟然反问我,说难道我在平时的工作和生活中,事事都是公平的吗?我心想明明是你比赛组织上有问题,现在竟然又赖到我身上了。这我还有什么好说的呢?直接“粉转黑”,只能再次祝论坛越办越好了啊。

公布结果的日子很快就到来了,虽说已经不报任何希望,但也还是好奇自己究竟能得第几名。于是就看到了这个评分:

看到这个,我已经不知道说什么好了,只能理解为他们是要故意做掉我了。我在这个帖子下留言说,我的评分算错了,我应该是138分,即50+88=138。首先跑过来回复我的是“加密与解密”版块的大版主,同时也是论坛的管理员。她回复说计分并没有错,分数是“鱼币数”加上“点评数”,而不是把所有分数都加上。我心里想,你在回复我之前,是不是应该先去我的参赛帖子下面看看呢?动动鼠标去确认一下究竟有没有算错,是一件很难的事吗?不去确认,直接否定我,我只能说鱼C论坛的兄弟们不愧是一丘之貉啊。不过那个时候我已经不想再争论了,直接把我的原帖中的评分截图回复在了评分贴的下面:

下图是我原帖二楼的评分:

点评分加上鱼币数,一共是138分,也就是我的最终得分。好了,目前证据确凿,那个管理员终于闭嘴了。末了她还做了一件好事,at了小甲鱼,于是就得到了这个修改后的评分表:

相信大家通过上图也能看出来,其实这次征文比赛的本质,就是鱼C管理团队的内部福利。估计小甲鱼他们也没想到,我会来参加这次比赛来“搅局”,因为我作为一个路人甲,一个打酱油的,竟然乱入得到了100块钱,至此,我都不知道该怎么写下去了。最后的最后,只能祝鱼C论坛越办越好了啊。

后记

后来我删除了我在鱼C论坛的一切,包括我的文章,我的个人信息以及所有的回帖。我不打算再回到论坛,毕竟也是多我一个不多,少我一个不少。对于评分计算错误这件事,小甲鱼可以有千千万万的理由来为自己开脱(比如没看到,没注意看之类的),我也不想讨论过多,相信大家看了上文会有自己的评判。

鱼C的江湖,我还是不再涉足为好。我不想为虎作伥,狼狈为奸。你过你的独木桥,我走我的阳关道。就这样吧。

《从苏宁电器到卡巴斯基》终稿完整版,请访问

https://user.qzone.qq.com/3149487460/blog/1494822165

最新文章

  1. TCP进制转换
  2. ADO.NET常用对象
  3. 用Python实现多核心并行计算
  4. vi使用
  5. 数据操作语言DML与运算符
  6. 发布App,赢iPad mini + 美金100$ - Autodesk Exchange 应用程序发布竞赛
  7. IP地址(IPv4)/IPv6地址的正则表达式
  8. 比较两个mysql数据库表结构的差异
  9. SQl格式化日期时间
  10. 不同浏览器JS获取浏览器高度和宽度
  11. 函数重载二义性:error C2668: 'pow' : ambiguous call to overloaded function
  12. Hibernate学习之get和load区别
  13. Java面试题之Class.forName的作用
  14. 【转】How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Android x86 Emulator
  15. quartz定时任务cron表达式
  16. CSS Grid 布局
  17. JSONObject基本内容(三)
  18. php bccomp的替换函数
  19. android触控,先了解MotionEvent(一)
  20. The current .NET SDK does not support targeting .NET Core 3.0

热门文章

  1. [转载]Android MVC,MVP和MVVM 思想&例子
  2. double型数据的输入和输出--%f和%lf
  3. MySQL使用入门--初识数据库
  4. 简单的webRTC连接测试
  5. Java I/O流 02
  6. FreeBSD 12.2 已经发布 从现有版本更新到12
  7. Android 学习之活动的生命周期
  8. BST(二叉搜索树)的基本操作
  9. ICMP主机探测过程
  10. 【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行