邪恶八进制信息安全团队技术讨论组's Archiver

cwa 2009-5-8 01:02

[讨论]如何系统化学习计算机

信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
议题作者:cwa

    我,还有很多网络上对计算机相关技术兴趣的菜鸟,都希望深入地学习一下,只是苦于不知从何学起,虽然搜索引擎是最好的老师,但是在浩瀚的知识里面,菜鸟跟容易迷失方向,所以,算盘打到众位大牛头上来了,这里也不苛求大牛们告诉我们任何一个方向的详细路线,只是希望学点最基础的,给以后深入或者走不同方向的打打基础,借大牛的一些指导使我们省下走弯路而浪费的宝贵光阴。

    本帖注意事项:刚开始的时候你要是不知道怎么学,看了这栋帖子以后,不要冲动地就买好几本相关书籍看。个人推荐先买本《C Primer Plus》看,内容不像国内砖家叫兽写的那样硬邦邦的难理解,其他买多了更容易导致分散学习的精力。还有就是前期不要烦恼该选择学什么编程语言之类的,这根本不是重点,重点是知道编程怎么回事,各种XX语言就好像跑车、商务车、小轿车、公交车等等,它们使用的范围或许有区别,但是,我们重要的是学会开车,懂得开一种车了,再学会开其他车就不是什么难事。嘻嘻,学开车很重要啦,所以大家赶紧学学开车吧,学编程不难,但是如果不动手,就很难学会啦,就好象别人告诉你泡妞技术无数,但是你不跑去搭讪把妹,也是个纸上谈兵的高手。等你学会把妹,泡了个美女到手的时候,进一步结婚、生孩子等等都不是问题啦(好比进一步学习计算机其他东东就容易多啦)。

    【例子】
    第一步先学
    {
    高等数学                 /*推荐教材:《高等数学》同济大学出版*/
    同时学:计算机应用基础   /*随意买本,比如可以去“当当网”上,选择一本销量大的就可以了,其他教材购买方式类似推荐*/
    同时学:学C            /*推荐教材:《C Primer Plus》。PS:有中文版。*/
    同时学:………………
    }

    结束第一步后,第二步再学
    {
    计算机网络  ………………
    同时学:计算机组成原理 ………………
    同时学: ………………
    }

    结束第二部后,第三步继续
    {
    数据库原理与应用  ……………………
    同时学:面向对象程序设计  ………………
    同时学: ………………
    }


    【更多建议】
    例如:学《C Primer Plus》,就是学C程序设计时候,可以看《C陷阱与缺陷》……

    【C++、VB程序设计、多媒体技术基础、计算机网络、数据结构、高等数学、线性代数、网络信息制作发布、操作系统、数据库基础及应用、计算机组成原理、微机接口技术、INTERNET应用、信号处理原理、面向对象程序设计、软件工程、编译原理、软件开发工具与环境、JAVA语言与WWW技术、计算机系统结构……】


    对于此帖,如果认为没有讨论必要,就删除吧:),如果发贴了,希望能有大牛指点一二。感激不尽!要是帖子标题、内容有不适当的,帮忙修改下啦 ^_^
[attach]13792[/attach]

[[i] 本帖最后由 cmest 于 2009-11-4 03:14 编辑 [/i]]

cwa 2009-6-3 13:27

【冰雪封情给睡猫的一个学习计划(包括一张拓扑图),蛮有借鉴价值,起到进一步梳理学习的先后顺序的一些参考作用,信息来源就是冰雪封情博客。:smile: 】

精通:能独立完成大中型程序单一模块的开发或有开发经验(就是我们通常说的开发过东西)
熟练:能独立完成实现一定功能的小型程序的编程工作(就是我们通常说的能用该语言编程)
掌握:能独立完成简单程序编写并能修改已知代码为自己所用(通常说的能对程序做二次修改)
了解:能独立完成程序代码的执行流程和漏洞的分析(就是我们通常说的能看得懂代码)

选用教材:即是推荐的自学主修教材,最好从头到尾都看完。
其他教材:同样是国际经典教材的,也可以选他们作为教材,初学强烈推荐将整本书看完。
补充教材:是必须要阅读的,因为这些并不是教程,而是一些细节和编程技术的深入探讨和补完,都很有针对性。

编译语言:
1.C语言
能力要求:至少要达到精通
选用教材:《C Primer Plus 中文版(第5版)》
其他教材:《标准C程序设计(第3版)》《C语言入门经典(原书第3版)》
补充教材:《C程序设计语言》《C陷阱与缺陷》《C专家编程》《C与指针》
2.C++语言
能力要求:至少要达到熟练
选用教材:《C++ Primer 中文版(第4版)》
其他教材:《C++ Primer Plus 中文版(第5版)》
补充教材:《C++程序设计陷阱》《Effective C++》《More Effective C++》《Essential C++中文版》
3.ASM语言
能力要求:至少要达到掌握
选用教材:《80x86汇编语言程序设计教程》和《Windows环境下32汇编语言程序设计》
其他教材:《汇编语言》
补充教材:《汇编语言编程艺术》

脚本语言:
1.ASP
能力要求:至少要达到掌握
选用教材:尚无
其他教材:尚无
补充教材:尚无
2.PHP
能力要求:至少要达到精通
选用教材:《PHP与MySQL基础教程(第2版)》
其他教材:《PHP和MySQL Web开发(原书第3版)》《PHP和MySQL Web应用开发核心技术》
补充教材:《Ajax与PHP基础教程》
3.Perl
能力要求:至少要达到熟练
选用教材:《Perl语言入门(第4版)》
其他教材:《Perl技术内幕》《Perl教程(Win32版)》
补充教材:《Perl网络编程》
4.Python
能力要求:至少要达到掌握
选用教材:《用Python学编程》
补充教材:《Python网络编程基础》

操作系统(这里看导师的项目要求,原则上推荐从Microsoft开始。):
概览类:《深入理解计算机系统》
1.Windows
系统学习类:《深入解析Windows操作系统》
系统编程类:《Windows程序设计》和《Windows核心编程》
网络编程类:《Windows网络编程》
2.Linux
系统学习类:尚无
系统编程类:《Linux程序设计(第3版)》

[img]http://weblog.eviloctal.com/attachment/200708/1186216880_0.jpg[/img]
在完成第一层后就阅读《深入理解计算机系统》,读完这本书再继续。

【不定期补充一些有助于系统化学习的这些内容】

cwa 2009-6-3 13:33

【这是一张A1Pass制作的《Windows下Hacker学习发展流程图》,图中不同颜色的连接线已经很明白说明一些学习方向啦,也很值得参考借鉴。】

[attach]13764[/attach]
ps:帮你补上图

[[i] 本帖最后由 cmest 于 2009-10-27 02:13 编辑 [/i]]

cwa 2009-6-3 13:39

【这一张图我不知道谁捣鼓的,比较久了,结合楼上的那些进行参考,也算是不错的。】
【授人以鱼不如授人以渔,各位过客要是有好的较为系统化的学习步骤或者方法,劳烦各位高手举手之劳,分享出来,帮助更多人进入计算机这方面的学习哈:) 】

[attach]13765[/attach]

[[i] 本帖最后由 cmest 于 2009-10-27 02:29 编辑 [/i]]

cwa 2009-6-3 13:56

对于有些人担心自己英语不好是否可以学好计算机,这个我个人看法就是,英语这个东东对于刚起步学习计算机作用不算大,没有英语基础,刚开始学习编程的难度也几乎没影响(那些关键字之类的英语单词也就那么几十个,就算一天记一个那种单词啥的,也才花个把月的时间,但我估计能看懂这个帖子的人,应该智商没低到那种程度)。
    【数学对于初期基本学习编程影响也不大,估计读过初中水平左右够用了(不要求你三好生水平,及格线以下一点问题也都不大)。】

    我自己英语也很菜。就推荐个我学习英语的过程吧。
    就是《新东方新概念英语flash》版本的,张生云讲的,一共1-4册,网络上到处都可以下载到。我就去卓越网用货到付款方式(你可以其他方式买啦),买了本新东方新概念英语第一册课本先学,从26个字母的发音开始,反复学了四遍吧,每次学习都拿纸张和笔先抄一遍课文和单词,混眼熟,刚开始第一遍几乎没跟上,第二遍就跟上了点,第三遍跟上了,第四遍就对原来学习过程中一些不懂的开始吸收理解了,而且单词也没怎么死记硬背,自然而然看见单词就能知道啥意思的程度……学完第一册,继续学后面有了基础后就不难了。

    :smile:   英语牛人莫笑话俺哦~

陨落无痕 2009-6-3 15:07

:loveliness: LZ..真的好贴....
  恩..看过后,很明确自己应该怎么走了...

记忆碎片 2009-6-3 15:31

个人认为系统学习的最佳方法 : 考入伯克利或者麻省理工

redkx 2009-6-3 17:03

回复 7楼 记忆碎片 的帖子

考入伯克利或者麻省理工,是个好办法,但是很多人只能和我一样自学了
其实很多本事都是我们自学的

vinwujiahua 2009-6-5 18:16

..自学...难啊..本以为在学校里牛...哪知道来了这里很菜......我还在学hack中用linux

落叶树 2009-6-5 21:19

其实,最重要的还是认清自己。确定自己真的对技术感兴趣,那么选择一个方向,找一本经典的书看懂,剩下的就是不断的动手,交流。你会自然而然地越学越多,这样比你罗列一堆书籍看完后似懂非懂要好。语法只是让你知道要怎么做而已,重要的是各种精妙的构思。
记住:想成为高手,得靠创意;想成为大师,得靠天赋。

zmhack 2009-6-6 02:19

当兴趣的浓度达到你可以废寝忘食的时候 ,学习将不会成为困难

cwa 2009-6-6 12:52

回复 11楼 zmhack 的帖子

兴趣很大很大,但是一开始如果就接触上比较深的东东
1、兴趣减淡
2、消磨掉太多精力和时间用于一些基础的东东
3、如果用上不怎么好的教材,要不看得稀里糊涂,要不就觉得计算机某些基础难得要死而放弃

    就比如,你对读书有兴趣,但是如果一开始让你读初中、高中等等未免强人所难,甚至让人对读书有了恐惧,如果让你先接受一下幼儿园、小学的教育,那么再过渡到初中、高中不是就简单了。

==========================================================
    另外还有就是10楼的回复:“确定自己真的对技术感兴趣,那么选择一个方向”。。。
    这句话我支持,但有补充,很多人有兴趣,方向有了,可是学习先后也一头雾水,可能有人要学免杀方面,他知道要学汇编、逆向工程等等,但一开始他就看一本逆向工程的书,不是很痛苦嘛。

    这个帖子想要的目的呢,也是把学习的系统化过程给捏碎了柔细了喂给菜鸟,而并非是站在高手的角度或者其他比较笼统、比较高度的几句话拿给菜鸟硬啃。:smile:
    希望下面回复的都可以给出一些比较好的学习细节方面或者一些学习线路的建议之类的。用一两分钟时间写点建议,或许就给广大菜鸟带来极大的帮助而节省几天、几个月甚至几年的时间。  【讨论贴】

xiaofancn 2009-6-8 08:17

BT

呵呵。这一看学校这么不牛。所以以后会经常光顾邪八的。
给出这么系统的学习建议。学校的老师可没有你们这么有热心呢?
他们只会赶课,只会看钱。
=======自由的空间===========

[[i] 本帖最后由 xiaofancn 于 2009-6-8 08:19 编辑 [/i]]

Gerald 2009-6-9 19:38

荒诞

个人认为菜鸟们根本看不懂这些文献:sweat:
有这个服务器资源不如发一些符合实际的.{方便菜鸟嘛!}:smile:
我说这话只是个人......楼主不要生气:handshake:

cqyxyx 2009-6-9 21:18

其实我看了置顶帖的“有人这样学习”和
这篇帖子后我的感触的确挺大的!:sad:
看到楼主在2楼和3楼中发的图真是作的不错!

  黑客是一个长期学习的过程!所以我们菜鸟千万不要一嘴咬个胖子。
个人还是觉得按照冰血封情的那个比较好!(毕竟大师的经验要多一些嘛!)

      现在学Hack的一般都是些年轻人.都是些20岁左右的人!
英语和数学都不在打问题,以后学久了都有积累了!
  世界上没有最好的方法,只有最适合你的方法!
   建议:趁着自己的兴趣,选择一个方向.从最基础的慢慢深入!
楼主也说了这是个系统化的过程!我想如果真的揉碎了.我真的不知道那是个什么样子!
其实我认为细节就是不断反思!无论在什么时候.什么情况!
当你遇到问题时.你要综合学过的知识和去搜索或者去讨论再或者去BBS发帖.
不论你用何种方式你都是在解决问题!为的就是完善自己的知识体系.
所以大家千万别迷茫下去!一步一步来,OK?
[写的不好的地方请尽量指出]

ToBePeak 2009-7-31 21:17

大致方向和我现在的学习方向一致。当初身边根本没人指点,自己摸索了好久。另外,数学方面也可以看看离散数学

mon 2009-8-1 02:13

对于一个爱好者来讲,这样的系统化学习实在耗时太多。我建议的学习方式还是一个“面向对象”的学习方法,花时间来掌握基本的技术方法和思想,尽量多,只求理解,不需掌握。之后遇到什么学什么,用到什么学什么。这样子也是一种循序渐进的系统化学习,而且在实际中用到的东西,都会记得比较好。
当然了,对于专业人士,此方法应该行不通。

li668xiao 2009-8-7 22:13

我的一点经验:按重要性排列
1.英文阅读能力非常重要,排第一。
2.计算机组成,操作系统理论,基本的编译知识(库,编译,链接,加载等)。
3.c语言
4简单的大学数学知识,这里我把数据结构部分也归到数学方面上。
其余的如数据库部分,其它的语言,简单了解即可,根据实际需要再深入,

南宮零壹 2009-8-8 00:43

楼主貌似是侧重win方面,有没有linux版本的哦..很期待.

fcukmhm 2009-8-8 16:25

楼主 的问题 不错
但是楼主没有给自己确定一个大的方向吗?
比如 是想在那个方面上的发展?
编程  硬件  破解  黑客的一些技术等
我想第一步 就是应该 确定一个 大概的方向
第二步 才是针对性的 进行基础知识的学习
第三步 提高相应的学习知识 和态度 等
才能更好的发展吧

追寻 2009-8-8 17:02

如何学习这个只是做个参照,找到适合你的学习方法才是王道。

qchqz123 2009-8-8 17:14

17楼朋友的方法也不错,我以前就是这样,碰到什么学什么,但是也暴露出了问题,基础知识不系统。

新手朋友建议系统的学习下《计算机应用基础》《计算机组成原理》对计算机大貌、技术及历史有个宏观的认识,再深入学习C,这时的C尤为重要,C是通向编程的大门,有的新手就问了,难道不学其他语言吗?学,语言有个特性,一通百通,学精了C语言后你就发现学其他语言轻松了,再者,你一下子想吃成胖子,C想学,戴尔菲想学,脚本入侵想学,这是不可能,循循渐进,就像挖井,你是想挖深还是挖宽?

这是我走来的一点小经验和弯路,希望对新手朋友有点帮助。

huanglong377910 2009-8-11 10:20

上面的数我们在大学里面都基本上学完了啊,但是我还是感觉没有学到东西啊,实际操作能力太差了啊:cry:

last_friend 2009-8-16 17:05

如果一开始就看计算机组成原理会一头雾水的
当然我也不同意某位网友所说的“面向对象”的学习法,学习永远是“面向过程”的,只有这样才能学好

hulk190 2009-8-16 17:41

感觉这是大学程序员培训的东西。其实针对黑客技术,应该针对学习几项,如入侵、攻击、防护、病毒等。

lvxx 2009-8-16 19:24

我也来说2句行不?嘿嘿!
在我眼就是这样,你必须适应这个世界,不是世界来适应你.
谈到兴趣我只想说:学一行要爱一行,而不是爱一行学一行,至少我觉得这个世界不适应这样的人,要不怎么会出来个"感情,,性趣"都靠培养呢?哈哈!
CWA很强,很暴力!:lol:

撕碎了的小C 2009-8-26 21:24

计算机的方向实在是太多了,个人感觉如果对安全这方面感兴趣的话,并不需要学习那么多的语言。

安全方面主要是包含的内容广,语言并不求多。
主要是把C和WIN32编程学好,一般就够用了。
如果要钻研系统安全就要学ASM,驱动与操作系统原理,用来挖掘漏洞。
如果要钻研网络安全的话,要学好网络协议。
当然,数据库是必不可少的。
如果需要的话,再学一门高级的JAVA或PYTHON就足够了。

偶偶 2009-8-27 23:14

英语是要学的
c语言是基础,学习程序会发现学好数学也很重要

心碎谁人知 2009-8-28 01:52

个人并不建议一开始就学C 除非你有一些基础了

wjw 2009-8-28 09:08

学习其实没有那么复杂,用合适的方法向目标努力就可以了
不过天赋也是很重要的一方面
方法只能则其善者而从之,其不善者而改之……

trojanxsc 2009-8-28 21:26

说起来有点丢人
接触这些东西已经好几年了
但没系统的学过编程
基础也很不扎实
到现在这里的文章大部分已经适应不了了
有点迷茫
我现在走的路子还是用到什么学什么
一直没有找到适合自己的路
还希望大家介绍下自己的学习方法吧

999 2009-8-28 23:29

楼主,你写这个过程就是我在大学4年的学习过程,同时,我很赞成楼主的观点,非常明了,有点可惜的是,那几张流程图看不到。:smile:

redhaker 2009-9-3 12:54

在学校里也学过很多这方面知识,可惜一直不能深入地研究,以至于只是懂了一些皮毛……唉,真的很想能达到“精通”的地步……

zzitt 2009-9-3 15:03

首先是思考自己该学什么,对什么感兴趣,毕竟兴趣是最好的老师。然后去探索学习方法,比如编程虽然都说是不要眼高手低,多敲代码,但如果你把代码敲上去不知道什么意思的话那我劝你还是不要白费力气了。
技术并不需要掌握多少门语言,你只要精通那么一两种就够了,殊途同归,一般的程序设计语言大约语法也就那么几种。

fengzizhang 2009-9-3 19:56

我谈学习计算机——仅个人认为

首先说下自己,从去年开始学习IT技术。一年间,学的都是C#网站编程,虽然这不是我想要的,但一直很努力的在学。
人都是有自己的理想的,我的目标是技术的巅峰,因此,我放下了很多,转到了专攻系统和网络的专业。

浅谈一下自己的想法:
    想要真正的学好计算机,特别是走黑客的路线。首先应该从基本的系统原理开始学起,这方面的书我也不知道哪些比较好,如果有知道的,还麻烦说下,谢谢~!
    学好操作系统之后,就应该学习协议通信原理和CISCO技术,这方面的书 我也不知道哪些好,大侠们 可以给点建议,谢谢~
       再次,就应该学习服务器的搭建和安全维护了,这方面的书 我也不知道哪些好,大侠们 可以给点建议,谢谢~
       在所有的硬件都学好的基础上(至少也要完全的熟悉每个环节的技术支持),再学习编程技术,如果你想要在刚接触计算机技术的时候就直接学编程技术,那是很不明智的,我就是一个例子!你要花很多的时间去想明白一个简单的技术的思想过程~!
    学习编程技术,想要走黑客的路线,劝大家不要大量的学习C#,它只是在网站开发和办公应用软件开发上有着优势。建议可以从VB学起,它还比较好接受点,或者学VBS脚本也行。如果你认为自己很聪明,理解和接受能力很强,那你可以直接的去学习C语言或者C++,再或者是汇编。
  我今后的学习:在学习操作系统和网络服务的课余,自学C++和VBS脚本,毕竟我已经学了一年的C#编程,这种面向对象的编程思想我已经很熟练了,所欠缺的就是系统和网络的技术支持。

此文,仅供参考~ 希望大侠们指点一二,小子感激不尽~!

菜鸟鸟 2009-9-4 06:59

好像记得是1年前才开始接触黑客
我也没想到1年后会这样
什么都是模糊一片
发现越学越多
我决定先攻一方面
不然到时候我怕我什么都懂 都不精通  然后在学习的时候 看看那个我最感兴趣
然后后面主要学习点
现在不知道开始学习计算机基础还是高等数学
不知道各位大大能不能稍微指点一下!

cwa 2009-9-5 20:09

3楼、4楼缺失的图片,可以在以下地址看到

[url]http://hi.baidu.com/evilcwa/blog/item/80208025522a616835a80f66.html[/url]

补充下。

arkle 2009-12-26 15:10

[quote]原帖由 [i]last_friend[/i] 于 2009-8-16 17:05 发表 [url=http://forum.eviloctal.com/redirect.php?goto=findpost&pid=160736&ptid=35085][img]images/common/back.gif[/img][/url]
如果一开始就看计算机组成原理会一头雾水的
当然我也不同意某位网友所说的“面向对象”的学习法,学习永远是“面向过程”的,只有这样才能学好 [/quote]
本人的观点同上,我就是这样学习的。

asdfslw 2009-12-29 20:59

这个讨论帖很有意义:smile:

wo1234 2009-12-31 17:18

这样学习起来会比较快:lol:

颜小风 2010-1-4 14:43

刚才看图的时候就在想,感觉第二张图解释的最清晰,其实我们所说的黑客,无外乎就是网络和系统方面的,兴趣是最好的老师,我们小组的成员爱好都不一样,有的人喜欢网络,有的喜欢研究破解,有的则是喜欢免杀。
个人认为自己学的这些技术不是和学校学的那些一样,学校的是正统的编程(即官方的)而自学的则不同,都是在实战中得来的技术,往往都是在遇到问题的时候在回去研究原理,研究解决的方法。
前者是主动的学习,但是学习起来没什么意思,因为不知道有什么多大的作用,后者学习也是比较困难,本人感觉便是同步的学习,是最好的解决方法。兴趣是最好的老师。
当我们在修改特征码或者在源码的时候会发现自己的编程知识不足,在学习知识的时候变有了动力,知道了有什么用,知道了怎样运用它来方便自己。
个人也不推荐上来就学习编程,可以从基础的知识开始学起,一步一步的来。

parerty 2010-1-7 13:03

有感触,学习都是先搭起个框架然后慢慢填充才会比较清晰...
如果只是昏昏然的跟着走永远不知道自己需要什么

hfll 2010-1-7 13:16

学习了,谢谢楼主啦,慢慢来完善自己

w5r2 2010-1-8 19:53

来看看。值得我们大家学习!

windkiss 2010-1-8 22:02

其实,本人认为如果不是做程序安全方向,高数可以不用学,还有c也是。网络安全的重点应该是路由和服务器设置。
欢迎大牛板斧。

x-x-y-s 2010-1-10 23:21

[img]http://farm4.static.flickr.com/3211/2835909714_ecc49ea2ca_b.jpg[/img]

kiss4628159 2010-1-11 16:54

飘过学习学习:lol:

sdwmg 2010-1-12 20:49

个人觉得:应该先学习一下语言和网络协议吧!

黑鹰小子 2010-1-13 13:51

明确下

我想说的是,这里说的是如何系统的学习计算机,而不是说安全方向  如果是系统的学习,大学里的课程已经足够系统了,但是由于理论性太强,可能在短时间内,没有感觉到他的利处
安全方向必须是自己感兴趣的方向  
首先我支持的是网络安全,感觉要把路由交换 学好 以及*NIX的系列 追究专业性的话,大家应该考个CCSP和RHCE吧应该,至少这在网络安全里算专业的认证了
推荐大家 自顶向下的学习方法

[[i] 本帖最后由 黑鹰小子 于 2010-1-13 13:58 编辑 [/i]]

贪@狼 2010-1-13 21:03

这样系统的学习是不是太耗时了啊,而且容易导致什么都会,但什么都不精通,不如选一个方向,潜心学习。

页: [1] 2
© 1999-2008 EvilOctal Security Team