大家好,我是IT男。今天,我被一些业内的同行给震惊到了。一些我认为很基础的操作,让他们搞得神乎其神,低端技术高价盈利,就连月薪过万这种梦,也让他们不屑一顾。
我说我干活,按照一天600来报价。他们说,一天600是扰乱市场。
唉,确实软件工程师毕业一两年就可以轻松实现月薪过万。我清楚地记得2016年时,我在一家中小型企业任技术总监,我可以拿到部门人员清单。我们研发部60个人中,没有一个人的工资是低于五位数的。但是大家不知道,其他很多行业想要月薪过万,这是很难达到的。我问过一个卖烧饼的,他们从早上5点就来店里打酥油,晚上八点才收工。一周只休息一天,他们店长也不过月薪才6000元。
我从事互联网十多年,从最初在移动互联网写App,到现在人工智能搞算法,我一直奔走在技术的前沿。虽然我的技术不怎么样,但是最新的见闻还是有的。我始终觉得我们这些软件工程师是被捧起来的,身价存在严重的泡沫。大家都是熟练工,本质上和卖烧饼的不存在特别大的差异。只不过是资本市场的风口吹过互联网,但是没有吹向烧饼铺。
长期的行业经验,我还担任一些IT大赛的评委。因此,对于软件大赛我也有一些浅薄的指导经验。
前几天,有一个朋友找到了我。他发来一支参赛团队的答辩视频、PPT,以及项目源代码。当然,我不是这个比赛的评委。他只是想让我看看有没有硬伤,或者可以拔高的点。
我一看就发现了一个严重的问题。
其中最重要的一点就是源码文件的时间信息。这个比赛的赛期是今年3月到6月。但是他提供的项目代码中,最新的日期却是2022年12月份的。也就是说,这个团队是拿着老项目参加新比赛。或者说,还没开赛他们就写好了。
我说,这个项目的文件日期存在隐患。评委可以不关注,也可以特别关注。即便你们再优秀,单凭这一点,它无法让你们胜出,但是绝对有理由让你们直接淘汰。
朋友说,那怎么办?我告诉他,最好修改一下文件的属性信息。
因为在文件系统中,每个文件从创建到修改再到访问,是有时间线记录的。比如上图那个文件是"2022年12月24日 8:23:37"创建的。后来"2022年12月24日 9:18:09"修改过。最后,昨天晚上"2024年5月20日 21:34:08"被打开看过。
我告诉朋友,现在随便找一个文件属性修改工具,去给文件批量打一下时间标记,让时间落在比赛周期内。这并不是作弊,因为不好说是什么系统原因导致了时间错乱。不管怎么样,我们最好别漏出很明显的漏洞。
后来,朋友向我反馈说,你那个方法也不简单啊,这些软件收费,而且还好贵!
我一听不相信,就这点活儿也要钱?增加个粉丝赚个流量,或者再不济嵌个广告也就到头了。我一搜,还真是没有讲技术的,都是软件的广告宣传。
我说,我给你写个软件吧!
首先,读取文件的时间。
读取时间信息的活,总共就上面这点代码。这是读取了一张PNG图片得到的信息:
我们看到,它的时间信息是精确到了微秒,也就是百万分之一秒。因此,你对一个文件进行鉴定时,如果它的时间全是".000000",那么你要小心了。这可能是经过软件修改过的,而且修改的还不仔细。因为正常情况下,很难正常卡到".000000",这个时间恰巧需要百万分之一秒。
读取信息说完了,接下来我们要对文件时间进行设置。
同样代码也不多。而且很多代码是在处理微秒不为".000000"的问题。如果不主动设置微秒,则给出一个随机值。我们将文件的创建时间设置在1996年的05月20日,并且在1998年06月19日凌晨进行了一次修改。下面是修改以后再去查询的样子:
如果再细致些去查询的话,修改时间的值是1998-06-19 00:00:11.726002,是精确到微秒的。
这是对于一个文件,如果要批量操作,可以循环文件夹内的每个文件,单独设置。最好引入某个范围内的随机数,不要让所有文件都同一个时间。
另外,如果一个文件执行复制或者剪切操作,会出现怎样的情况呢?
还是拿上面1996年的图举例子。
如果是剪切,相当于文件挪了一个地方,文件依然还是那个文件。它的创建时间、修改时间是不变的。
但如果是复制,属于重新创建了一个新文件,创建时间会变成现在时间,修改时间不会改变。
这就存在一个奇怪的现象,文件明明是2024年创建的,但是在1998年修改过。
如果你不是程序员,不动代码能修改吗?可以,将系统时间调整到你想要的就可以。
比如,我们想生产一个2030年创建的文件。首先修改你电脑的系统时间。
然后对文件进行创建、复制或者修改,文件信息就会变为新设置的时间了。
因此,这些时间都是参考,一切文件都是由1和0组成的,不能全信。这也是法庭上很多电子证据,往往要求呈现原始载体的原因。