Ruby msfcli RBreadline和Readline问题

Ruby msfcli RBreadline和Readline问题,ruby,metasploit,Ruby,Metasploit,你好,我的朋友们,我对Metasploit有问题 OS:Fedora 20 Metasploit:从git克隆 问题是: 当我跑的时候 msfconsole 我有一个错误: “/usr/local/share/gems/gems/activesupport-3.2.19/lib/active\u support/dependencies.rb:240:堆栈级别太深(SystemStackError)” 但当我跑步时: msfconsole-L 一切都很顺利 所以问题是我必须跑 msfcli辅助

你好,我的朋友们,我对Metasploit有问题

OS:Fedora 20 Metasploit:从git克隆

问题是:

当我跑的时候

msfconsole

我有一个错误:

“/usr/local/share/gems/gems/activesupport-3.2.19/lib/active\u support/dependencies.rb:240:堆栈级别太深(SystemStackError)”

但当我跑步时:

msfconsole-L

一切都很顺利


所以问题是我必须跑

msfcli辅助设备/扫描仪/smb/smb_enunshares E

当我运行“msfconsole”时,我得到了相同的错误

我相信问题出在某些人身上


编辑:

我能解决这个问题,但这不是最好的办法

我不得不修改代码

我就是这么做的:

1) 编辑文件:/metasploit framework/lib/msf/ui/console/driver.rb 2) 转到第59行 3) 替换:

用于:

然后一切都会起作用。我所做的是在代码中强制使用“-L”选项

如果有其他解决方案,请发布


:-)

问题是与Metasploit捆绑的rbreadline和ruby 2.x不兼容;现在使用1.9.3或以-L开头msfconsole。

最后一句话是什么意思?你认为问题出在一些宝石上?或者,缺少一些宝石?是的,我相信。问题在于RBreadline库。
    rl = false
rl_err = nil
begin
  if(opts['RealReadline'])
    require 'readline'
    rl = true
  end
rescue ::LoadError
  rl_err = $!
end

# Default to the RbReadline wrapper
require 'readline_compatible' if(not rl)
rl = true
rl_err = nil
require 'readline'