Metasploit为什么选择Ruby语言(部分)
參考:
https://github.com/rapid7/metasploit-framework/blob/master/documentation/developers_guide.pdf
在本框架的開發(fā)過程中,Metasploit的開發(fā)人員總是會(huì)被問到這樣一個(gè)問題,那就是為什么選擇了Ruby作為開發(fā)語言。
為了避免從太多個(gè)人化的角度回答這樣問題,作者們?cè)谶@篇文章里解釋了他們的原因。
相較與其他的選擇,比如Python, Perl, C++,選擇了Ruby這門語言是有幾個(gè)原因的。
第一個(gè),也是最重要的原因呢,其實(shí)就是Ruby是Metasploit的開發(fā)人員最喜歡用的語言。在花時(shí)間分析了其他語言以及過往經(jīng)驗(yàn)的各個(gè)方面之后,發(fā)現(xiàn)Ruby在解釋型的語言中,算是一個(gè)既簡(jiǎn)單又強(qiáng)大的。//TODO
選擇Ruby的另一個(gè)原因是對(duì)Windows平臺(tái)Ruby解釋器的擴(kuò)展支持。而且Ruby解析器可以在Windows平臺(tái)上編譯執(zhí)行,這大大提高了性能。再者解釋器也非常小,即便有bug發(fā)生的時(shí)候想修改也很容易。
Python
Python語言其實(shí)也是可供選擇的一門語言。Metasploit的開發(fā)人員最終選擇了Ruby而不是Python是有幾個(gè)原因的。其中最主要的原因是他們不喜歡Python麻煩的語法,比如塊縮進(jìn)(block-indention)。雖然很多人會(huì)說這種方式的好處怎樣怎樣,然而Metasploit的開發(fā)人員這種語法限制很沒有必要。另外一個(gè)圍繞著Python的問題是父類方法的調(diào)用限制,以及解釋器的后向兼容性。
C/C++
C/C++語言其實(shí)也慎重地考慮了的,但是最終很顯然,想要將一個(gè)可移植的框架部署到一個(gè)非解釋型的語言中,不是很可取。而且,對(duì)于C/C++語言的研發(fā)的時(shí)間線很可能會(huì)更長(zhǎng)一些。
總結(jié)
以上是生活随笔為你收集整理的Metasploit为什么选择Ruby语言(部分)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从入门到实战,一文带你彻底读懂Vue3.
- 下一篇: Ruby 之Gem kaminari