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