Metasploit为什么选择Ruby语言(部分)

参考:
https://github.com/rapid7/metasploit-framework/blob/master/documentation/developers_guide.pdf

在本框架的开发过程中,Metasploit的开发人员总是会被问到这样一个问题,那就是为什么选择了Ruby作为开发语言。
为了避免从太多个人化的角度回答这样问题,作者们在这篇文章里解释了他们的原因。

相较与其他的选择,比如Python, Perl, C++,选择了Ruby这门语言是有几个原因的。
第一个,也是最重要的原因呢,其实就是Ruby是Metasploit的开发人员最喜欢用的语言。在花时间分析了其他语言以及过往经验的各个方面之后,发现Ruby在解释型的语言中,算是一个既简单又强大的。//TODO

选择Ruby的另一个原因是对Windows平台Ruby解释器的扩展支持。而且Ruby解析器可以在Windows平台上编译执行,这大大提高了性能。再者解释器也非常小,即便有bug发生的时候想修改也很容易。

Python

Python语言其实也是可供选择的一门语言。Metasploit的开发人员最终选择了Ruby而不是Python是有几个原因的。其中最主要的原因是他们不喜欢Python麻烦的语法,比如块缩进(block-indention)。虽然很多人会说这种方式的好处怎样怎样,然而Metasploit的开发人员这种语法限制很没有必要。另外一个围绕着Python的问题是父类方法的调用限制,以及解释器的后向兼容性。

C/C++

C/C++语言其实也慎重地考虑了的,但是最终很显然,想要将一个可移植的框架部署到一个非解释型的语言中,不是很可取。而且,对于C/C++语言的研发的时间线很可能会更长一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值