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
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)
def display(self, result): h=FlagFramework.HexDump(self.__str__(),result) h.dump()