Exemple #1
1
    def __init__(self, parent):
        WindowTab.__init__(self, parent)
        self.search_bar = ttk.Labelframe(self, text='Filter', borderwidth=5)
        self.search_bar.pack(side=Tk.TOP, fill=Tk.X, expand=False)
        self.search_label = Tk.Label(self.search_bar, text='Pattern')
        self.search_label.pack(side=Tk.LEFT)

        self.gap = ttk.Frame(self, height=15)
        self.gap.pack(side=Tk.TOP, fill=Tk.X, expand=False)

        self.search_entry = Tk.Entry(self.search_bar)
        self.search_entry.pack(side=Tk.LEFT, fill=Tk.X, expand=True)
        self.search_entry.bind('<Return>', self.search)

        self.panedwindow = ttk.Panedwindow(self, orient=Tk.VERTICAL)
        self.panedwindow.pack(side=Tk.BOTTOM, fill=Tk.BOTH, expand=True)

        self.mach_o_table = TreeTable(self, 'Mach-O / Sections', columns=self.MACH_O_TABLE_COLUMNS)
        self.mach_o_table.tree.configure(selectmode='browse')
        self.mach_o_table.tree.column(self.MACH_O_TABLE_COLUMNS[1], anchor=Tk.E)
        self.mach_o_table.tree.column(self.MACH_O_TABLE_COLUMNS[2], anchor=Tk.E)
        self.mach_o_table.tree.column(self.MACH_O_TABLE_COLUMNS[3], anchor=Tk.E)
        self.mach_o_table.select_callback = self._mach_o_selected
        self.panedwindow.add(self.mach_o_table)

        self.string_table = StringTableView(self)
        self.string_table.widget.tag_configure(self.LIGHT_BLUE_TAG_NAME, background=self.LIGHT_BLUE)
        self.panedwindow.add(self.string_table)

        self._mach_o_info = list()
        self._filter_mapping = None
        self._current_segemnt = None  # only used by _parse()
Exemple #2
0
    def __init__(self, parent):
        WindowTab.__init__(self, parent)

        # Create the 3 views
        self.outer_panedwindow = ttk.Panedwindow(self, orient=Tk.VERTICAL)
        self.outer_panedwindow.pack(side=Tk.TOP, fill=Tk.BOTH, expand=True)
        self.inner_panedwindow = ttk.Panedwindow(self.outer_panedwindow, orient=Tk.HORIZONTAL)
        self.outer_panedwindow.add(self.inner_panedwindow)

        # A byte range tree on the left
        self.byte_range_tree = ByteRangeView(self.inner_panedwindow)
        self.byte_range_tree.select_callback = self.header_selected
        self.byte_range_tree.open_callback = self.block_opened
        self.byte_range_tree.configure(width=200, height=100, padding=5)
        self.inner_panedwindow.add(self.byte_range_tree)

        # A table of header key-value pairs on the right
        self.header_table = FieldValueView(self.inner_panedwindow)
        self.header_table.select_callback = self.field_selected
        self.header_table.configure(width=100, height=100, padding=5)
        self.inner_panedwindow.add(self.header_table)

        # A byte table at the bottom
        self.bytes_table = BytesView(self.outer_panedwindow)
        self.bytes_table.configure(width=300, height=100, padding=5)
        self.outer_panedwindow.add(self.bytes_table)
Exemple #3
0
    def __init__(self, parent):
        WindowTab.__init__(self, parent)

        # Create the 3 views
        self.outer_panedwindow = ttk.Panedwindow(self, orient=Tk.VERTICAL)
        self.outer_panedwindow.pack(side=Tk.TOP, fill=Tk.BOTH, expand=True)
        self.inner_panedwindow = ttk.Panedwindow(self.outer_panedwindow,
                                                 orient=Tk.HORIZONTAL)
        self.outer_panedwindow.add(self.inner_panedwindow)

        # A byte range tree on the left
        self.byte_range_tree = ByteRangeView(self.inner_panedwindow)
        self.byte_range_tree.select_callback = self.header_selected
        self.byte_range_tree.open_callback = self.block_opened
        self.byte_range_tree.configure(width=200, height=100, padding=5)
        self.inner_panedwindow.add(self.byte_range_tree)

        # A table of header key-value pairs on the right
        self.header_table = FieldValueView(self.inner_panedwindow)
        self.header_table.select_callback = self.field_selected
        self.header_table.configure(width=100, height=100, padding=5)
        self.inner_panedwindow.add(self.header_table)

        # A byte table at the bottom
        self.bytes_table = BytesView(self.outer_panedwindow)
        self.bytes_table.configure(width=300, height=100, padding=5)
        self.outer_panedwindow.add(self.bytes_table)
Exemple #4
0
    def __init__(self, parent):
        WindowTab.__init__(self, parent)
        self.search_bar = ttk.Labelframe(self, text='Filter', borderwidth=5)
        self.search_bar.pack(side=Tk.TOP, fill=Tk.X, expand=False)
        self.search_label = Tk.Label(self.search_bar, text='Pattern')
        self.search_label.pack(side=Tk.LEFT)

        self.gap = ttk.Frame(self, height=15)
        self.gap.pack(side=Tk.TOP, fill=Tk.X, expand=False)

        self.search_entry = Tk.Entry(self.search_bar)
        self.search_entry.pack(side=Tk.LEFT, fill=Tk.X, expand=True)
        self.search_entry.bind('<Return>', self.search)

        self.panedwindow = ttk.Panedwindow(self, orient=Tk.VERTICAL)
        self.panedwindow.pack(side=Tk.BOTTOM, fill=Tk.BOTH, expand=True)

        self.mach_o_table = TreeTable(self,
                                      'Mach-O',
                                      columns=self.MACH_O_TABLE_COLUMNS)
        self.mach_o_table.tree.configure(selectmode='browse')
        self.mach_o_table.tree.column(self.MACH_O_TABLE_COLUMNS[1],
                                      width=75,
                                      stretch=False,
                                      anchor=Tk.E)
        self.mach_o_table.tree.column(self.MACH_O_TABLE_COLUMNS[2],
                                      width=75,
                                      stretch=False,
                                      anchor=Tk.E)
        self.mach_o_table.tree.tag_configure(self.LIGHT_BLUE_TAG_NAME,
                                             background=self.LIGHT_BLUE)
        self.mach_o_table.select_callback = self._mach_o_selected
        self.panedwindow.add(self.mach_o_table)

        self.symbol_table = SymbolTableView(self)
        self.panedwindow.add(self.symbol_table)

        self._mach_o_info = list()
        self._filter_mapping = None  # map table index to mach-o info index when an entry in mach-o table is clicked
Exemple #5
0
    def __init__(self, parent):
        WindowTab.__init__(self, parent)
        self.search_bar = ttk.Labelframe(self, text='Filter', borderwidth=5)
        self.search_bar.pack(side=Tk.TOP, fill=Tk.X, expand=False)
        self.search_label = Tk.Label(self.search_bar, text='Pattern')
        self.search_label.pack(side=Tk.LEFT)

        self.gap = ttk.Frame(self, height=15)
        self.gap.pack(side=Tk.TOP, fill=Tk.X, expand=False)

        self.search_entry = Tk.Entry(self.search_bar)
        self.search_entry.pack(side=Tk.LEFT, fill=Tk.X, expand=True)
        self.search_entry.bind('<Return>', self.search)

        self.panedwindow = ttk.Panedwindow(self, orient=Tk.VERTICAL)
        self.panedwindow.pack(side=Tk.BOTTOM, fill=Tk.BOTH, expand=True)

        self.mach_o_table = TreeTable(self,
                                      'Mach-O / Sections',
                                      columns=self.MACH_O_TABLE_COLUMNS)
        self.mach_o_table.tree.configure(selectmode='browse')
        self.mach_o_table.tree.column(self.MACH_O_TABLE_COLUMNS[1],
                                      anchor=Tk.E)
        self.mach_o_table.tree.column(self.MACH_O_TABLE_COLUMNS[2],
                                      anchor=Tk.E)
        self.mach_o_table.tree.column(self.MACH_O_TABLE_COLUMNS[3],
                                      anchor=Tk.E)
        self.mach_o_table.select_callback = self._mach_o_selected
        self.panedwindow.add(self.mach_o_table)

        self.string_table = StringTableView(self)
        self.string_table.widget.tag_configure(self.LIGHT_BLUE_TAG_NAME,
                                               background=self.LIGHT_BLUE)
        self.panedwindow.add(self.string_table)

        self._mach_o_info = list()
        self._filter_mapping = None
        self._current_segemnt = None  # only used by _parse()