当前位置: 首页 > 编程 > 正文

我也是刚接触编程不久,目前还是刚入门的小白阶段,我就说说我的理解。学编程,学什么这个范围很广,谁都不好回答,主 […]

我也是刚接触编程不久,目前还是刚入门的小白阶段,我就说说我的理解。
学编程,学什么这个范围很广,谁都不好回答,主要先问你自己,你想要干嘛,你学编程是为了什么?当你明白了这些后,你才能给自己定下方向,定下了方向才能制定目标,虽然说每个编程语言任何软件都能开发,但每一种编程语言都有长处和短处,delphi擅长数据处理,C++适合游戏,C和汇编适合逆向等等。

image

    梁肇新大神的《编程高手箴言》一书中把编程分为六个境界,
l 第一阶段
此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。
l 第二阶段
此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。
l 第三阶段
此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。
l 第四阶级
此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。
这时已经不再有语言的束缚,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。一般来说,从第三阶段过渡到第四阶段是比较困难的。为什么会难呢?这就是因为很多人的思想转变不过来。
l 第五阶级
此阶段就已经不再局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。到了这个阶段以后,能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也一定会设计出来。
l 第六阶级
此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是“手中无剑,心中也无剑”。
此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁看一下少林拳的对战,就能把此拳拿来就用。这就是真正的大师级的人物。这时,Win 32或Linux在你眼里是没有什么差别的。
每一个阶段再向上发展时都要按一定的方法。第一、第二个阶段通过自学就可以完成,只要多用心去研究,耐心地去学习。
要想从第二个阶段过渡到第三个阶段,就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过二、三年的积累就能达到第三个阶段。但是,有些人到达第三个阶段后,常常就很难有境界上的突破了。他们这时会产生一种观念,认为软件无非如此,认为自己已无所不能。其实,这时如果遇到大的或难些的软件,他们往往还是无从下手。
第四境界虽说已经不局限与语言的层次了,但初学者的我们要确定目标先掌握好一门语言再延伸。

CkDebug_追逐梦想,关注互联网安全
我就已我自己的情况打个比如吧,我从小对软件安全比较感兴趣,所以我主要的语言是C和汇编,以下是我根据朋友的推荐和自己的认识给自己定下的目标流程,当然也会根据自身情况不断去修改,
1 C语言程序设计
2 C++程序设计
3 数据结构
4 16位汇编程序设计
5 Win32汇编程序设计
6 Windows程序设计
7 SQL数据库
8 MFC程序设计
9 核心编程
10 PE文件
11 软件
逆向破解
12 windows内核开发和分析
13 溢出漏洞的利用和检测
14 软件加壳技术
精通:能独立完成大中型程序单一模块的开发或有开发经验(就是我们通常说的开发过东西)
熟练:能独立完成实现一定功能的小型程序的编程工作(就是我们通常说的能用该语言编程)
掌握:能独立完成简单程序编写并能修改已知代码为自己所用(通常说的能对程序做二次修改)
了解:能独立完成程序代码的执行流程和漏洞的分析(就是我们通常说的能看得懂代码)
选用教材:即是推荐的自学主修教材,最好从头到尾都看完。
其他教材:同样是国际经典教材的,也可以选他们作为教材,初学强烈推荐将整本书看完。
补充教材:是必须要阅读的,因为这些并不是教程,而是一些细节和编程技术的深入探讨和补完,都很有针对性。

1.C语言
能力要求:至少要达到精通
选用教材:首推范磊的《零起点学通C语言》,这是一本国人很用心去写的教材,很通俗易懂,我是看这本书入门的。当然也少不了经典的C Primer Plus 中文版(第5版) 这本书很详细,基本包含了C语言的所有知识,但初学者看起来很啰嗦,建议先看范磊的书对C有个大概的了解再用C Primer Plus 中文版(第5版)提高。国人写的书对于指针都是粗略概括,而指针又是C的灵魂,单独推荐两本C指针的经典,一本是日本人写的《征服C指针》,一本是老外写的《深入理解C指针》,这两本书都讲的非常好。基本上看完这些后就C就八九不离十了,可以看补充教材去提高C水平。
其他教材:《标准C程序设计(第3版)》《C语言入门经典(原书第3版)》
补充教材:《C程序设计语言》《C陷阱与缺陷》《C专家编程》《C与指针》

2.C++语言
能力要求:至少要达到熟练
选用教材:《C++ Primer Plus 中文版(第5版)》或者《完美C++》
其他教材:《C++ Primer 中文版(第4版)》
补充教材:《C++程序设计陷阱》《Effective C++》《More Effective C++》《Essential C++中文版》

3 数据结构
推荐程杰的《大话数据结构》 这本书堪称经典,清华的数据结构虽然很出名,但理论性太强

4 16位汇编程序设计
这个就不得不提到大名鼎鼎的 王爽《汇编语言》 通俗一定,汇编圣经

5 Win32汇编程序设计
罗云彬大神的《Windows环境下32汇编语言程序设计》

6 Windows程序设计
《Windows程序设计》

7 SQL数据库
数据库我还没开始学 具体哪本教材好这个我不是很了解 可以上百度上查查

8 MFC程序设计
侯爷写的《深入浅出MFC》还有《MFC WINDOWS程序设计》

9 核心编程
《WINDOWS核心编程》

10 PE文件
</PE文件权威指南>

11 软件逆向破解
《逆向工程核心原理》 看雪的《加密解密》 《老码识途》

12 windows内核开发和分析
《shellcoder编程揭秘》 《WINDOWS内核情景分析》 《 Rootkits——Windows内核的安全防护》 《寒江独钓》 《天书夜读》 《竹林蹊径》 三部曲

13 溢出漏洞的利用和检测
《0DAY安全》

E1FA8A77A0C63BEDC3EE163C047FD82E

——————————————————————————————————————

附录网上收集的一张黑客学习路线图:

image

本文固定链接: http://blog.050k.com/?p=78 | RotShell's Blog
标签:, ,

关于逆向之路的学习计划:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter