예제 #1
0
        def pane_cb(path, result):
            branch = FlagFramework.splitpath(path)

            node = get_node(branch)

            result.heading("Packet %s" % id)
            data = dissected_packet.serialise()

            h = FlagFramework.HexDump(data, result)
            try:
                result.text("%s" % node.get_name(), font='bold')
                result.text('', style='black', font='normal')
                start, length = node.get_range()

            except AttributeError:
                result.text("%s\n" % node,
                            style='red',
                            wrap='full',
                            font='typewriter',
                            sanitise='full')
                result.text('', style='black', font='normal')
                node = get_node(branch[:-1])
                start, length = node.get_range(branch[-1])

            h.dump(highlight=[
                [start, length, 'highlight'],
            ])

            return
예제 #2
0
 def hexdumper(offset, data, result):
     dump = FlagFramework.HexDump(data, result)
     # highlighting (default highlight)
     highlight = [
         [0, sys.maxint, 'alloc'],
     ]
     # if we know size, highlight slack/overread
     if self.size:
         highlight.append([self.size - offset, sys.maxint, 'slack'])
         try:
             slacksize = self.size % self.block_size
             if (slacksize):
                 slacksize = self.block_size - slacksize
             highlight.append([
                 self.size + slacksize - offset, sys.maxint, 'overread'
             ])
         except AttributeError:
             pass
     # now highlight any matches
     highlight.append([match - offset, length, 'match'])
     dump.dump(base_offset=offset, limit=max, highlight=highlight)
예제 #3
0
 def display(self, result):
     h=FlagFramework.HexDump(self.__str__(),result)
     h.dump()