SYMBOL INDEX (122 symbols across 7 files) FILE: exploit.py class Exploit (line 51) | class Exploit: method __init__ (line 56) | def __init__(self): method allocate_helpers (line 61) | def allocate_helpers(self, buffer): method add_gadget (line 64) | def add_gadget(self, architecture, name, info, gadget): method get_gadget (line 70) | def get_gadget(self, name): method config_from_elf (line 75) | def config_from_elf(self, path): method get_non_writeable_segment (line 213) | def get_non_writeable_segment(self, address): method read_non_writeable (line 221) | def read_non_writeable(self, address, size): method section_from_address (line 229) | def section_from_address(self, address): method closest_section_from_address (line 238) | def closest_section_from_address(self, address): method dump (line 245) | def dump(self): method ptr2str (line 253) | def ptr2str(self, integer): method str2ptr (line 261) | def str2ptr(self, string): method write_all (line 270) | def write_all(self, start, string): method flush (line 282) | def flush(self, buffer): method write_string (line 304) | def write_string(self, memory_area, string, buffered=True): method write_pointer (line 321) | def write_pointer(self, memory_area, pointer, buffered=True): method create_relocation (line 325) | def create_relocation(self, buffer, symbol_index, align_to=None): class CraftDlStructsExploit (line 348) | class CraftDlStructsExploit(Exploit): method jump_to (line 350) | def jump_to(self, buffer, function_name_max_length): class CorruptLdSoExploit (line 420) | class CorruptLdSoExploit(Exploit): method jump_to (line 422) | def jump_to(self, buffer, function_name_max_length): function launch (line 539) | def launch(exploit, program): function invoke (line 574) | def invoke(exploit, exploit_info, parameters): function main (line 622) | def main(): FILE: memory.py class AllocateFailException (line 5) | class AllocateFailException(Exception): class Buffer (line 8) | class Buffer: method __init__ (line 11) | def __init__(self, exploit, ranges): method allocate (line 19) | def allocate(self, size, align_to=None, alignment=None, name=None, con... method cleanup_ranges (line 52) | def cleanup_ranges(self): method dump (line 55) | def dump(self): class MemoryArea (line 61) | class MemoryArea: method __init__ (line 62) | def __init__(self, exploit, start, size, align_to=None, alignment=None): method dump (line 86) | def dump(self): FILE: plugins/CommonGadgetsExploit.py class CommonGadgetsExploit (line 4) | class CommonGadgetsExploit(Exploit): method __init__ (line 7) | def __init__(self): method allocate_helpers (line 168) | def allocate_helpers(self, buffer): method deref_with_offset_and_save (line 178) | def deref_with_offset_and_save(self, pointer_address, offset, save_add... method write_with_offset (line 185) | def write_with_offset(self, pointer_address, offset, value): method copy_to_stack (line 191) | def copy_to_stack(self, offset, source): method call (line 207) | def call(self, invocation, parameters): method call32 (line 220) | def call32(self, invocation, parameters): method call64 (line 232) | def call64(self, invocation, parameters): method call_arm (line 264) | def call_arm(self, invocation, parameters): method do_writemem (line 288) | def do_writemem(self, address, value): method memcpy (line 304) | def memcpy(self, destination, data): function register_gadget_provider (line 346) | def register_gadget_provider(): FILE: plugins/RawDumperExploit.py class RawDumperExploit (line 3) | class RawDumperExploit(Exploit): method __init__ (line 4) | def __init__(self): method do_writemem (line 8) | def do_writemem(self, address, value): method write_with_offset (line 12) | def write_with_offset(self, pointer_address, offset, value): method deref_with_offset_and_save (line 15) | def deref_with_offset_and_save(self, pointer_address, offset, save_add... function register_gadget_provider (line 18) | def register_gadget_provider(): FILE: rangeset.py class _Indeterminate (line 41) | class _Indeterminate(object): method timetuple (line 42) | def timetuple(self): method __eq__ (line 44) | def __eq__(self, other): class _Infinity (line 47) | class _Infinity(_Indeterminate): method __lt__ (line 48) | def __lt__(self, other): method __gt__ (line 50) | def __gt__(self, other): method __str__ (line 52) | def __str__(self): class _NegativeInfinity (line 56) | class _NegativeInfinity(_Indeterminate): method __lt__ (line 57) | def __lt__(self, other): method __gt__ (line 59) | def __gt__(self, other): method __str__ (line 61) | def __str__(self): class RangeSet (line 68) | class RangeSet(_parent): method __new__ (line 69) | def __new__(cls, start, end): method __merged_ends (line 81) | def __merged_ends(self, *others): method __coerce (line 89) | def __coerce(cls, value): method __iterate_state (line 98) | def __iterate_state(cls, ends): method __or__ (line 107) | def __or__(self, *other): method __and__ (line 120) | def __and__(self, *other, **kwargs): method __ror__ (line 135) | def __ror__(self, other): method __rand__ (line 138) | def __rand__(self, other): method __rxor__ (line 141) | def __rxor__(self, other): method __xor__ (line 144) | def __xor__(self, *other): method __contains__ (line 161) | def __contains__(self, test): method issuperset (line 177) | def issuperset(self, test): method __gt__ (line 187) | def __gt__(self, other): method issubset (line 190) | def issubset(self, other): method __lt__ (line 195) | def __lt__(self, other): method isdisjoint (line 198) | def isdisjoint(self, other): method __nonzero__ (line 201) | def __nonzero__(self): method __invert__ (line 204) | def __invert__(self): method __sub__ (line 226) | def __sub__(self, other): method difference (line 229) | def difference(self, other): method __rsub__ (line 232) | def __rsub__(self, other): method measure (line 235) | def measure(self): method range (line 242) | def range(self): method __str__ (line 249) | def __str__(self): method __eq__ (line 256) | def __eq__(self, other): method __ne__ (line 266) | def __ne__(self, other): method __hash__ (line 269) | def __hash__(self): method mutual_overlaps (line 273) | def mutual_overlaps(cls, *ranges, **kwargs): method mutual_union (line 280) | def mutual_union(cls, *ranges): method min (line 284) | def min(self): method max (line 288) | def max(self): method __iter__ (line 291) | def __iter__(self): class LogicError (line 304) | class LogicError(ValueError): FILE: utils.py function align (line 6) | def align(address, base, of): function hex_bytes (line 10) | def hex_bytes(string): function findall (line 13) | def findall(sub, string, addend): function find_all_strings (line 22) | def find_all_strings(sections, string): function find_string (line 26) | def find_string(sections, string): function first_or_none (line 30) | def first_or_none(list): function log (line 33) | def log(string): function chunks (line 37) | def chunks(l, n): function integer_to_bigendian (line 41) | def integer_to_bigendian(n): function bigendian_to_integer (line 47) | def bigendian_to_integer(string): function pairwise (line 50) | def pairwise(iterable): function filter_none (line 56) | def filter_none(list): function insert_and_replace (line 59) | def insert_and_replace(original, insert, offset): FILE: vuln.c function play_with_stack (line 16) | int play_with_stack(int i) { function add (line 24) | void add(int *a, int b) { function mem_to_mem (line 28) | void mem_to_mem(int *dst, int *src) { function writemem (line 32) | void writemem(void **in, void *val) { function do_read (line 36) | int do_read() { function deref_and_write_with_offset (line 41) | void deref_and_write_with_offset() { function deref_with_offset_and_save (line 49) | void deref_with_offset_and_save() { function copy_to_stack (line 57) | void copy_to_stack() { function load_memcpy (line 65) | void load_memcpy() { function args (line 75) | void args() { function main (line 81) | int main() {