本文目录一览:
再过10几天,就准备去学计算机了,我是为了当黑客的准备而去的。
这是我当黑客以来接到的一项最具挑战性的生意,是去黑另一个黑客的电脑。工欲善其事,必先利其器,我很明白现今装备的重要性,于是我把自己从头武装到脚,包装上了全黑的紧身夜行衣和戴上墨镜。
一出门,我就给车撞了……司机下车后,打着强光手电筒找了好半天才找到躺在地上的我,说了一句:原来木乃伊也有黑色的。
赔了钱,我才起来继续前行。
很快我就到了目的地。任务是窃取那人的上网密码。对于一个娴熟的黑客高手来说,不消片刻我就能将随身所带的手提电脑打开,接上无线上网卡,打开要用的程序了。接着就是怎样窃取了。方法是我趴在他窗前,密切注视他的举动,等他在键盘上打密码时迅速记下来,然后用手提电脑已打开的记事本写上,再立即通过无线上网传真到家里的传真机上保存下来。
很可惜那小子在我来之前已经输过密码了,害我趴了大约两小时他都没有再输一次的举动,所以我惟有决定让他死机了。让他死机简直是易如反掌,具体操作就是用一块红砖扔他的电脑,肯定死的。我找了很久用了将近两小时才在一个很远的地方找到,副作用是太远我不会回到原来的地方了。终于辛苦问路后才回到目的地,可惜又把红砖忘了拿。
做一个黑客真的不能懒,要黑人家机子就必须循正途好好地认真地黑,于是我决定剪他家门外的电线,让他没电死机。当他隔壁邻居的一整片屋子都断电漆黑一片时,我触电晕过去了。
约莫一小时后,因为手机有来电才把我弄醒的。
作为一个黑客,手机当然不能有铃响声,但我又是如何得知有来电而被弄醒的呢?这里有个窍门,是经过我历时半年反复实验解决的,用简单些的话说就是将手机调为振动。
电话是客户打来的,他很歉疚地说,想将任务更改一下,就是不要破坏他的电脑,只将病毒种在他电脑上就行了,猜到现在快天亮了,想必我已将他的电脑破坏得不堪入目,希望我能把它修复过来,再种病毒,让他不知不觉。酬劳愿意给我双倍。我说没问题,请相信我,保证马上就可把他的电脑修复成像未被破坏过一样,等我好消息。
我在附近偷了人家晾衣服的竹竿,再把衣架做成一个抓钩绑在竹竿上,趁他上厕所的时候把他的手提电脑从窗户给钩了出来,再把我自己的电脑给换回去,然后就溜了。
我自己的手提电脑早就中了冰河木马蠕虫一大堆,这次他死定了!
------------------------------------------------
小搞一笑,以下回答:
如何成为一名黑客
什么是黑客?
Jargon File中对“黑客”一词给出了很多个定义,大部分定义都涉及高超的编程技术,强烈的解决问题和克服限制的欲望。如果你想知道如何成为一名黑客,那么好,只有两方面是重要的。(态度和技术)
长久以来,存在一个专家级程序员和网络高手的共享文化社群,其历史可以追溯到几十年前第一台分时共享的小型机和最早的ARPAnet实验时期。 这个文化的参与者们创造了“黑客”这个词。 黑客们建起了Internet。黑客们使Unix操作系统成为今天这个样子。黑客们搭起了Usenet。黑客们让WWW正常运转。如果你是这个文化的一部分,如果你已经为它作了些贡献,而且圈内的其他人也知道你是谁并称你为一个黑客,那么你就是一名黑客。
黑客精神并不仅仅局限于软件黑客文化圈中。有些人同样以黑客态度对待其它事情如电子和音乐---事实上,你可以在任何较高级别的科学和艺术中发现它。软件黑客们识别出这些在其他领域同类并把他们也称作黑客---有人宣称黑客实际上是独立于他们工作领域的。 但在本文中,我们将注意力集中在软件黑客的技术和态度,以及发明了“黑客”一词的哪个共享文化传统之上。
另外还有一群人,他们大声嚷嚷着自己是黑客,实际上他们却不是。他们是一些蓄意破坏计算机和电话系统的人(多数是青春期的少年)。真正的黑客把这些人叫做“骇客”(cracker),并不屑与之为伍。多数真正的黑客认为骇客们是些不负责任的懒家伙,还没什么大本事。专门以破坏别人安全为目的的行为并不能使你成为一名黑客, 正如拿根铁丝能打开汽车并不能使你成为一个汽车工程师。不幸的是,很多记者和作家往往错把“骇客”当成黑客;这种做法激怒真正的黑客。
根本的区别是:黑客们建设,而骇客们破坏。
如果你想成为一名黑客,继续读下去。如果你想做一个骇客,去读 alt.2600 新闻组,并在发现你并不像自己想象的那么聪明的时候去坐5到10次监狱。 关于骇客,我只想说这么多。
---黑客的态度
黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。
要想被认为是一名黑客,你的行为必须显示出你已经具备了这种态度。要想做的好象你具备这种态度,你就不得不真的具备这种态度。但是如果你想靠培养黑客态度在黑客文化中得到承认,那就大错特错了。因为成为具备这些特质的这种人对你自己非常重要,有助于你学习,并给你提供源源不断的活力。同所有有创造性的艺术一样,成为大师的最有效方法就是模仿大师的精神---不是仅从理智上,更要从感情上进行模仿。
So,如果你想做一名黑客,请重复以下事情直到你相信它们:
1 这世界充满待解决的迷人问题
做一名黑客有很多乐趣,但却是些要费很多气力方能得到的乐趣。 这些努力需要动力。成功的运动员从健壮体魄,挑战自我极限中汲取动力。同样,做黑客,你必须
要有从解决问题,磨练技术,锻炼智力中得到基本的热望。如果你还不是这类人又想做黑客,你就要设法成为这样的人。否则你会发现,你的黑客热情会被其他诱惑无情地吞噬掉---如金钱、性和社会上的虚名。
(同样你必须对你自己的学习能力建立信心---相信尽管你对某问题所知不多,但如果你一点一点地学习、试探,你最终会掌握并解决它。)
2. 一个问题不应该被解决两次
聪明的脑瓜是宝贵的,有限的资源。当这个世界还充满其他有待解决的有趣问题之时,他们不应该被浪费在重新发明轮子这些事情上。 作为一名黑客,你必须相信其他黑客的思考时间是宝贵的---因此共享信息,解决问题并发布结果给其他黑客几乎是一种道义,这样其他人就可以去解决新问题而不是重复地对付旧问题。
(你不必认为你一定要把你的发明创造公布出去,但这样做的黑客是赢得大家尊敬最多的人。卖些钱来给自己养家糊口,买房买车买计算机甚至发大财和黑客价值也是相容的,只要你别忘记你还是个黑客。)
3. 无聊和乏味的工作是罪恶
黑客们应该从来不会被愚蠢的重复性劳动所困扰,因为当这种事情发生时就意味着他们没有在做只有他们才能做的事情---解决新问题。这样的浪费伤害每一个人。因此,无聊和乏味的工作不仅仅是令人不舒服而已,它们是极大的犯罪。 要想做的象个黑客,你必须完全相信这点并尽可能多地将乏味的工作自动化,不仅为你自己,也为了其他人(尤其是其他黑客们)。
(对此有一个明显的例外。黑客们有时也做一些重复性的枯燥工作以进行“脑力休息”,或是为练熟了某个技巧,或是获得一些除此无法获得的经验。但这是他自己的选择---有脑子的人不应该被迫做无聊的活儿。)
4 自由就是好
黑客们是天生的反权威主义者。任何能向你发命令的人会迫使你停止解决令你着迷的问题,同时,按照权威的一般思路,他通常会给出一些极其愚昧的理由。因此,不论何时何地,任何权威,只要他压迫你或其他黑客,就要和他斗到底。
(这并非说任何权力都不必要。儿童需要监护,罪犯也要被看管起来。 如果服从命令得到某种东西比起用其他方式得到它更节约时间,黑客会同意接受某种形式的权威。但这是一个有限的、特意的交易;权力想要的那种个人服从不是你的给予,而是无条件的服从。)
权力喜爱审查和保密。他们不信任自愿的合作和信息共享---他们只喜欢由他们控制的合作。因此,要想做的象个黑客,你得对审查、保密,以及使用武力或欺骗去压迫人们的做法有一种本能的反感和敌意。
5. 态度不能替代能力
要做一名黑客,你必须培养起这些态度。但只具备这些态度并不能使你成为一名黑客,就象这并不能使你成为一个运动健将和摇滚明星一样。成为一名黑客需要花费智力,实践,奉献和辛苦。
因此,你必须学会不相信态度,并尊重各种各样的能力。黑客们不会为那些故意装模做样的人浪费时间,但他们却非常尊重能力---尤其是做黑客的能力,不过任何能力总归是好的。具备很少人才能掌握的技术方面的能力尤其为好,而具备那些涉及脑力、技巧和聚精会神的能力为最好。
如果你尊敬能力,你会享受提高自己能力的乐趣---辛苦的工作和奉献会变成一种高度娱乐而非贱役。 要想成为一名黑客,这一点非常重要。
基本黑客技术
黑客态度是重要的,但技术更加重要。态度无法替代技术,在你被别的黑客称为黑客之前,有一套基本的技术你必须掌握。 这套基本技术随着新技术的出现和老技术的过时也随时间在缓慢改变。例如,过去包括使用机器码编程,而知道最近才包括了HTML语言。但现在明显包括以下技术:
1 学习如何编程
这当然是最基本的黑客技术。如果你还不会任何计算机语言,我建议你从Python开始。它设计清晰,文档齐全,对初学者很合适。尽管是一门很好的初级语言,它不仅仅只是个玩具。它非常强大,灵活,也适合做大型项目。
但是记住,如果你只会一门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一个普通程序员的水平---你需要学会如何以一个通用的方法思考编程问题,独立于任何语言。要做一名真正的黑客,你需要学会如何在几天内通过一些手册,结合你现在所知,迅速掌握一门新语言。这意味着你应该学会几种不同的语言。
如果要做一些重要的编程,你将不得不学习C语言,Unix的核心语言。其他对黑客而言比较重要的语言包括Perl和LISP。 Perl很实用,值得一学;它被广泛用于活动网页和系统管理,因此即便你从不用Perl写程序,至少也应该能读懂它。 LISP 值得学习是因为当你最终掌握了它你会得到丰富的经验;这些经验使你在以后的日子里成为一个更好的程序员,即使你实际上可能很少使用LISP本身。
当然,实际上你最好四种都会。 (Python, C, Perl, and LISP). 除了是最重要的四种基本语言,它们还代表了四种非常不同的编程方法,每种都会让你受益非浅。
这里我无法完整地教会你如何编程---这是个复杂的活儿。但我可以告诉你,书本和课程也不能作到。几乎所有最好的黑客都是自学成材的。真正能起作用的就是去亲自读代码和写代码。
学习如何编程就象学习用自然语言写作一样。最好的做法是读一些大师的名著,试着自己写点东西,再读些,再写点,又读些,又写点....如此往复,直到你达到自己在范文中看到的简洁和力量。
过去找到好的代码去读是困难的,因为很少有大型程序的可用源代码能让新手练手。这种状况已经得到了很大的改善;现在有很多可用的开放源码软件,编程工具和操作系统(全都有黑客写成)。这使我们自然地来到第二个话题...
2 得到一个开放源码的Unix并学会使用、运行它
我假设你已经拥有了一台个人计算机或者有一个可用的( 今天的孩子们真幸福 :-) )。新手们最基本的一步就是得到一份Linux或BSD-Unix,安装在个人计算机上,并运行它。
当然,这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发送的---你无法读到它的源码,更不可能修改它。尝试在DOS或Windows的机器上学习黑客技术,就象是在腿上绑了铁块去学跳舞。
除此之外,Unix还是Internet的操作系统。你可以不知道Unix而学会用Internet,但不懂它你就无法成为一名Internet黑客。因为这个原因,今天的黑客文化在很大程度上是以Unix为中心的。(这点并不总是真的,一些很早的黑客对此很不高兴,但Unix和Internet之间的共生关系已是如此之强,甚至连微软也无可奈何)
So,装一个Unix---我个人喜欢Linux,不过也有其他选择。(你也可以在同一台机器上同时运行DOS,Windows和Linux)学会它。运行它。用它跟Internet对话。读它的代码。试着去修改他。你会得到比微软操作系统上好的多的编程工具(包括C,Lisp, Python, and Perl),你会得到乐趣,并将学到比你想象的更多知识。
关于学习Unix的更多信息,请看 The Loginataka.
要得到Linux,请看: 哪里能得到 Linux.
3 学会如何使用WWW和写HTML
大多黑客文化建造的东西都在你看不见的地方发挥着作用,帮助工厂、办公室和大学正常运转,表面上很难看到它对他人的生活的影响。Web是一个大大的例外。即便政客也同意,这个巨大而耀眼的黑客玩具正在改变整个世界。单是这个原因(还有许多其它的), 你就需要学习如何掌握Web。
这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写HTML,Web的标记语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。因此,先建起自己的主页。
但仅仅建一个主页也不能使你成为一名黑客。 Web里充满了各种网页。多数是无意义的,零信息量垃圾。
要想有价值,你的网页必须有内容---必须有趣或对其它黑客有用。这样,我们来到下一个话题....
黑客文化中的地位大教堂与集市”,解释了许多Linux和开放源码文化的运做原理。我还在它的续集“大教堂与集市”,解释了许多Linux和开放源码文化的运做原理。我还在它的续集“开拓智域”一文中有更直接的论述。
FAQ(常问问题解答)
问:你会教我如何做黑客吗?
自从第一次发布此页,我每周都会得到一些请求,要我“教会他如何做黑客”;遗憾的是,我没有足够的时间和精力来做这个;我自己的编程项目已经占用了我110%的时间。
甚至即便我想教你也不可能,黑客基本上是一项需要你自行修炼的的态度和技术。你会发现即使真正的黑客想帮助你,如果你乞求他们填鸭一样教你的话,你不会赢得他们的尊敬。
首先去学习。显示你在尝试,你能靠自己去学习。然后再去向黑客们请教问题。
问:你会帮我“黑”掉一个站点吗?或者教我怎么黑它?
No. 任何在读完FAQ后还问此问题人,都是愚不可及的家伙,即使有时间我也不会理睬。 任何发给我的此类mail都会被忽略或被痛斥。
问:哪里能找到真正的可以与之交流的黑客?
最佳办法是就近参加一个Unix或Linux的用户组,参加他们的会议。
问:我该先学哪种语言?
HTML, 如果你还不会的话.
但它不是一个真正的编程语言。当你准备编程时,我建议你从 Python开始. 会有很多人向你推荐Perl,它比Python还受欢迎,但却难学一些。
C 是非常重要的,但它却是最难学的。不要一开始就尝试学C。
问:开放源码的自由软件不会使程序员饿肚子吗?
这似乎不大可能---到目前,开放源码软件产业创造了而不是消灭了大量工作机会。
如果写一个程序比不写一个程序只是个纯粹经济上的收益的话,无论它是否免费,只要它被完成,程序员都会从中得到回报。而且,无论软件是由多么的free的方法开发的,对更新的软件应用的需求总是会有的。
问:我从何学起?哪里有免费的Unix?
本页的其他地方指向最常用的免费Unix。要做一名黑客,你需要自立自强,以及自我教育的能力。
现在开始吧......
参考资料:
程序员与黑客的差别
先用一句话概括:
程序员未必是黑客,黑客一定是优秀的程序员。
程序员:
一般叫软件工程师,他们喜欢自嘲“码农”或者“搬砖的”。等级一般分初级、中级、高级和资深,主要工作是根据公司的业务需求(主要是产经的脑洞)设计软件编写代码。需要熟练掌握至少一门语言,比如Java。
黑客:
不要以为上传木马啊盗号啊破解软件啊翻个外网啊就能叫黑客了,他们最多算脚本小字,或者叫骇客。真正的黑客虽然没有黑客帝国那样酷炫,但至少是个攻防高手。不同于程序员,他们一般能通用多种编程语言,但不会经常敲业务代码。他们更侧重于找出软件的破绽,发现系统的漏洞。其实现在很多互联网公司的首席安全管理都是名副其实的黑客,只不过他们更注重防守,而不是主动攻击。
当然,黑客也有好坏之分。好黑客又称红客,出于检测安全为目的,不以恶意攻击为目的。而坏黑客,以非法入侵、破坏、勒索为目的,这些就是触犯法律的行为。
黑客与普通程序员有什么不同
在一些影视剧里,经常可见那些超级厉害的黑客,可以靠一台电脑,敲几个字符就能让整个网络系统出现大规模的瘫痪,侵入到各种高大上的企业网络中,来去自如,看别人的电脑秘密如探囊取物一般;
还有一个工种是与黑客不同的存在——程序员,每天坐在工位上,噼里啪啦敲着一行行的代码,还总被产品经理改需求。不爱说话,穿着邋遢,爱穿格子衫冲锋衣、牛仔裤、背双肩背包、黑眼圈配疲惫的脸,头顶越来越聪明,这是大众对程序员们的综合认知......
一提起黑客,人们一脸崇拜,那种神秘感好像听说了明星的一个爆炸新闻一样;一提起程序员,人们记住的却只是那些黑程序员的段子。同样是敲代码,差距咋就那么大呢?
黑客之所以让人崇拜,一是因为其神秘性,二是各种电影里对黑客的演绎夸张。可以这样说“黑客因其神秘性,更加容易造英雄。程序员给人印象加班多,整天加班还是有无穷无尽的问题。一个在明处,一个在暗处,暗处的给人更多遐想空间”。
如果要成为黑客,必须是一名合格的程序员,掌握必备的编程语言,而且黑客相对于普通的程序员,在某些专业领域做的而更加惊喜,而且很多都是标准的程序的逆向。这就给了人们一种“黑客是最牛的程序员”的印象,其实不然,术业有专攻而已,而且黑客和程序员的关系就是剪不断理不乱。
很多程序员和黑客其实都是难兄难弟,程序员编程为生,黑客以发现程序员的错误为生,国内的许多大公司的网络安全部门,多数是黑客招安来的,黑客化身成为公司的安全工程师,然后以工程师的名义继续和黑客对战。看似是难兄难弟,其实是相亲相爱一家人,两者随时可能角色互换。
就像阿里巴巴的首席安全技术专家吴翰清,在20岁的时候去阿里面面试的时候,被面试官问到有啥技术特长,吴二话没说,拿着面试官的电脑当场黑掉了阿里一台路由设备,导致阿里内部网络中断,从此在阿里传为佳话,更是在业内流传开来。
黑客碾压程序员这种说法在很多人眼里是真理,其实黑客和程序员不是水平高低的区别,是分工不同,就像长枪兵和魔法师。举个简单的例子,程序员就是建筑工人,有的人做设计,有的人做施工,有人搬砖,有人和泥,有人砌墙,各有所专,分工合作,建筑一幢大厦。
黑客呢就是想方设法钻到大厦里面非开放区域,或者偷点东西,或者在墙上喷个图案,或者就是看看,窥测心理。攻防技术不分伯仲。都可以非常强,或许能强的离谱,你眼中的一般程序员能创造黑客使用的C语言,脚本语言等。同样强悍的黑客能一夜间让你辛苦做好的程序系统瘫痪、数据库彻底消失。他们互相制约,同样也能使得产品更加安全。
最后,黑客和程序员的区别就是一句话的区别:程序员是一种职业,而黑客是一种兴趣,并且黑客也分好坏两种。
那么作为企业开发中至关重要的程序员岗位,只有具备更强更完备的编程技术,才能更好的避免一些不良黑客的侵入,更好的保障公司的网络及软件安全,这也要求程序员们在技术上的学习任何时刻都不应该松懈。
当黑客和学编程有什么关系?
最早的黑客就是程序员,学黑客不是以编程入门,但编程最好要学