61 lines
1.5 KiB
Ruby
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 |