很多人都感覺(jué)"黑客很酷"在計(jì)算機(jī)前面敲打著鍵盤(pán)就可以控制他想控制的世界了。是的,黑客很酷很厲害,但是課程也是從小小程序員開(kāi)始起步的,也是需要掌握一些編程語(yǔ)言才能擔(dān)當(dāng)起這個(gè)稱(chēng)呼。那么,作為一名合格的黑客,需要掌握哪些編程語(yǔ)言呢?
一名合格的黑客肯定是一名合格的程序員,基礎(chǔ)語(yǔ)言是必須的,必須掌握以下幾點(diǎn)知識(shí):
1、熟練掌握C/C++語(yǔ)言
幾乎所有的黑客新手都要學(xué)反匯編,就是通過(guò)一個(gè)程序語(yǔ)言的匯編套路來(lái)分析其代碼,并用c語(yǔ)言進(jìn)行測(cè)試。需要掌握的匯編語(yǔ)言有stack、data segment,protected mode,ESP,EBP,C語(yǔ)言......
2、網(wǎng)絡(luò)
TCP/IP(TCP,UDP,ICMP,DNS,IP等許多協(xié)議)要會(huì)截取數(shù)據(jù)包、分析frame,結(jié)合telent/ftp/c語(yǔ)言等socket等命名來(lái)進(jìn)行網(wǎng)絡(luò)劫持,這部分是最難也是最枯燥乏味的一部分,每個(gè)網(wǎng)絡(luò)字節(jié)都不能放棄。
3、計(jì)算機(jī)原理
分析程序數(shù)據(jù)在沒(méi)有十進(jìn)制,只有2進(jìn)制和16進(jìn)制時(shí),要會(huì)看得懂基本的運(yùn)算,還有big/little-endian等基本術(shù)語(yǔ),要會(huì)WinHex/UltraEdit或VS的dempbin分析程序。
4、系統(tǒng)
了解各種操作系統(tǒng)windows內(nèi)部的api、IP proxy、sockets編程,系統(tǒng)設(shè)計(jì)存在的一些漏洞。
從上面可以看到,黑客需要掌握的第一個(gè)知識(shí)點(diǎn)就是C/C++語(yǔ)言,這兩門(mén)語(yǔ)言時(shí)最接近底層語(yǔ)言。一般來(lái)說(shuō)市面上流行的操作系統(tǒng)windows、linux、windows,要掌握這些操作系統(tǒng)的接口,找到破解對(duì)象首先就要破解對(duì)象所在的生存環(huán)境,而這些生存環(huán)境基本上不是C環(huán)境就是C++環(huán)境?,F(xiàn)在比較常見(jiàn)的病毒軟件就是利用windows系統(tǒng)漏洞注入到系統(tǒng)當(dāng)中,伺機(jī)做壞事。市面上服務(wù)器大多數(shù)都是linux系統(tǒng),被攻擊也很多。黑客需要熟悉linux系統(tǒng)的組成以及內(nèi)核構(gòu)造,而linux也是c語(yǔ)言所寫(xiě)的,可以說(shuō),但凡涉及到系統(tǒng)方面的東西都是離不開(kāi)C及C++,所以這兩門(mén)語(yǔ)言是黑客必學(xué)的編程語(yǔ)言。(推薦相關(guān)閱讀:C語(yǔ)言初學(xué)者用什么編程軟件)
好了,講了這么多,學(xué)習(xí)的過(guò)程中是痛并快樂(lè)著,想掌握編程語(yǔ)言,想成為一名黑客不是那么容易的事情,給自己定個(gè)小目標(biāo),每天進(jìn)步一點(diǎn)點(diǎn),你就離黑客不遠(yuǎn)啦。