天天看點

一個黑客所需的基本技能

一個黑客所需的基本技能
一個黑客所需的基本技能

1、黑客的精神态度是很重要的,但技術則更是重要。黑客的态度雖然是無可取代,随著新科技的發明和舊技術的取代,這些工具随時間在慢慢的改變。例如:以往總是會學會用機器碼寫程式,直到最近我們開始使用HTML。不過,在1996年末,當然,這是基礎的hacking技能。在1997年,理所當然的,你必須學會C。 但,如果你隻是學一種語言,那麼你不能算是一位黑客,了不起隻能算是一個programmer。除此,你還必須學會學會以獨立于任何程式語言之上的概括性觀念來思考一件程式設計上的問題。要成為一位真正的黑客,你必須要能在幾天之内将manual内容和你目前己經知道的關連起學會一種新的語言。也就是說,你必會學還了C之外的東西,你至少還要會LISP或Perl(Java也正在努力的擠上這個名單; 譯者注: 我很懷疑這份名單)。除了幾個重要的hacking常用語言之外,這些語言提供你一些不同的程式設計途徑,并且讓你在好的方法中學習。

程式設計是一種複雜的技術,我沒辨法在這提供完整的學習步驟。但是我能告訴你一些在書本上和課堂上所沒有的東西(有很多,幾乎全部最好的黑客們都是自習而來的)。(a) 讀别人的程式碼;(b)寫程式,這兩項是不錯的方法。學習寫程式就像在學習寫一種良好的自然語言,最好的方法是去看一些專家們所寫的東西,然後寫一些你自己的東西,然後讀更多,再寫更多。然後一直持續,一直到你發展出一種屬于自己的風格和特色。要找到好的程式碼來看是很一件很困難的事,因為,對菜鳥黑客們而言,适于供他們閱讀和努力的大型程式的source數量很少。但這事己有了戲劇性的變化了; 現在免費的供應的軟體、程式設計工具和作業系統(大都公開提供 source,而且全都是由黑客們寫成的)到處可看。進入下一個主題。

2、取得一個免費的 UNIX,并學習使用和維護。我先假設你己經有一部個人電腦或者是可以使用任何一部(現在的小孩子真幸福,可如此輕易的擁有 :-))。 取得黑客技巧的第一個步驟是取得一份Linux 或者一份免費的 BSD-Unix,并将它安裝在自己的機器,并使之順利的運作。沒錯,在這個世界上除了Unix之外,還有其它的作業系統。但是他們隻提供bianry,你不能看到他們的程式碼,你也不能修改他們。想要在DOS或Windows或MacOS開始hacking,無疑就是要你綁著枷鎖跳舞一樣。

除此之外,Unix是Internet上的作業系統。當你在不懂Unix的情況下學習使用Internet時,你沒辨法在不懂Unix的情況下成為Internet的黑客。因為這個原故,現在的黑客文化還是很牢固的以Unix為中心。(這并不完全是正确的,而且有些活在舊時代的黑客甚至也不喜歡這種情形,但是Unix和Internet之間的共生共成己經到了牢不可破的地步,即使是Microsoft的大塊肌肉也沒能在上面留下明顯的傷痕。) 因些,把Unix裝起來吧! (我自己是喜歡Linux,但是還有其它的東東可用。) 學習它,讓它運作起來,讓它陪你努力精進。 用他向整個Internet喊話。看程式碼,改程式。

有一天你成為一位高竿的黑客,你回頭往後看時會發現,你得到比Microsoft作業系統所能提供的還要好的程式設計工具(包括 C,Lisp和 Perl)。而且得到快樂,并學到比共生共成己經到了牢不可破的地步,即使是Microsoft的大塊肌肉也沒能在上面留下明顯的傷痕。) 因些,把Unix裝起來吧! (我自己是喜歡Linux,但是還有其它的東東可用。) 學習它,讓它運作起來,讓它陪你努力精進。用他向整個Internet喊話。 看程式碼,改程式。有一天你成為一位高竿的黑客,你回頭往後看時會發現,你得到比Microsoft作業系統所能提供的還要好的程式設計工具(包括 C,Lisp和 Perl)。而且得到快樂,并

學到比你想像中的還要多的知識。關于學習Unix,在Loginataka有更多的資料。(http://www.ccil.org/~esr/faqs/loginataka。)

看一下Linux distribution的目錄或 Linux CD,并把自己傳遞給它。

3、學習使用World Wide Web并學會寫 HTML。

在黑客文化創造出來的東西,大多在他們的活動範圍外被使用著,如,在工廠和辨公室或大學被漠漠的使用著。但Web是一個很大的例外,這個黑客眼中的大玩具甚至還被政客們接受,并巧巧的在改變這個世界。是以(還有很多好的理由),你必須學習Web。并不隻是學習使用browser(這太容易了)而己,還要學會寫HTML這個Web的标簽語言。如果你不知道如何設計程式,寫HTML也可以給一些習慣上的幫助。嗯!! 建立home page吧! 不過,有一個home page 并沒任何特别之處能讓你成為一位黑客。Web上到處都是home page,而且大部份都沒什麼重點,沒什麼内容的爛泥 -- 很好看的爛泥巴,但是看起來都一樣,差不多。

4、至少學會以下的其中兩種:

一、網站伺服器程式ASP、PHP、CGI、JSP

我個人認為CGI是最難學的其中一種。

二、程式語言:C語言、C++、VB、JAVA、PERL、DELPHI、彙編語言

不過我認為C語言的通用性最好,可以跨平台(作業系統)使用。

還要試着自己寫程式、開發軟體等工作。

三、資料庫管理軟體:MYSQL、SQL、FOXPRO……等。

四、幾種常用的作業系統:WIN98、WIN2000、WINNT、WINXP、UNIX、LINUX、要是能學到UNIX那是最好不過的了。最最基本的WIN2K、WINNT也要學會吧。

如果以上的你都會了,那麼你已經是個高手了。

繼續閱讀