一个黑客所需的基本技能总结

1、黑客的精神态度是很重要的,但技术则更是重要。黑客的态度虽然是无可取代,随著新科技的发明和旧技术的取代,这些工具随时间在慢慢的改变。例如:以往总是会学会用机器码写程序,直到最近我们开始使用HTML。不过,在1996年末,当然,这是基础的hacking技能。在1997年,理所当然的,你必须学会C。 但,如果你只是学一种语言,那么你不能算是一位黑客,了不起只能算是一个programmer。除此,你还必须学会学会以独立于任何程序语言之上的概括性观念来思考一件程序设计上的问题。要成为一位真正的黑客,你必须要能在几天之内将manual内容和你目前己经知道的关连起学会一种新的语言。也就是说,你必会学还了C之外的东西,你至少还要会LISP或Perl(Java也正在努力的挤上这个名单; 译者注: 我很怀疑这份名单)。除了几个重要的hacking常用语言之外,这些语言提供你一些不同的程序设计途径,并且让你在好的方法中学习。

程序设计是一种复杂的技术,我没辨法在这提供完整的学习步骤。但是我能告诉你一些在书本上和课堂上所没有的东西(有很多,几乎全部最好的黑客们都是自习而来的)。(a) 读别人的程序码;(b)写程序,这两项是不错的方法。学习写程序就像在学习写一种良好的自然语言,最好的方法是去看一些专家们所写的东西,然后写一些你自己的东西,然后读更多,再写更多。然后一直持续,一直到你发展出一种属于自己的风格和特色。要找到好的程序码来看是很一件很困难的事,因为,对菜鸟黑客们而言,适于供他们阅读和努力的大型程序的source数量很少。但这事己有了戏剧性的变化了; 现在免费的供应的软件、程序设计工具和操作系统(大都公开提供 source,而且全都是由黑客们写成的)到处可看。进入下一个主题。

2、取得一个免费的 UNIX,并学习使用和维护。我先假设你己经有一部个人电脑或者是可以使用任何一部(现在的小孩子真幸福,可如此轻易的拥有 :-))。 取得黑客技巧的第一个步骤是取得一份Linux 或者一份免费的 BSD-Unix,并将它安装在自己的机器,并使之顺利的运作。没错,在这个世界上除了Unix之外,还有其它的操作系统。但是他们只提供bianry,你不能看到他们的程序码,你也不能修改他们。想要在DOS或Windows或MacOS开始hacking,无疑就是要你绑著枷锁跳舞一样。

除此之外,Unix是Internet上的操作系统。当你在不懂Unix的情况下学习使用Internet时,你没辨法在不懂Unix的情况下成为Internet的黑客。因为这个原故,现在的黑客文化还是很牢固的以Unix为中心。(这并不完全是正确的,而且有些活在旧时代的黑客甚至也不喜欢这种情形,但是Unix和Internet之间的共生共成己经到了牢不可破的地步,即使是Microsoft的大块肌肉也没能在上面留下明显的伤痕。) 因些,把Unix装起来吧! (我自己是喜欢Linux,但是还有其它的东东可用。) 学习它,让它运作起来,让它陪你努力精进。 用他向整个Internet喊话。看程序码,改程序。

有一天你成为一位高竿的黑客,你回头往后看时会发现,你得到比Microsoft操作系统所能提供的还要好的程序设计工具(包括 C,Lisp和 Perl)。而且得到快乐,并学到比共生共成己经到了牢不可破的地步,即使是Microsoft的大块肌肉也没能在上面留下明显的伤痕。) 因些,把Unix装起来吧! (我自己是喜欢Linux,但是还有其它的东东可用。) 学习它,让它运作起来,让它陪你努力精进。用他向整个Internet喊话。 看程序码,改程序。有一天你成为一位高竿的黑客,你回头往后看时会发现,你得到比Microsoft操作系统所能提供的还要好的程序设计工具(包括 C,Lisp和 Perl)。而且得到快乐,并 
学到比你想像中的还要多的知识。关于学习Unix,在Loginataka有更多的资料。(http://www.ccil.org/~esr/faqs/loginataka。) 
看一下Linux distribution的目录或 Linux CD,并把自己交付给它。

3、学习使用World Wide Web并学会写 HTML。 
在黑客文化创造出来的东西,大多在他们的活动范围外被使用著,如,在工厂和辨公室或大学被漠漠的使用著。但Web是一个很大的例外,这个黑客眼中的大玩具甚至还被政客们接受,并巧巧的在改变这个世界。因此(还有很多好的理由),你必须学习Web。并不只是学习使用browser(这太容易了)而己,还要学会写HTML这个Web的标签语言。如果你不知道如何设计程序,写HTML也可以给一些习惯上的帮助。嗯!! 建立home page吧! 不过,有一个home page 并没任何特别之处能让你成为一位黑客。Web上到处都是home page,而且大部份都没什么重点,没什么内容的烂泥 -- 很好看的烂泥巴,但是看起来都一样,差不多。 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
你该学什么程序语言

程序语言可分为5类

  1、web page script languages

    就是网页代码,比如Html、javascript、Css、Asp、Php、Xml都应该属于此类(照蔡的意思,Html不应该属于anguages的,可能他觉得太简单了吧,不过我觉得Html也应该算的,大家爱听谁的就听谁的好了,这个不重要)

  2、Interpreted Languages(解释型语言)

    包括Perl、Python、REBOL、Ruby等(后面三个听豆没听过),也常被称作Script语言,通常被用于和底下的操作系统沟通。照蔡的意思,每个人至少应该学会一套这类的语言。这类语言的缺点是效率差、源代码外露——所以不适合用来开发软件产品,一般用于网页服务器。

  3、Hybrid Laguages(混合型语言)

    代表是JAVA和C#。介于解释型和编译型之间。蔡认为C#是.NET最重要的语言,值得期待其后续发展;至于JAVA,蔡叫看他的《Sleepless in Java》——我倒!

  4、COMPILING Languages(编译型语言)

    C/C++,JAVA都是编译型语言。蔡说C++很复杂,要成为高手没三五年是不行的(就凭这句话,我决定向JAVA投降),虽然如此,但真正要成为高手的都应该懂C/C++。

    关于Delphi,蔡说如果想要跨Linux和Windows平台的语言,则Delphi似乎是最好的选择。

  5、Assembly Languages(汇编语言)

    汇编语言是最接近于硬件的语言,不过现在几乎没多少人用了。

  程序语言学习顺序建议

    如果完全没有程序经验,可照这个顺序:javascript——解释型语言——混合型语言——编译型语言——汇编(如果需要的话)

    用业界流行一句话做结尾“真正的程序员用C++,聪明的程序员用Delphi”,那么,什么样的程序员用JAVA呢?

  虚怀若谷题外话

    看在我这么晚了还这么辛苦的敲字的面子上,看到这篇帖子的朋友给点掌声吧,虽然没什么自己的思想。

    另外,本文完全据蔡学镛先生同名文章精简,所以如果这篇文章给你的程序员生涯有什么不好的作用,那我不介意你去扁他。当然如果这篇文章对你有什么积极影响,我很高兴你能请我吃大餐。

如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!

    方案一 Basic语言 & Visual Basic

    优点

    (1)Basic 简单易学,很容易上手。

    (2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。

    (3)众多的控件让编程变得象垒积木一样简单。

    (4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。

    缺点

    (1)Visual Basic 不是真正的面向对象的开发文具。

    (2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限。

    (3)Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得Visual Basic 的编译速度大大变慢。

    综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB 做出自己的作品。对于那些把编程当做游戏的朋友来说,VB 是您最佳的选择。

    方案二 Pascal语言 & Delphi

    优点

    (1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。

    (2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。

    (3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。

    (4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。

    缺点

    Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。

    综述: 方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。

    方案三 C语言 & Visual C++

    优点

    (1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。

    (2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。

    (3)VC是微软制作的产品,与操作系统的结合更加紧密。

    缺点

    对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。

    综述: VC是程序员用的东西。如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。

    方案四 C++语言 & C++ Builder

    优点

    (1)C++语言的优点全部得以继承。

    (2)完全的可是化。

    (3)极强的兼容性,支持OWL、VCL和MFC三大类库。

    (4)编译速度非常快。

    缺点

    由于推出的时间太短,关于它的各种资料还不太多。

     综述:我认为C++ Builder 是最好的编程工具。它既保持了C++语言编程的优点,又做到了完全的可视化。

    方案五 SQL语言 & Power Builder

    对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说,PowerBuilder也许是最好的数据库开发工具。各种各样的控件,功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。

补充:关于网页后台语言和其他语言的关系,一般认为:

C语言学的好,那么学习PHP会有事半功倍的效果
VC学的好,那么学习ASP会有事半功倍的效果
JAVA学的好,那么学习JSP、JAVASCRIPT会有事半功倍的效果

关于网页后台语言和数据库,通常来说:
PHP与MYSQL是黄金搭档
ASP小型网站用ACCESS,大型用SQL
JSP我就不知道了

关于电子商务流行的语言,目前
当当、卓越、6688、igo5、雅宝使用的是asp语言
易趣、淘宝使用的是php语言
贝塔斯曼使用的是jsp语言

4、至少学会以下的其中两种: 
一、网站服务器程序ASP、PHP、CGI、JSP 
我个人认为CGI是最难学的其中一种。 
二、程序语言:C语言、C++、VB、JAVA、PERL、DELPHI、汇编语言 
不过我认为C语言的通用性最好,可以跨平台(操作系统)使用。 
还要试着自己写程序、开发软件等工作。 
三、数据库管理软件:MYSQL、SQL、FOXPRO……等。 
四、几种常用的操作系统:WIN98、WIN2000、WINNT、WINXP、UNIX、LINUX、要是能学到UNIX那是最好不过的了。最最基本的WIN2K、WINNT也要学会吧。 
如果以上的你都会了,那么你已经是个高手了。

(0)

相关推荐

  • 一个黑客所需的基本技能总结

    1.黑客的精神态度是很重要的,但技术则更是重要.黑客的态度虽然是无可取代,随著新科技的发明和旧技术的取代,这些工具随时间在慢慢的改变.例如:以往总是会学会用机器码写程序,直到最近我们开始使用HTML.不过,在1996年末,当然,这是基础的hacking技能.在1997年,理所当然的,你必须学会C. 但,如果你只是学一种语言,那么你不能算是一位黑客,了不起只能算是一个programmer.除此,你还必须学会学会以独立于任何程序语言之上的概括性观念来思考一件程序设计上的问题.要成为一位真正的黑客,你

  • 一个黑客必备的基本技能

    1.黑客的精神态度是很重要的,但技术则更是重要.黑客的态度虽然是无可取代,随著新科技的发明和旧技术的取代,这些工具随时间在慢慢的改变.例如:以往总是会学会用机器码写程序,直到最近我们开始使用HTML.不过,在1996年末,当然,这是基础的hacking技能.在1997年,理所当然的,你必须学会C. 但,如果你只是学一种语言,那么你不能算是一位黑客,了不起只能算是一个programmer.除此,你还必须学会学会以独立于任何程序语言之上的概括性观念来思考一件程序设计上的问题.要成为一位真正的黑客,你

  • C语言中for循环问题(一个小坑需注意)

    今天分享一下C语言中的for循环中我们常常忽略的小问题. 举一个小例子来说明,大家也可以自己先算一下哦 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { int a=0; int b=0; for(a=0,b=0;b=0;a++,b++) b++; return 0; } 这是一道面试题,问程序运行几次呢?运行结果如何? 其实这个小题关键是我们有没有被上图所示的b=

  • 如何成为一名黑客全系列说明第1/2页

    什么是黑客? Jargon File 包含了一大堆关于"hacker"这个词的定义,大部分与技术高超和热衷解决问题及超越极限 有关.但如果你只想知道如何 成为 一名黑客,那么只有两件事情确实相关.这可以追溯到几十年前第一 台分时小型电脑诞生, ARPAnet 实验也刚展开的年代,那时有一个由程序设计专家和网络名人所组成的,  具有分享特点的文化社群.这种文化的成员创造了 "hacker" 这个名词.黑客们建立了 Internet.黑 客们发明出了现在使用的 UNIX

  • 如何成为一名黑客

    内容一览 为什么会有这份文档? 什么是黑客? 黑客应有的态度 黑客的基本技能 黑客文化中的地位 黑客和书呆子(Nerd)的联系 风格的意义 其它资源 FAQ(常问问题解答) 作为Jargon File的编辑和一些其他有名的类似性质文章的作者,我经常收到充满热情的网络新手的email提问(确实如此) "我如何才能成为一名出色的黑客?"非常奇怪的是似乎没有任何的FAQ或者Web形式的文档来说明这个十分重要的问题,因此我写了一份. 如果你现在读的是这份文档的离线拷贝,那么请注意当前最新版本(

  • 服务器防黑客及木马攻击的安全设置小结

    安全策略: 打开管理工具 找到本地安全设置.本地策略.安全选项 1.交互式登陆.不需要按 Ctrl+Alt+Del 启用 [根据个人需要,启用比较好,但是我个人是不需要直接输入密码登陆的] 2.网络访问.不允许SAM帐户的匿名枚举 启用 3.网络访问.可匿名的共享 将后面的值删除 4.网络访问.可匿名的命名管道 将后面的值删除 5.网络访问.可远程访问的注册表路径 将后面的值删除 6.网络访问.可远程访问的注册表的子路径 将后面的值删除 7.网络访问.限制匿名访问命名管道和共享 8.帐户.重命名

  • 详解使用React全家桶搭建一个后台管理系统

    引子 学生时代为了掌握某个知识点会不断地做习题,做总结,步入岗位之后何尝不是一样呢?做业务就如同做习题,如果'课后'适当地进行总结,必然更快地提升自己的水平. 由于公司采用的react+node的技术栈,于是就完成了一个reactSPA小项目,计划日后把平时工作中遇到的业务以及学习中遇到有趣的东西给抽象成demo展示出来.目前该项目只是把雏形搭好,效果如下.在此文的基础上,写了篇新文章使用React全家桶搭建一个后台管理系统,欢迎围观.(附注:因为项目不时更新,文章不一定会即时更新,所以以实际的

  • 黑客秘籍:Windows下权限设置

    随着动网论坛的广泛应用和动网上传漏洞的被发现以及SQL注入式攻击越来越多的被使用,WEBSHELL让防火墙形同虚设,一台即使打了所有微软补丁.只让80端口对外开放的WEB服务器也逃不过被黑的命运.难道我们真的无能为力了吗?其实,只要你弄明白了NTFS系统下的权限设置问题,我们可以对crackers们说:NO! 要打造一台安全的WEB服务器,那么这台服务器就一定要使用NTFS和Windows NT/2000/2003.众所周知,Windows是一个支持多用户.多任务的操作系统,这是权限设置的基础,

  • 黑客必备技巧 谈黑客攻击前的试探技巧

    对操作系统的认识,对于每一个从事计算行业的人都是非常重要,要成为一名黑客更是要对操作系统有深入.深刻的认识.下面就和大家一起来探讨一下这方面的问题. 我们先来看分析一下一个黑客入侵的基本过程:1.判断入侵对象的操作系统->2.描扫端口,判断开放了那些服务(这两步有可能同时进行)->3.跟据操作系统和所开放的服务选择入侵方法,通常有"溢出"和"弱口猜测"两种方法->4.获得系统的最高权力->5.安放后门.清除日志走人(也许有格盘走人的). 由上

  • 黑客避开检测的手段

    黑客的聪明并不只是在于他们知道如何去入侵服务器,还在于他们知道如何去伪装自己的攻击.恶意的攻击者会使用多种逃避的手段来让自己不会被检测到,所以作为系统管理员,也应当了解这些手段以应付可能发生的攻击. 这篇文章的主要目的不是揭示黑客新的攻击手法,而是对那些黑客所用到的逃避检测的手法以及他们可能留下的证据做描述.这些手段的欺骗性很大,所以想检测到它们也更加的困难. 网络服务器 我们的实验环境使用两种最常用的网络服务器,Apache和微软的Internet Information Server(I

随机推荐