graphical meterpreter ( beta version of file browser)
git-svn-id: file:///home/svn/framework3/trunk@4936 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
2d88b75871
commit
5f59d4370c
Binary file not shown.
After Width: | Height: | Size: 4.9 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
|
@ -2,13 +2,13 @@ module Msf
|
|||
module Ui
|
||||
module Gtk2
|
||||
|
||||
#
|
||||
# Implement a basic window
|
||||
#
|
||||
class SkeletonBasic < Gtk::Window
|
||||
|
||||
def initialize(title = nil)
|
||||
super(Gtk::Window::TOPLEVEL)
|
||||
if title
|
||||
set_title("#{title}")
|
||||
end
|
||||
set_title("#{title}")
|
||||
|
||||
signal_connect("key_press_event") do |widget, event|
|
||||
if event.state.control_mask? and event.keyval == Gdk::Keyval::GDK_q
|
||||
|
@ -20,14 +20,10 @@ module Msf
|
|||
end
|
||||
|
||||
signal_connect("delete_event") do |widget, event|
|
||||
quit
|
||||
destroy
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
def quit
|
||||
destroy
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -16,12 +16,12 @@ module Msf
|
|||
|
||||
def initialize(client)
|
||||
@client = client
|
||||
super("MsfBrowser on #{@client.via_session}")
|
||||
super("MsfBrowser on #{@client.tunnel_peer}")
|
||||
@model = Gtk::ListStore.new(String, String, TrueClass, Gdk::Pixbuf)
|
||||
@parent = "/"
|
||||
|
||||
@file_pixbuf = Gdk::Pixbuf.new(driver.get_image("gnome-file-c.png"))
|
||||
@folder_pixbuf = Gdk::Pixbuf.new(driver.get_image("gnome-folder.png"))
|
||||
@file_pixbuf = Gdk::Pixbuf.new(driver.get_image("msf_file.png"))
|
||||
@folder_pixbuf = Gdk::Pixbuf.new(driver.get_image("msf_folder.png"))
|
||||
|
||||
@model.set_default_sort_func do |a, b|
|
||||
if !a[COL_IS_DIR] and b[COL_IS_DIR]
|
||||
|
@ -34,13 +34,17 @@ module Msf
|
|||
end
|
||||
@model.set_sort_column_id(Gtk::TreeSortable::DEFAULT_SORT_COLUMN_ID, Gtk::SORT_ASCENDING)
|
||||
|
||||
# Populate the ListStore
|
||||
cmd_ls
|
||||
|
||||
# Define the size and border
|
||||
set_default_size(650, 400)
|
||||
set_border_width(8)
|
||||
set_border_width(10)
|
||||
|
||||
vbox = Gtk::VBox.new(false, 0)
|
||||
add(vbox)
|
||||
|
||||
# Add the view in the scrolled window
|
||||
sw = Gtk::ScrolledWindow.new
|
||||
sw.shadow_type = Gtk::SHADOW_ETCHED_IN
|
||||
sw.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC)
|
||||
|
@ -55,9 +59,9 @@ module Msf
|
|||
if iter[COL_DISPLAY_NAME]
|
||||
@parent = iter[COL_PATH]
|
||||
cmd_ls
|
||||
# up_button.sensitive = true
|
||||
end
|
||||
end
|
||||
|
||||
sw.add(iconview)
|
||||
iconview.grab_focus
|
||||
|
||||
|
@ -67,7 +71,6 @@ module Msf
|
|||
def cmd_ls(*args)
|
||||
@model.clear
|
||||
path = args[0] || @client.fs.dir.getwd
|
||||
items = 0
|
||||
|
||||
# Enumerate each item...
|
||||
@client.fs.dir.entries_with_info(path).sort { |a,b| a['FileName'] <=> b['FileName'] }.each do |p|
|
||||
|
@ -81,7 +84,6 @@ module Msf
|
|||
iter[COL_PATH] = path
|
||||
iter[COL_IS_DIR] = is_dir
|
||||
iter[COL_PIXBUF] = is_dir ? @folder_pixbuf : @file_pixbuf
|
||||
items += 1
|
||||
end
|
||||
|
||||
end # cmd_ls
|
||||
|
|
Loading…
Reference in New Issue