道3----编程真经

来源:互联网 发布:java如何安装与卸载 编辑:程序博客网 时间:2024/04/30 03:46

如果你立志成为顶级黑客,那么就要不断提升自己的编程内功和招式。以下的方法至少在电子计算机时代是适用的(量子计算机时代还未真正到来)。

我们首先看下编程语言产生的年代,从中我们会得到一些启示。

在此,我选出9个最具代表性的语言供大家参考。

他们产生的具体时间请自行搜索查询,并思考其编程语言产生的原因。

编程进化论:汇编——C——C++——Python——Lua——PHP——Java——JS——Go

经过我7年的实践思考与总结,在这里我就用一句话道破这个编程真经。

机器生汇编,汇编生B,B生C,C生万物!

对于做渗透测试的灰帽黑客来说,你的目标不单单是挖掘到漏洞,你的目标是获取系统的完全控制权。那么有两门

编程语言你必须要掌握,那就是汇编和C。因为Python是C写的,Lua是C写的,PHP也是C写的。C++是对C的拓展,从

本质上来看C和C++是同一个东西,Java是C++的简化版本,并且JVM虚拟机大多是用C和C++写的。现在比较火的

Node.js底层同样是C++写的。Go的早期编译器也是C写的。现在已经是C/C++的世界了。

说这么多语言,其实都是招式,不算是真正的内功。编程其实就相当于说话,你可以会多国语言,但是学多国语言

的目的在于交流,在于表达你的思想。放在编程上,也是同样的道理。

那怎样才能提高自己的编程内功呢?我在这里给出一些秘籍。

速成秘籍:
《深入理解计算机系统》
《TCP/IP详解卷1》
《算法导论》
《深度探索C++对象模型》
《编程之美》 

速成之后,如果你想更加深入的学习编程,提高自己的内功,我这里给出一些书单和方向。

内功心法:
1.计算机科学概论
2.计算机数学基础
高等数学
线性代数
离散数学
概率论与数理统计
具体数学
3.C语言
C和指针
C专家编程
C陷阱与缺陷
C标准库
4.数据结构与算法
算法
算法导论
编程珠玑
计算机程序设计艺术卷123
5.电子技术基础
数字电路与模拟电路
6.汇编语言
汇编语言程序设计
黑客反汇编揭秘
7.计算机硬件原理
计算机组成-结构化方法
计算机体系结构
微机原理与接口技术
编程卓越之道
深入理解计算机系统
编码的奥秘
8.数据库系统原理
数据库系统概念
数据库系统导论
数据库系统实现
9.编译原理
编译原理及实践
现代编译原理-C语言实现
高级编译器设计与实现
10.操作系统原理
程序员的自我修养
自己动手写操作系统
现代操作系统
11.计算机网络
TCP/IP详解卷123
12.C++语言
C++ primer
C++沉思录
13.STL
C++标准程序库
范型编程与STL
STL源码剖析
14.JAVA语言
java核心技术卷12
深入理解java虚拟机
java并发编程实战
15.软件工程与面向对象程序设计
C++编程思想
JAVA编程思想
软件工程:实践者的研究方法
敏捷软件开发
代码大全
重构-改善既有代码的设计
程序员修炼之道:从小工到专家
卓有成效的程序员
游戏之旅我的编程感悟
编程高手箴言
大话设计模式
16.windows编程基础
天书夜读:从汇编语言到windows内核
windows核心编程
17.unix编程基础
鸟哥的私房菜
unix环境高级编程
unix网络编程卷12
unix编程艺术
unixshell范例精解
18.linux内核与驱动程序
linux内核源码情景分析
深入理解linux内核
linux设备驱动程序
19.计算机图形学

当然,如果你立志成为一名顶级黑客,那么我这里还有几本书可以推荐给你。

逆向工程:

《逆向工程核心原理》、《Android软件安全与逆向分析》、《IDA Pro权威指南》
密码学:

《应用密码学》、《深入浅出密码学》、《Python密码学编程》
ACM编程:

《算法竞赛入门经典》、《挑战程序设计竞赛》、《Python算法教程》
Web安全:

《黑客攻防技术宝典:Web实战篇》、《白帽子讲Web安全》、《Web前端黑客技术揭秘》
二进制:

《黑客攻防技术宝典:系统实战篇》、《黑客之道:漏洞发掘的艺术》、《0day安全》
网络与取证:

《黑客大追踪》、《Wireshark数据包分析实战》、《Wireshark网络分析的艺术》


0 0