diff --git a/data/msfgui/autopwn.xcf b/data/msfgui/autopwn.xcf deleted file mode 100644 index 2f90ae84b0..0000000000 Binary files a/data/msfgui/autopwn.xcf and /dev/null differ diff --git a/data/msfgui/msfgui.glade b/data/msfgui/msfgui.glade index 1c63d483fd..ed557a0bde 100644 --- a/data/msfgui/msfgui.glade +++ b/data/msfgui/msfgui.glade @@ -182,7 +182,7 @@ - + True gtk-network 1 @@ -225,7 +225,7 @@ - + True gtk-zoom-fit 1 diff --git a/data/msfgui/style/main.rc b/data/msfgui/style/main.rc new file mode 100644 index 0000000000..f6b4bccd78 --- /dev/null +++ b/data/msfgui/style/main.rc @@ -0,0 +1,15 @@ +# Define background for msfconsole + +style "textview" +{ + base[NORMAL] = { 0.0, 0.0, 0.0 } # black + fg[NORMAL] = { 1.0, 1.0, 1.0 } # white + text[NORMAL] = { 1.0, 1.0, 1.0 } # white + + fontset="-*-lucida-medium-r-*-*-14-*-*-*-*-*-*-*" +} + +# Attach style with the specific widget name +widget_class "GtkWindow.GtkVBox.GtkHBox.GtkNotebook.GtkScrolledWindow.GtkTextView" style "textview" + + diff --git a/lib/msf/ui/gtk2/app.rb b/lib/msf/ui/gtk2/app.rb index 1f4d4a57a5..d43d2fa848 100644 --- a/lib/msf/ui/gtk2/app.rb +++ b/lib/msf/ui/gtk2/app.rb @@ -83,6 +83,9 @@ module Msf include Msf::Ui::Gtk2::MyControls def initialize + # console_style = File.join(driver.resource_directory, 'style', 'main.rc') + # Gtk::RC.parse(console_style) + super('window') # Set a default icon for all widgets @@ -165,9 +168,7 @@ module Msf # Actions for OpCodes/Stats # def on_stats_activate - t_run = Thread.new do - MsfOpcode::Stats.new() - end + MsfOpcode::Stats.new() end # @@ -239,14 +240,14 @@ module Msf def on_options_activate MsfParameters::Options.new() end - + # # Action for "Window/Logs" menu # def on_logs_activate - MsfWindow::Logs.new + MsfWindow::Logs.new end - + # # The About Dialog # diff --git a/lib/msf/ui/gtk2/opcode/groups.rb b/lib/msf/ui/gtk2/opcode/groups.rb index d994eecc2d..ada378cb78 100644 --- a/lib/msf/ui/gtk2/opcode/groups.rb +++ b/lib/msf/ui/gtk2/opcode/groups.rb @@ -19,25 +19,31 @@ module Msf # call the parent super("Groups", comment) + + begin + textview = Gtk::TextView.new + textbuffer = Gtk::TextBuffer.new + stuff.pack_start(textview, true, true, 0) - textview = Gtk::TextView.new - textbuffer = Gtk::TextBuffer.new - stuff.pack_start(textview, true, true, 0) + gs = "\n" + $client.groups.each do |g| + gs << " - " + g.name + "\n" + end - gs = "\n" - $client.groups.each do |g| - gs << " - " + g.name + "\n" + textbuffer.set_text(gs) + + textview.set_buffer(textbuffer) + textview.set_editable(false) + textview.set_cursor_visible(false) + + show_all and run + destroy + rescue ::Exception => e + MsfDialog::Error.new(self, e) end - - textbuffer.set_text( gs ) - - textview.set_buffer(textbuffer) - textview.set_editable(false) - textview.set_cursor_visible(false) - - show_all and run - destroy + end + end end diff --git a/lib/msf/ui/gtk2/opcode/locales.rb b/lib/msf/ui/gtk2/opcode/locales.rb index 70991128d9..68da8a1489 100644 --- a/lib/msf/ui/gtk2/opcode/locales.rb +++ b/lib/msf/ui/gtk2/opcode/locales.rb @@ -21,27 +21,33 @@ module Msf super("Locales", comment) self.set_default_size(500, 230) + + begin + textview = Gtk::TextView.new + textbuffer = Gtk::TextBuffer.new + stuff.pack_start(textview, true, true, 0) - textview = Gtk::TextView.new - textbuffer = Gtk::TextBuffer.new - stuff.pack_start(textview, true, true, 0) + locales = "\n" + $client.locales.each do |locale| + locales << " -" + locale.name + "\n" + end - locales = "\n" - $client.locales.each do |locale| - locales << " -" + locale.name + "\n" + textbuffer.set_text( locales ) + + textview.set_buffer(textbuffer) + textview.set_editable(false) + textview.set_cursor_visible(false) + + show_all and run + destroy + rescue ::Exception => e + MsfDialog::Error.new(self, e) end - - textbuffer.set_text( locales ) - - textview.set_buffer(textbuffer) - textview.set_editable(false) - textview.set_cursor_visible(false) - - show_all and run - destroy + end + end - + end end diff --git a/lib/msf/ui/gtk2/opcode/metatypes.rb b/lib/msf/ui/gtk2/opcode/metatypes.rb index afcdc6b4f2..f65daeb76e 100644 --- a/lib/msf/ui/gtk2/opcode/metatypes.rb +++ b/lib/msf/ui/gtk2/opcode/metatypes.rb @@ -19,25 +19,31 @@ module Msf # call the parent super("Metatypes", comment) + + begin + textview = Gtk::TextView.new + textbuffer = Gtk::TextBuffer.new + stuff.pack_start(textview, true, true, 0) - textview = Gtk::TextView.new - textbuffer = Gtk::TextBuffer.new - stuff.pack_start(textview, true, true, 0) + mts = "\n" + $client.meta_types.each do |mt| + mts << " - " + mt.name + "\n" + end - mts = "\n" - $client.meta_types.each do |mt| - mts << " - " + mt.name + "\n" + textbuffer.set_text( mts ) + + textview.set_buffer(textbuffer) + textview.set_editable(false) + textview.set_cursor_visible(false) + + show_all and run + destroy + rescue ::Exception => e + MsfDialog::Error.new(self, e) end - textbuffer.set_text( mts ) - - textview.set_buffer(textbuffer) - textview.set_editable(false) - textview.set_cursor_visible(false) - - show_all and run - destroy end + end end diff --git a/lib/msf/ui/gtk2/opcode/modules.rb b/lib/msf/ui/gtk2/opcode/modules.rb index 6ddf4d16ea..905fef1bb9 100644 --- a/lib/msf/ui/gtk2/opcode/modules.rb +++ b/lib/msf/ui/gtk2/opcode/modules.rb @@ -66,7 +66,11 @@ module Msf signal_connect('response') do |dialog, response_id| if response_id == Gtk::Dialog::RESPONSE_OK - collect() + begin + collect() + rescue ::Exception => e + MsfDialog::Error.new(self, e) + end end end diff --git a/lib/msf/ui/gtk2/opcode/platforms.rb b/lib/msf/ui/gtk2/opcode/platforms.rb index dcdeaf4958..f33ddfac81 100644 --- a/lib/msf/ui/gtk2/opcode/platforms.rb +++ b/lib/msf/ui/gtk2/opcode/platforms.rb @@ -20,28 +20,34 @@ module Msf # call the parent super("Platforms", comment) - textview = Gtk::TextView.new - textbuffer = Gtk::TextBuffer.new + begin + 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) + 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" + 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 and run + destroy + rescue ::Exception => e + MsfDialog::Error.new(self, e) end - textbuffer.set_text( ps ) - - textview.set_buffer(textbuffer) - textview.set_editable(false) - textview.set_cursor_visible(false) - - show_all and run - destroy end + end end diff --git a/lib/msf/ui/gtk2/opcode/stats.rb b/lib/msf/ui/gtk2/opcode/stats.rb index c295617157..583b324530 100644 --- a/lib/msf/ui/gtk2/opcode/stats.rb +++ b/lib/msf/ui/gtk2/opcode/stats.rb @@ -22,31 +22,37 @@ module Msf self.set_default_size(500, 230) - stats = $client.statistics + begin + stats = $client.statistics - textview = Gtk::TextView.new - textbuffer = Gtk::TextBuffer.new - stuff.pack_start(textview, true, true, 0) + textview = Gtk::TextView.new + textbuffer = Gtk::TextBuffer.new + stuff.pack_start(textview, true, true, 0) - textbuffer.set_text( - "\n" + - "Last Updated : #{stats.last_update.to_s}\n" + - "Number of Opcodes : #{stats.opcodes}\n" + - "Number of Opcode Types : #{stats.opcode_types}\n" + - "Number of Platforms : #{stats.platforms}\n" + - "Number of Architectures : #{stats.architectures}\n" + - "Number of Modules : #{stats.modules}\n" + - "Number of Module Segments: #{stats.module_segments}\n" + - "Number of Module Imports : #{stats.module_imports}\n" + - "Number of Module Exports : #{stats.module_exports}\n\n") + textbuffer.set_text( + "\n" + + "Last Updated : #{stats.last_update.to_s}\n" + + "Number of Opcodes : #{stats.opcodes}\n" + + "Number of Opcode Types : #{stats.opcode_types}\n" + + "Number of Platforms : #{stats.platforms}\n" + + "Number of Architectures : #{stats.architectures}\n" + + "Number of Modules : #{stats.modules}\n" + + "Number of Module Segments: #{stats.module_segments}\n" + + "Number of Module Imports : #{stats.module_imports}\n" + + "Number of Module Exports : #{stats.module_exports}\n\n") - textview.set_buffer(textbuffer) - textview.set_editable(false) - textview.set_cursor_visible(false) + textview.set_buffer(textbuffer) + textview.set_editable(false) + textview.set_cursor_visible(false) - show_all and run - destroy + show_all and run + destroy + rescue ::Exception => e + MsfDialog::Error.new(self, e) + end + end + end end diff --git a/lib/msf/ui/gtk2/opcode/types.rb b/lib/msf/ui/gtk2/opcode/types.rb index a494817618..b62a094d40 100644 --- a/lib/msf/ui/gtk2/opcode/types.rb +++ b/lib/msf/ui/gtk2/opcode/types.rb @@ -20,28 +20,34 @@ module Msf # call the parent super("Types", comment) - textview = Gtk::TextView.new - textbuffer = Gtk::TextBuffer.new + begin + 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) + 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) - tps = "\n" - $client.types.each do |g| - tps << " - " + g.name + "\n" + tps = "\n" + $client.types.each do |g| + tps << " - " + g.name + "\n" + end + + textbuffer.set_text( tps ) + + textview.set_buffer(textbuffer) + textview.set_editable(false) + textview.set_cursor_visible(false) + + show_all and run + destroy + rescue ::Exception => e + MsfDialog::Error.new(self, e) end - - textbuffer.set_text( tps ) - - textview.set_buffer(textbuffer) - textview.set_editable(false) - textview.set_cursor_visible(false) - - show_all and run - destroy + end + end end diff --git a/lib/msf/ui/gtk2/window/logs.rb b/lib/msf/ui/gtk2/window/logs.rb index 241db2aedc..8e5228628c 100644 --- a/lib/msf/ui/gtk2/window/logs.rb +++ b/lib/msf/ui/gtk2/window/logs.rb @@ -12,6 +12,9 @@ module Msf include Msf::Ui::Gtk2::MyControls def initialize + console_style = File.join(driver.resource_directory, 'style', 'console.rc') + Gtk::RC.parse(console_style) + # call the parent super("MsfLogs")