metasploit-framework/lib/msf/ui/gtk2/opcode/platforms.rb

61 lines
1.5 KiB
Ruby

module Msf
module Ui
module Gtk2
#
# Gtk2 Interface for Metasploit Opcodes database
#
class MsfOpcode
# Create the opcode client instance
$client = Rex::Exploitation::OpcodeDb::Client.new
#
# Opcodes Platforms
#
class Platforms < Msf::Ui::Gtk2::SkeletonOpcode
def initialize
comment = "Supported operating system versions broken down by major version and service pack :"
# call the parent
super("Platforms", comment)
begin
t_run = Thread.new do
textview = Gtk::TextView.new
textbuffer = Gtk::TextBuffer.new
scrolled_window = Gtk::ScrolledWindow.new
scrolled_window.add(textview)
stuff.pack_start(scrolled_window, true, true, 5)
scrolled_window.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC)
ps = "\n"
$client.platforms.each do |p|
ps << " - " + p.desc + "\n"
end
textbuffer.set_text( ps )
textview.set_buffer(textbuffer)
textview.set_editable(false)
textview.set_cursor_visible(false)
show_all
end
run
destroy
t_run.kill
rescue ::Exception => e
MsfDialog::Error.new(self, e)
end
end
end
end
end
end
end