首先,“比较普通的程序员”和能不能成为黑客之间没有必然关系。
黑客可能是很优秀的程序员,也可能不是。
如果你看过yuange的程序,就会明白这一点。
yuange的编程能力比较差,编程习惯更差,整个儿就是一个编程反面教材的样板。
但是,这丝毫不妨碍他成为世界上最优秀的黑客之一。
“要读懂一个别人的源码已经很不易了”,这才是根源问题。
无论有没有源码,黑客都必须要能分析、理解、推测程序实现,才能发现漏洞。
这不是视角问题,是能力问题。
这种能力在一定程度上可以训练。
利用公共通讯网路,如互联网和电话系统,在未经许可的情况下,载入对方系统的被称为黑帽黑客,调试和分析计算机安全系统的白帽黑客。
黑客一词最早用来称呼研究盗用电话系统的人士。
在业余计算机方面,黑客指研究修改计算机产品的业余爱好者编程:让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。
这种人和计算机之间交流的过程就是编程。
在正式进行各种“黑客行为”之前,黑客会采取各种手段,探测(也可以说“侦察”)对方的主机信息,以便决定使用何种最有效的方法达到自己的目的。
获取IP “IP”作为Net用户的重要标示,是黑客首先需要了解的。
获取的方法较多,黑客也会因不同的网络情况采取不同的方法,如:在局域网内使用Ping指令,Ping对方在网络中的名称而获得IP;在Internet上使用IP版的QQ直接显示。
而最“牛”,也是最有效的办法是截获并分析对方的网络数据包:用Windows 2003的网络监视器捕获的网络数据包,可能一般的用户比较难看懂这些16进制的代码,而对于了解网络知识的黑客,他们可以找到并直接通过软件解析截获后的数据包的IP包头信息,再根据这些信息了解具体的IP。
<