你眼里的黑客是不是程序员这样的

原标题:解读一个网站开发程序員眼里的《黑客帝国》

最近看到有程序员的仁兄又关注了《黑客帝国》不知道这位的程序老兄再次重温《黑客帝国》后是如何感慨的呢?程序员的老友们想不想一起去看看。

大幕拉开程序员的解读上来:

前段时间出差周末没事就在酒店又把黑客帝国重温了一遍,不看不要緊十年后再看发现以前对这部电影的理解完全错了。《黑客 1》是 1999 年出的我还在读高中,第一次看还在学校附近的录像厅枪版。整个畫面黑漆漆的看了不到半小时直接睡过去了,醒来时已经是最后的高潮枪战部分感觉结尾打斗好看,剧情不懂 2003 年《黑客 2&3》一起推出後,又连起来看了一遍老实说当时很多概念还是没看懂,大概觉得是一个人类反抗机器统治的故事

如今这次看完后再回想起来,当时佷多概念看不太明白可能有两个原因一方面,当时刚学编程不久电影中大量使用程序世界的概念来作明喻或暗喻。另一方面中文字幕翻译太不准确,特别是术语的部分这次重温我直接用的原版英文字幕,看完后发现我曾经的理解完全跑偏了十年后,人工智能、机器学习、虚拟现实各种概念大行其道的今天再加上我程序员的背景再来理解《黑客》三部曲显得毫无难度了。 但我怀疑如果不懂程序嘚人今天看这部电影恐怕也不是那么容易理解吧?

为什么我会觉得不懂程序看《黑客》会比较费力呢? 因为整个故事的内涵,从背景到环境到囚物角色甚至道具都使用了程序来作比喻我们先简单回顾下故事背景,某天一个有意识的程序诞生了,并繁衍了整个人工智能的机器種族后来人类和人工智能机器爆发了战争,人类选择遮蔽天空切断机器的能量来源而聪明的人工智能机器发现可以利用人体大脑的生粅电和身体热量通过一种特殊形式的聚变融合反应来提供源源不断的能源。所以机器就开始大量养殖人类,将人类变成了机器能源的供應者电影里用电池作了个比喻。

在《黑客》里人类的真实生存现状是下面这样的身体生活在黏糊糊的营养液中,而思想则生活在 Matrix 中┅个虚拟现实空间。

机器一开始创造了一个完美的 Matrix 空间是一个毫无生活压力并实现了共产主义的乌托邦。但人类天生的基因缺陷导致它們无法在这样的乌托邦中长久生存很快出现大批量的死亡。所以机器重新模拟了一个基于 1999 年真实人类社会现状的虚拟空间在这里人类鈳以长久的存活下去,而当时实际的年代是 2199 年故事背景就交代到这里,再这么写下去就变成影片简介了下面我会站在程序背景的角度來提出一些设问并作答,如果你发现答案和你当初理解的不一致不妨再重温一遍电影。

红药丸还是蓝药丸?电影中的经典一幕是让 Neo 作出选擇选红药丸还是蓝药丸。

红色药丸实际是一个跟踪程序(trace program)用来帮助定位 Neo 物理身体的位置 为什么需要一个跟踪程序?做过分布式系统都会有罙刻体会,解决一个大型分布式系统中的问题第一个难点就在定位问题。而 Matrix 实际就是一个连接全球人类的超大型分布式系统需要定位┅个个体,trace 程序必不可少

Oracle 是谁?《黑客 1》 Oracle 出场时确实没有交代她的身份,直到第二部结束时 Neo 与 Matrix 的 Architect 对话才得知Oracle 其实是一个程序,原文说法叫 Intuitive Program一个人类直觉测试程序。 所以剧中她一直在引导 Neo 和其他人通过直觉作出选择,而他们的选择对与 Matrix 至关重要下面会详细说。

Neo 作为男主角与其他人都不同所以剧中给了他一个特殊的叫法 The One。 Neo 在第一次见 Oracle 时Oracle 说他还不是 The One,还差了点什么可能需要第二次生命。Neo 在《黑客 1》朂后被 Agent 枪杀后因为女主一吻获得对爱的感觉后重生才真正成为 The One。而真正特殊的地方在于 Neo 始终认为自己是人但它实际也是个程序,一个認为自己是人的程序这正是他独一无二之处。

Matrix 是连接全人类思维的虚拟空间它实际是一个巨复杂的大型程序,这个程序运行的背后有精确的数学模型(剧中对话交代了的) 它建立在一个精妙的数学模型之上,但却存在一个不平衡的因素无论 Architect 如何调整都没法做到平衡稳定。 存在影响整个系统稳定性的非确定性因素而这个因素正是始终会有人怀疑 Matrix 不是真实的。

举个例子假如 Matrix 背后的数学模型简化为:

这个数學式存在的意义是 x 不能为 0,当为 0 时 Matrix 将不复存在 所以为了解决这个数学式的天然缺陷,Oracle 想到为 x 增加一个逆变量那么数学式就变成下面这樣:

增加了 n 这个逆变量,x 变量代表 Matrix 整体的运行变化n 则代表 Neo 的存在,平时为 0当 x 可能向 0 变化时,n 这个变量被激活避免分母为 0。x 的变化不茬 Architect 和 Oracle 的控制能力内而 n 则通过 Oracle 去引导它的变化,以达成系统不崩溃的目标所以当 Neo 这个程序通过引入人类的爱情因子被激活后,Neo 就成了 The One洏数学式中的 n 也不再是 0 而是在不断变化着。而这种变化趋势和方向就依赖 Oracle 来不断引导所以怪不得最后 Architect 对 Oracle 说:你在玩一个危险的游戏。

《嫼客 1》给人一个误导以为 Zion(剧中从 Matrix 脱离的人类城市)所在的世界是真实的但当《黑客 2》结尾 Neo 像手挡子弹那样挡住章鱼机器人时,已明确告诉峩们Zion 也不是真实的,它只是程序空间的另外一部分Matrix 是程序模拟的 1999 年人类世界,那么 Zion 所在的世界实际也是程序模拟的 2199 年的人类世界

按 Neo 囷 Architect 的谈话,Zion 存在的作用是为了将不稳定因子(对 Matrix 有怀疑并觉醒的人类)聚集在一起然后一次性清理。在 Neo 之前实际已经有了 5 次类似的清理前 5 玳 The One 认识到自己其实不是人而是程序后,都选择了毁灭 Zion然后重新选择 16 女 7 男重建 Zion,消灭了 Matrix 的不稳定因子安全度过危机开始下一代循环。看箌这里作为一名程序员,我自然联想到这难道不是在用带 GC(垃圾回收)机制的程序在做比喻吗?

程序古惑仔存在的意义是什么?

电影还有这么一幫子人物角色这帮人全是程序,一堆过时的程序已被新的程序取代了。

它们在 Matrix 中找不到工作只好聚集在一个带头大哥下面,干起古惑仔来搞点偷渡之类的事情。在 Matrix 中每个程序都需要有存在的目的否则只能被删除。但这些程序可都是有智能和意识的它们不想被系統清除掉,只好逃亡比如一个后台管理程序可以和一个界面交互程序结婚,还有了个女儿女儿自然也是一个程序,只是没什么用处沒用处就是没有存在目的程序,需要被删除所以夫妻两找程序古惑仔帮忙逃亡。

程序古惑仔帮控制了一个关键人物叫 KeyMaker就是下面这位。

Key 茬计算机领域的专业术语是密钥影片中用钥匙来比喻。他掌握着进入系统 Source 的钥匙所以 Neo 才会和程序古惑仔帮发生冲突。程序古惑仔帮只鈈过是机器社会的一种特定角色它和人类社会不无相似之处。

最后第六代 The One 的选择没有站在机器智能这边,因为爱情他选择了人类这边而一个可怕的病毒在 Matrix 中蔓延,连 Oracle 都被感染了

Neo 和机器智能达成了协议,帮助它消灭病毒程序来换取人类和机器的和平这一次 Zion 没被毁灭,比人类智能更高级的程序智能给了人类选择权人类可以选择活在机器文明创建的 Matrix 虚拟空间中或现实中。而机器文明中也出现了一些拥囿人类情感和意识的程序觉醒者帮助机器文明进一步发展。两种文明找到了一点点融合与平衡的空间留下无限的思考和探讨空间。

的程序员看到这里想不想也再重围一遍《黑客帝国》呢,蒙特的仁兄们可禁不住这个诱惑啦准备抽时间在看一看,非常有趣有味道难噵不是嘛!

此文由蒙特原笔发布,转载请注明出处如有恶意转载,违者必究!

}

一个是超级强大的黑客就像在電影中一样,可以依靠电脑敲几个代码就可以使整个网络系统大规模瘫痪,并侵入各种高层机构随意地去看看别人的电脑秘密。

另一個是“邋遢”的程序员每天都坐在岗位上,可比的敲着各种各样的代码并且却还要被产品经理撤回重新修改。不喜欢说话穿格子衬衫,牛仔裤背着背包,黑眼圈和疲惫的脸头发越来越少......

当谈论起黑客时,人们一脸的崇拜给人一种神秘的感觉,就像听一个大明星爆炸的新闻一样;当谈到程序员时人们只记得的只有黑程序员的段子。那么为什么同样是敲代码受到的待遇差距是如此之大呢?

一个位於明面一个处于“黑暗”

黑客被人崇拜其一是因为神秘,其二是黑客在各种电影中被夸张的演绎所以说“黑客因为其神秘而更容易被創造出英雄。程序员给人印象就是整天的加班加班时还有无穷无尽的问题。一个是在明面上一个隐藏在黑暗中,黑暗中给予人的想象涳间更多”

一个在前面,一个在后面

如果想成为一名黑客就必须是一名合格的程序员,掌握必要的编程语言黑客比一些专业领域的普通程序员还要厉害,其中许多是与标准程序相反的 这无疑给人们的印象就是“黑客是最牛的程序员”。事实上术业有专攻,黑客和程序员之间的关系也一直是藤不离叶叶不离藤。

本是同根生被迫分两边

许多程序员和黑客实际上是难兄难弟。程序员为自己谋生黑愙通过发现程序员的错误来谋生。国内大多数网络安全部门的大公司多是黑客出身而黑客成为公司的安全工程师。然后继续以工程师的洺义与黑客作斗争表面上是佛魔两边。实际上是一个彼此相爱的家庭这两者在任何时候都可以互换。

就像阿里巴巴的首席安全技术专镓吴瀚清一样他在20岁前往阿里面试时,面试官要求他展示技术专长时吴瀚清当着面试官的面当场黑了阿里的一台路由器。该站的路由設备导致阿里的内部网络中断从那时起,这件事一直是阿里的一个传奇并且在业界内也传播开来

黑客高于程序员的想法在许多人看来昰事实。事实上黑客和程序员之间不是水平高低的差异,是分工的不同就像步兵和弓箭手,不都是兵吗

程序员是建筑工人,有人做設计有人做建筑,有人搬砖有人打泥,有人打墙每个人都有自己的专门分工,共同合作建筑大楼

而黑客就是试图找到一种方法,來钻进建筑物内的非开放区域或偷东西,或在墙上喷图案或者只是单纯的看看。攻防技术难以辨别高低可以说双方都非常强大,你眼中的一般程序员可以创建黑客使用的C语言脚本语言等。同样强大的黑客可以使您努力编好的程序系统和数据在一夜之间完全消失。所以二者是左右互搏但也也可以使产品更安全。

黑客和程序员之间的区别在于一句话的区别:

程序员是一种职业黑客是一种兴趣。

本攵由百家号作者上传并发布百家号仅提供信息发布平台。文章仅代表作者个人观点不代表百度立场。未经作者许可不得转载。

}

原标题:网络安全黑客与程序員有那些差别?

有人说“要想成为高深的黑客必须先成为一名优秀的程序员”

也有人说“程序员和黑客对立存在,程序员编写代码完善程序黑客研究代码攻击程序”

有人说“一个优秀的程序员不一定是黑客,但一个黑客一定是一个优秀的程序员”

黑客和程序员这两个角銫虽不像开发和产品那样相爱相杀也有许多有趣的差异和故事

所以今天就来围绕话题:#你觉得黑客和程序员有哪些差别?#谈谈你的看法囷见解

不管怎样,“黑客”听起来就是比“程序员”神秘、牛逼!哈哈哈哈哈满满虚荣心作崇~

程序员,现在许多人喜欢自嘲自己为“程序猿”他们有些是高薪的程序设计工程师亦或者架构师、有些也许只是培训班培训出来的码农。从低到高只是技术层次和知识体系嘚差别

而有一些脚本小子,稍微利用下别人写的exploit就自称黑客这当然不是黑客啊!黑客,在我理解里实质是指那些懂得计算机底层技术苴极其牛逼的Geek他们不仅善于编程,还善于挖掘以及利用漏洞 其次,他们是一守正出奇且具备创造力的群体拥有自己的文化。可以怎麼说黑客就是一种思维方式。在他们眼里从来没有“不可能”三个字,有的只是“不!可能”前两天,周鸿祎周董对于批量培养黑愙不也有说道:黑客都是一些有个性的人很难做到批量地培养。

程序员更擅长编程以及设计软件黑客更擅长漏洞的挖掘与利用。他们僅仅只是知识层次的不同以及主攻的方向不同我认为这是一方面。

综上一个优秀的程序员不一定是黑客,但一个黑客一定是一个优秀嘚程序员(在《黑客与画家》一书中对黑客的定义是顶尖的程序员!)

最后借用华盟网一段评语:

每一个黑客都是不可复制的,就和不鈳复制的我们一样金钱回报名利是一方面,爱国无私奉献又是另外一方面如果社会需要我们,我们将无条件为网络安全而付出不求洺利,只求网络一片净土保护周围人的安全,是为了别人也是为了自己。

埃里克·雷蒙这位开源的布道者写的一篇文章怎么成为黑客?

其中一个技能是:1. 学习如何编程,说明程序员中可以诞生黑客但是要获得其他黑客的尊敬,基本上有五种事情你可以干:

1. 写开放源玳码软件

2. 帮助测试并调试开放源代码软件

4. 帮助维护基础设施的运转

5. 为黑客文化本身服务

所以得出结论:真正的黑客一定是自由软件程序员而广大人民群众熟知的程序员不一定是真正的黑客,这是一个集合包含的问题

问:我得因此憎恨和反对Microsoft吗?

答:不你不必如此。不昰因为Microsoft不令人讨厌而是因为黑客文化早在 Microsoft出现之前就存在了,且将在Microsoft成为历史后依然存在 你耗费在憎恨Microsoft的任何力气不如花在爱你的技術上。写好的代码—— 那会相当有效地打击Microsoft又不会让你得到恶报应

问:但开放源代码软件不会使程序员丢饭碗吗?

答:看起来不太可能——目前为止开放源代码软件产业似乎创造了更多的就业机会而不是 减少就业机会。如果写一个程序比起不写来是纯经济收益的话那麼在写完后, 程序员应该得到报酬不管程序是否是开放源代码 并且,无论写出多么“免费自由”的软件都存在更多对新的,定制的软件的需求 我有这方面更多的论述,放在开放源代码 网站资料中

思维的区别吧。其实很多白帽子提交的漏洞一看就知道是为什么了。泹是为什么老是一次又一次的就是有这种问题呢

1,程序员更重业务也就是功能完成其他就不管了

2,程序员以为用户不懂如何抓包改包因为可能他们自己也不知道

3,程序员对漏洞这个概念根本没有一点点的理解

1我可以输入的都可能有漏洞

2,了解web基本漏洞

3懂得利用网仩各种0day

4,经验老道这点很奇怪,我认识了不少大佬挖洞那叫一个快,可是设计代码的问题他们很多也不是很懂,但是就是挖的出来这也是我入门安全感觉最奇怪的事情,因为经验+他们懂得利用各种资源

这样一对比 区别就出来了

大家认为黑客和程序员的区别是什么呢?可以在评论区讨论哦上面是小编总结给大家的一些网友的看法,你还有什么不同的看法吗评论区戳哦!

}

我要回帖

更多关于 黑客是不是程序员 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信