很多喜欢编程的新人,一定在学习方面很迷茫。

我给大家说说学习方法,以及整个过程需要的书籍(只提供书名哦,根据书名百度哦),顺序已经为大家在书名前面写上,希望能帮助到你们。
学习方法就只有几句:不管是哪本书,你首先要看一遍书上的讲解和源代码,做好笔记,然后凭着理解重新背着写一下。不仅要比书上简化,还要能运行!
初学级别:
1. C程序设计语言(或者 c primer plus)
2. C和指针(这本很经典哦)
3. 数据结构(C语言版)—不管你以后要做界面还是要走安全方面,都必须过数据结构这一关。
4. C陷阱与缺陷(这本书我不是很推荐看,里面很多缺陷已经不存在了,当然在老版本的编译器下还是有的)
5. C语言解析教程(有兴趣可以研究)
6. 编译原理及实践(其实想通过这本书了解整个编译原理是不可能的,这个也只是入门,可以帮助大家提高思维能力)
7. Windows程序设计(第五版)(有了基础,可以开始尝试界面的东西了,虽然也只是皮毛,但是入门是很好的)
8. windows核心编程(这本请深读,至少我是把书上代码全部自己敲了一遍,会让你对数据结构和指针有一个质的提升)
9. win32多线程编程(这本书很一般,不过可以当作是No.8的补充)
从这里分割,就开始出现方向分歧了。
如果你要走界面方面,那就学习吧里很多大牛学习的OpenGL等。我对界面不是很了解,这一块吧里很多大牛可以为你补充。只要你愿意问,问的格式对。
当然我还是给大家介绍我现在走的方向吧,比较喜欢研究计算机,所以在努力朝灰帽子方面发展。(记住,无论哪个方向,都必须学习网络编程,可以放到最后学,也可以在分歧的时候学习,精通不精通就看你的志愿和毅力了,网络的书籍我放在最后)
有了以上基础进军底层是很有可能的。
提升级别(请提前补充汇编知识,至少会写Dos下的时间显示,这里会学习到以前DOS时代很流行的一项技术,不然调试和以后的“偷学”别人技术都无法入门):
1. windows驱动开发技术详解(学习驱动,为你以后过驱动保护打下基础)
2. windows内核安全编程(这本书是很好的提升,有汇编和C的)
3. 从汇编语言到Windows内核编程(这才是迈出的第一步)
4. windows内核情景分析(有时间一定得补充这个)
5. windows设备驱动编程(wdf)(这个是看你是否有兴趣,因为这是一本关于最新驱动模式的书,建议学习,有了DDK和WDM的基础,这本书很快就可以掌握)
6. windows内核原理与实现(潘)(必看)
7. 深入浅出windows驱动开发(这本书完全是复习,让你学习内核安全的时候,不忘驱动的一些编程技巧,如果记忆力好可以忽略这书)
8. 深入解析windows操作系统(此时再看这书,你会发现上面的东西,你可以实现)
9. windows操作系统原理(选看)
10. Oday安全 软件漏洞分析技术(让你进入灰帽子的入场券,有了前面的基础,这本书会很轻松)
11. rootkit-windows内核的安全防护(自己看名字就知道了。现在杀软干的事情)
12. 加密与解密(这个时候学习这个,如鱼得水)
13. 逆向工程揭密和黑客反汇编揭秘
提升的过程要学习使用书上介绍的工具和百度,google提问,多逛论坛。外挂,反汇编等技术在你按照提升级别学习的过程中,你会慢慢明白。
最后就是网络篇了
无聊界面还是底层,网络是最重要的一块,不管技术再牛,只能玩单机系统,是没有前途的,要能将技术通过网络传播出去。
1. windows网络编程技术(进行大概了解)
2. TCP-IP详解(前2卷就可以了,精读)
当然我特别推荐在Linux下学习网络,这个系统做服务器都很强大。

1. Linux 高级编程
2. Linux内核源代码情景分析
3. Linux设备驱动程序第三版
4. Linux 内核源码剖析: TCP IP 实现(上册)/(下册)
5. TCP_IP协议(全卷)
6. Unix网络编程(Unix可能很难弄到手,就在Linux下玩吧)
除此之后,一定要掌握一门脚本语言。我推荐Python。书籍网上很多。如果你学到这里,相信你已经懂得如何寻找资源了。当然,要搞网站,c#或asp.net或者html选一个,然后花时间学习。如果有志愿向灰帽子方面发展的朋友,网站这块的编程要熟悉,不然以后挂一个马都不会,是不是很可笑?
楼主现在在一步一步进步,同时也希望未来的高手们也进步。楼主特别希望国人能出很多计算机高手(称呼无所谓)。

能说的就这么多。大体是这样,中间可以根据自己的情况增加或者减少书籍。祝你们进步。



关于数学要不要好?
这个没有明确的答案,越学到后面,当你去破解一个软件时,比如吧主的俄罗斯方块AI的dll,那这个dll里面用的算法需要你有一定的数学修养,不然就算能还原成C,也不一定能明白其中道理。
学完提升级别的,请尝试反编译网络上的病毒,木马等。这样你才学的到东西。
英语呢?
只是学C不需要,但是要进阶, 强烈建议你英语要好。越到后面,公开的技术越少,你需要阅读的英文文章就越多,所以各位根据自己情况决定。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值