我的计算机之路

我的计算机之路

引子

前几天看到一句话:如果你不选择计算机大类这条路的话,你会选择什么?

我对计算机是很热爱的,如果我不走这条路的话,我大概率会选择烹饪相关吧 23333。做一些美味可口的饭菜,做一些可爱的小蛋糕 🎂,做一些可爱的小面包 🍞,给我爱的朋友们和家人们做食物我是很乐意的, 只要不洗碗就好(逃)

启蒙

我为什么会对计算机感兴趣呢?

从小就觉得敲代码好酷啊,小小的我看着电影里的黑客,对着键盘噼里啪啦一顿操作,电脑界面上就开始滚动着花花绿绿的指令。甚至可以让一个城市大停电——此处参考电影

外加当时的时代背景(2014 年左右),那时的行业可别现在好得多了,程序员就是有面子和有钱工作的代名词。起码在我生活的小地方,那些长辈是这样认为的。面朝黄土背朝天辛勤劳作的人们,对可以坐着办公室吹空调,不惧酷暑或是严寒的工作很是看好。这样更加重了我对这个行业的向往。

第一次 Hello World

五年级的时候得到了人生中第一个智能手机,从此就开始摸索各种和代码相关的东西。第一次知道了有个叫 CSDN 很厉害的社区,现在看 CSDN 只会觉得它就是一坨,但它也确实给了当时的我很多帮助。和大多数人一样,学习的第一门编程语言都是 C 语言。家里的电脑没了,下文会细讲。于是我只能在应用商店下载了叫“C 语言编译器”的软件,它充满了弹窗广告,当时的我也没有其他选择了,只能用着它来学习 C 语言,对着 CSDN 的教程磕磕巴巴的敲下人生中的“First-Hello-World”

1
2
3
4
5
6
#include <stdio.h>

int main() {
printf("Hello World!");
return 0;
}

随着不断的学习再加上小孩子的玩心,便开始整那些现在看起来很尴尬的花活————C 语言画爱心,画出来很难看就是了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>

int main() {

for (float y = 1.5f; y > -1.5f; y -= 0.1f) {
for (float x = -1.5f; x < 1.5f; x += 0.05f) {
float a = x * x + y * y - 1;
putchar(a * a * a - x * x * y * y * y <= 0.0f ? '*' : ' ');
}
putchar('\n');
}
return 0;
}

热爱加强

小学过得很快的,转眼升到了初中。也遇到了志同道合的朋友,直到现在 ta 也是我佩服的人。自学能力自制力都强的人,身上有一种魔力,让很多人想和 ta 成为朋友。有种错觉:认识的好多学计算机的朋友性格都挺孤僻的,当然我也挺孤僻的。

当时提高技术力的时刻大部分都是晚自习,完成了当天的作业,借 ta 买的那些技术书籍来看,到现在还记得里面有最经典的网页三剑客,甚至开发用到的工具还是古老的 DreamWeaver,在封闭式学校也无法过多练习,当时也就走马观花的过了一遍基础内容,然后鬼画符似的在草稿本练习——试图进行人脑渲染

1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>这是我的第一个网页</h1>
</body>
</html>

另外一件在初中扯到和编程有关的事情就是 excel 公式吧,数学老师兼班主任上课的时候在用 excel 表给他的女儿出题,因为是自习课所以老班才会干这事。

这老班也挺性情的,他也是一个资深烟鬼。靠着教学时间长,校领导也不会随便罚他。因此就引出了——他上课的时候去教室后边抽烟,把烟头丢到垃圾桶后,烟头竟然死灰复燃了!这不是立即的事情,而是他的课下了之后。第二节语文课发生的,课上到一半,我们闻到了怪异的气味。语文老师火急火燎的喊人灭火,然后去隔壁教室喊他过来处理 🤣🤣🤣,这也算是我初中时代为数不多的乐趣了。扯远了,又扯远了。

老班在班里的电脑上操作,我像大多数同学一样,抬起头看他操作,他也很敬业的说道:“把头都低下去好好学习!你们要是看一遍就能学会的话我也不会阻拦!”,大多数同学都把头低下去了,只要我和几个比较皮的同学抬起头偷看他的操作。这就是一个很简单的生成随机数公式,当时的我还没有这个概念。看到他敲完这么一个当时看不懂的公式,然后鼠标一拉就出现了一长列算术题,当时就觉得好神奇,现在看来也没那么惊艳了

1
2
3
=RANDBETWEEN(1,100)&"+"&RANDBETWEEN(1,100)&"="

=RANDBETWEEN(1,100)&CHOOSE(RANDBETWEEN(1,2),"+","-")&RANDBETWEEN(1,100)&"="

初中也过得挺快的,转眼就是各种水平测试,印象最深的就是计算机水平考试了。其实也挺简单的,无非就是给 word 文档稍微排一下版,改个字体改个颜色,用一下格式刷。还有给 ppt 加一些切换动画,就这样简单的内容,学校还是给我们培训了半个多月的。初中学校条件一般,机房就是奢望。那么我们怎么练习的呢?学校对面就是我们市的体校,条件可比我们学校好太多了,于是我们就到体校的机房里去训练。也算是见到早期体育生了。

人生第一台笔记本电脑

我家其实是有电脑的,一年级的时候,我家购入了电脑,当时我只会玩 4399 网页小游戏,还有罪恶都市,玩罪恶都市下的还是英文原版,任务什么的根本没有这个概念,只会抢一辆车然后到处乱逛到处乱撞。父母觉得玩游戏太伤眼睛了,某次在电脑出了需要重装系统问题后,他们便直接斩断了我和电脑的联系,那个阶段知识储备不多的我也是无能为力。要是一直都有它的话,我计算机水平也许要比现在好吧 23333

好不容易上了高中,家里的老电脑真就那样放坏了。妈妈也给我买了一台新的笔记本电脑——惠普战 66,忘记当初是怎么软磨硬泡同意的了。

有了新电脑之后,我的技术才算开始真正的成长。像一个小白一样,从最简单的解压缩了解起。电脑上第一个压缩软件还是 360 为数不多的产品——360 压缩。360 杀毒”“恶名远扬”导致我避雷成功。

逐入正轨

前端

前端算是我投入时间最多的了,那时候看着教程学习,听到最多的一句话就是 学 IT 找黑马,黑马程序员年薪过万

现在可以说黑马噶韭菜比较严重,但它的课程还真是我梦开始的地方,印象最深的一位黑马讲师就是 pink 老师,视频教学相比文档教学效率是慢了不少,但对当时作为初学者的我来说还是很友好的。也很喜欢 pink 老师的教学风格,跟着学完一小段时间之后,独立做出仿小米侧边栏都觉得收获不小,现在看来都是小儿科还得继续学习,AI 技术发展的越好我反而越焦虑,严重感到了自己专业知识储备不足。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>简单版小米侧边栏</title>
<style>
/* 1. 把a转换为块级元素 */
a {
display: block;
width: 200px;
height: 40px;
background-color: #55585a;
font-size: 14px;
color: #fff;
text-decoration: none;
padding-left: 30px;
line-height: 40px;
}

/* 2 鼠标经过链接变换背景颜色 */
a:hover {
background-color: #ff6700;
}
</style>
</head>

<body>

<a href="#">手机 电话卡</a>
<a href="#">电视 盒子</a>
<a href="#">笔记本 平板</a>
<a href="#">出行 穿戴</a>
<a href="#">智能 路由器</a>
<a href="#">健康 儿童</a>
<a href="#">耳机 音响</a>
</body>

</html>

随着不断学习,很快就把网页三剑客都学的差不多了。可惜的是像样的收尾项目也没做出来过,学完基础后就按部就班的继续深入,开始学习 Vue 了。那会尚硅谷的 Vue 教程很热门,钟爱张天禹老师,大家都喜欢叫他禹神,这位张老师的声音很有辨识性,像极了讲评书的。声音抑扬顿挫只要这样才不会让我学的时候开始犯困 23333。因为学的比较着迷,又开始折腾 Vscode,装了好多插件,在折腾插件的途中结交到了新的朋友,大我三四岁的一老哥。但他一直以为我们年龄相差不大,我也很默契的没有点破。一辈子都可能不会见面,但一辈子都是好朋友,希望他可以早日还清贷款重新找回开发岗的工作吧。

小小的焦虑

学习的过程总是枯燥的,我好容易学着就学不动或者忘记了之前学的东西,那会只会记笔记,也没有发平台或者建博客的想法。导致丢失了好多记录的东西,学东西的速度要赶不上技术迭代的速度了。没学到多少东西的时候,觉得自己会的挺少的,现在学到了更多东西,更觉得自己会的少了。这是我学习的途中感受最深的地方,Java 30 周年(2025 年 5 月 23 日)我还在感叹,再过 30 年我还会对计算机,对技术保持热爱了。说的似乎有点远了,到了我 30 岁的时候我还能依旧保持热爱吗?

世界上最好的语言.java?

前端相关的东西学的差不多了,我便开始学习后端一点的东西,就是大名鼎鼎的 Java!

1
2
3
4
5
public class HelloWorld {
public static void main(String[] args) {
System.out.print("Hello World!");
}
}

Java 我算是比较熟悉的了,没人不爱玩 MC。Java 我学习起来还是比较吃力的,都说 C 语言学好了就是基础打好了,我 C 语言也是半吊子水平。写到这里了,给自己立个 flag 吧。假期的空余时间一定要巩固一下相关的知识,当时的苦逼高中生活也没有太多时间来折腾这些。

xmsl

我很羡慕那些自小就可以打 OI(Olympiad in Informatics,信息学奥林匹克竞赛)参加各种比赛的同学,小地方落后的教育和信息差,导致我高二下半年才知道这个东西。还是和网友聊天知道的,网友“眠神”知道我是高中生且计算机能力比较强(对比普通学生)。于是他问我是不是信竞生?我直接问号脸,这是什么东西。被科普的才知道还有这么一个东西,第一次感受到教育资源分配的不均和信息差。总归就是羡慕同龄人或者比我小的”“同行”们,有过如此丰富的经历和能力。

为爱发电

高中期间产出几乎为 0 吧,但也不能这么说。期间加入了一个为爱发电的游戏攻略组,算上今年(2025)年,她已经运营 5 年了。在里面也认识到了很多朋友,学习到很多东西。虽然说都是为爱发电没有报酬的,但得到的情绪价值要远比得到报酬要高兴。直到今天我还在攻略组里面持续输出,只是摆烂了一点点。要说学到了什么东西呢,平面设计?团队协作?这两个多少都学到了,平面设计也是我投入比较多的,但是也随着摆烂而手生。

逆向

因为爱折腾加上手上没有多少钱,我便很喜欢白嫖一些资源,比如软件和影视资源。相比来说软件还是多一点的,破解版软件用多了就开始想着它们是怎么被破解的呢?于是我便把目光转向了大名鼎鼎的”“吾爱论坛”和”“MT 论坛”,俗话说得好,开发决定高度,逆向决定深度。渐渐的我掌握了基础的内容,学会了怎么去除弹窗,怎么加自己的弹窗,怎么给已经加固的软件脱壳。

1
2
3
4
5
.method public Qcai()V
.registers 2
const/4 v0, 0x1 ; 梦开始的地方,第一个练手软件
if-eqz v0, :label
.end method

但在我看来,在逆向上的支出算是最失败的自我投资

就业

对于非关联专业的个人逆向人员,很难被有关厂商聘用。这无关技术高低,而是中国就业所存在的问题:第一学历,学科专业的权重远远大于其他要素

国内目前大多数个人逆向者并不是相关学科专业人员,这也导致这些不是科班出身的逆向者绝大多数只有初中级的水平。而由于目前网络安全产业的成熟,初中级逆向者对于厂商是没有价值的,就拿移动安全为例,一些成熟免费的开源方案—vmp,dex2c,ollvm 混淆就已经能够挡住这些人了。

而且安卓逆向有个通病,就是对于采用服务器验证,服务器处理方案的应用,是没有任何办法做到破解的,这需要 web 渗透,渗透服务器更改数据。而 web 安全相比于移动安全,更加成熟,现在想渗透一个大厂的服务器可以说是不可能的。

可以预见的是未来随着 5G,6G 以及云服务器的成熟,会有越来越多的个人开发者及厂商采用服务器验证,服务器处理方案。采用本地会员方案的将会越来越少,直至消失。

时间成本

移动安全等互联网行业的主要特征是:没有什么最强的技术,只有不断的高速迭代。而移动安全的正逆向对抗更是快速更新迭代的。
就拿众人所熟知的 360 加固破解签名验证来说,往往逆向人员刚研究出破解方法,就会被 360 安全厂商快速和谐,短则一周,长则一个月。

而专业化对抗需要投入大量时间,逆向人员在攻防对抗中本就处于劣势(因为安全方案的成熟与开源),这样一来逆向的时间成本是远远大于安全风控的时间成本。

举个例子,安卓软件仅仅需要十几分钟进行定制化的 vmp 和 ollvm 混淆就需要逆向人员花费大量时间研究了。

而普通逆向受众群体主要是逆向本身的小圈子以及一些圈子外用不起正版的。这天然就使逆向的市场很小。对于高级逆向人员,可以通过卖课,卖工具等赚初中级逆向者的钱。而初中级逆向者投入巨大,最终却没有什么实质性的回报。(引流,二改等社区之所以能够赚到钱是因为这些人有渠道,有用户群体,本质上可以理解是中间商,能够赚钱并不是因为这些人会逆向。)

部分逆向者以自用来麻痹自我,说玩逆向不是为了赚钱,而是可以帮助减少一些会员等付费服务。但你真的赚了么?使用厂商等资本性质提供的服务本就是消费行为,自用只是把金钱成本转移到时间成本上,而这些没有意义的消费行为,本就是可以完全避免掉的。
法律风险

未经允许逆向被法律保护的厂商与个人开发者的应用是违法的。

这一点是无疑的,上一个说技术无罪的人早就被刑事处罚。虽说王欣是因为传播**,但近些年因为碰瓷大厂而被判破坏计算机系统罪而进去的也不少。如果非要我说出具体是谁才信的话,那大概就是大牛助手的开发者(钉钉虚拟定位),Pandownload 的开发者(百度网盘 pj 限速),众多 “微信自动抢红包” “** 助手”,以及众多外挂作者。外挂勉强也可以是属于逆向圈。

而之所以现在很多已经违法了的逆向人员没有被抓主要是因为以下几点:

  1. 没有非法获利,也就是没有赚到什么钱,没有破坏厂商太多利益,也就是情节轻微,不具有社会危害性。

  2. 立法跟不上时代,导致法律对于互联网违法行为的具体条款不完善,虽然说法无明文规定不为罪,但是要是惹到了南山必胜客,龙岗无敌手,海淀不倒翁等大厂…..另一方面就是执法人员里大多对互联网,计算机等新型事物不够了解,对于一些逆向违法行为,并不知道怎么处理,没有主观积极性。

  3. 之前互联网的软硬件设施不够完善,导致执法成本高,违法成本低。但是现在已经取得了天网工程,实名制上网,基站精准定位,系统内置反诈中心 app 等成果,执法容易了很多。

但是相信在不久的将来,这些问题都会在互联网大厂的推动下得到更妥善的解决。版权保护就是个很好的例子。

至于合法的逆向行为,比如分析病毒,木马等也会越来越少。因为系统越来越成熟了,厂商的安全防护也越来越到位了。曾经令人闻风丧胆的 p2p 下崽器已经被 windos11 给终结了。存在敏感权限,恶意代码的软件也不能无视风险安装了(鸿蒙 3)就算再出现一次永恒之蓝那种利用系统内核级的漏洞的病毒也是会被安全大厂快速解决掉,和初中级逆向安全人员没有关系的。

至于花费大量时间成本与金钱成本从初中级逆向安全人员进化成高级逆向安全人员有没有可能?有,但意义不大,因为不是科班出身,很难进入大厂。而创业也竞争不过那些大厂。至于非法获利?那我只能祝好运。

大学

随着时间的推移升入了大学。开始进一步学习自己喜欢的东西,大学可支配时间多了起来。由学校支配的时间可以说是一言难尽,落后了不知道多少年的技术教学,谜一样的排课。第一学期教了 HTML+CSS,中间空了一个学期,第三学期开始教 js。反正我是理解不了这种课程安排,JavaWeb 教的还是老技术 jsp。大学的课程为什么不能与时俱进呢?

一些为了卷排名的同学,也只会“死学”学校教的课程,甚至有人 背代码,这便是学习数据可视化的时候发生的事情。最后这位同学成绩单很漂亮,甚至可以接同校同学的单来赚零花钱。但是问她一些常识性的问题的时候她是不懂的,对应的技术都说不上来名字,只会说对应的开发工具名字,比如:Hbuilder 作业,没错学校教学用的就是这个工具,虽说我不会有开发工具鄙视链。但作为学计算机的学生,只知道这一个工具是否有点………..

由于我在宿舍算是比较有计算机基础的人,几乎所有舍友的电脑都是在我的参考下来选购的,买完电脑安装相关软件也是由我来完成的。老好人模式便启动了,装软件的同时便会教他们一些很简单的知识,比如配环境一类。当其他同学的电脑上都安装着 Hbuilder,Eclipse 的时候,我教他们用 Vscode 和 Idea。现在还用 Eclipse 来写 Java,简直就是一种反人类的折磨。

大学的课程除了保证不挂科之外,我是对它嗤之以鼻的。

作为一个现实不爱说话的人,我在网上冲浪的冲浪的时间大大增加。这也使得我认识了很多志同道合的朋友,这也使得我学到了很多东西。比如一些网安知识,虽然不是本专业的知识。但学起来还是很有兴致的。也学着开始做开源项目,做的很烂就是了,学着做博客,博客内容也是很无聊的,不过,学到就是赚到了嘛。

看未来远不如看过去要来的清楚,激昂和困惑交织在每个人的心头,就把这句话作为此文的结尾吧,磕磕绊绊拖拖拉拉写了快一个周的破文章

未完待续,不知道工作后是否还有时间来折腾博客。小初高的时候很期待毕业,现在剩下的只有焦虑和对未来的迷茫了