angr.storage.memory_mixins.hex_dumper_mixin

class angr.storage.memory_mixins.hex_dumper_mixin.HexDumperMixin

Bases: MemoryMixin

hex_dump(start, size, word_size=4, words_per_row=4, endianness='Iend_BE', symbolic_char='?', unprintable_char='.', solve=False, extra_constraints=None, inspect=False, disable_actions=True)

Returns a hex dump as a string. The solver, if enabled, is called once for every byte potentially making this function very slow. It is meant to be used mainly as a “visualization” for debugging.

Warning: May read and display more bytes than size due to rounding. Particularly, if size is less than, or not a multiple of word_size*words_per_line.

Parameters:
  • start – starting address from which to print

  • size – number of bytes to display

  • word_size – number of bytes to group together as one space-delimited unit

  • words_per_row – number of words to display per row of output

  • endianness – endianness to use when displaying each word (ASCII representation is unchanged)

  • symbolic_char – the character to display when a byte is symbolic and has multiple solutions

  • unprintable_char – the character to display when a byte is not printable

  • solve – whether or not to attempt to solve (warning: can be very slow)

  • extra_constraints – extra constraints to pass to the solver is solve is True

  • inspect – whether or not to trigger SimInspect breakpoints for the memory load

  • disable_actions – whether or not to disable SimActions for the memory load

Returns:

hex dump as a string