2016年5月26日

MSF启动时的视觉效果

在玩metasploit,执行msfconsole在启动过程中,发现它的等待字符串很有爱。虽然是字符界面,不过也能做到一些视觉效果,于是去找了下源码。这部分的源码是(#号部分是我自己理解后的注释):
#!/usr/bin/env ruby
base_line = "[*] Starting the Metasploit Framework console..."
cycle = 0
loop do
%q{/-\|}.each_char do |c|
  status = "#{base_line}#{c}\r"
  cycle += 1
  off = cycle % base_line.length #格式化base_line,让off可以从0到48,再加上loop,这个0到48就可以一直循环
  case status[off, 1] #检测base_line这串字符串,如果是小写就变大写,如果是大写就变回小写
    when /[a-z]/
      status[off, 1] = status[off, 1].upcase
    when /[A-Z]/
      status[off, 1] = status[off, 1].downcase
  end
  $stderr.print status
  ::IO.select(nil, nil, nil, 0.10)
end
end
下面就是实现的效果!