Context
Context is a global object used to store information about the target binary and the environment it's being run. There are a number of attributes that can be set.
Primary Attributes
context.arch
context.archWe can use this to set the architecture of the target binary. This is useful for packing and unpacking data, as well as for shellcode generation.
context.arch = 'i386'context.os
context.osWe can use this to set the operating system of the target binary. This is useful for shellcode generation.
context.os = 'linux'context.endian
context.endianWe can use this to set the endianness of the target binary. This is useful for packing and unpacking data.
context.endian = 'little'context.word_size
context.word_sizeWe can use this to set the word size of the target binary. This is useful for shellcode generation (and packing data with flat).
context.word_size = 32Grouping this together
We can simply set context.binary to the binary we're using, and pwntools will automatically set the architecture, operating system, endianness, and word size.
This takes an ELF object. More information on the ELF class here.
context.binary = ELF('./win32')Other Attributes
context.log_level
context.log_levelWe can set the verbosity of the output logger.
context.log_level = 'debug'context.terminal
context.terminalFor those that use the tmux, we can use context.terminal to set how the window is split.
context.terminal = ['tmux', 'splitw', '-h']Last updated
Was this helpful?