打ctf需要c語言基礎嗎?


就二進位這塊而言肯定需要的,不然連IDA F5都看不懂怎麼做逆向是吧 。而且二進位這塊會深入研究C程序的編譯,彙編以及運行的過程,沒有C的知識作為基點學起來會很吃力。

Web的話如果入門暫時不那麼需要,但長期研究的話還是要了解的。畢竟C直接編譯出的彙編代碼相比於一般的腳本語言有著明顯的速度優勢,在處理某些任務時還是用C寫會比較好。

話說回來,難道C不應該是計算機專業剛開始就學的內容嘛。。。。。。


這個問題,不夠具體啊,你要是打CTF還是全能的話,那肯定是要會的,前面幾位師傅也都說了,主要還是逆向和pwn。

如果是web狗,那就很沒有必要了

PS:搞misc的時候也很少用C,一般都用python,畢竟人生苦短


對於CTF中的逆向(Re)來說,是的。

如果你會C,上可學習C++/Java/C#,也能艹相關逆向題。下可以方便學習彙編,藉由彙編在C的表示來寫出對應的逆推來解逆向題。但如果你不會C,你連idaF5的資格都沒有。除非你牛逼到可以直接讀彙編代碼然後腦內跑

這種我只能說:還有這種操作.jpg

當然學會了C,自己也可以寫一個簡單的工具(如果你不會py/bash之類的話),比如給出片段內容和對應的md5,解出完整內容,那麼你可以直接include現有的openssl,循環列舉使用md5來爆破。

亦或者擼一個exp,C/C++的指針和asm本身就是有利於艹底層操作,你可以很方便的擼出shellcode然後利用。

其他的就等大佬來說了,有錯請提出,我會及時改錯的(run away


C語言不是計算機專業學的第一門專業課嗎?


人生苦短,我用Python。

Python不夠,谷歌來湊。


某位安全大牛曾說:「安全覆蓋面很廣,涉及編程語言很多,php、python、ruby等,而學了C,再學這些都不算問題」

算是打基礎吧,C學習是很有必要的。

CTF學習,安利一波網站

CTF - 實驗吧


就算你不會c++,至少也要會c語言吧!不會c語言就像不會英語一樣!


推薦閱讀:

國際國內良心的ctf比賽?
如何評價今年的0CTF?
打CTF比賽可以代表哪方面的水平?對未來的職業生涯有何幫助?
怎麼評價2017的lctf?

TAG:CTFCaptureTheFlag |