Ruby msfcli RBreadline和Readline问题
你好,我的朋友们,我对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 一切都很顺利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辅助
所以问题是我必须跑 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'