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")