Skip to content

Enhance

Given an address in memory which does not contain a pointer elsewhere into memory, attempt to describe the data as best as possible.

Currently prints out code, integers, or strings, in a best-effort manner dependent on page permissions, the contents of the data, and any supplemental information sources (e.g. active IDA Pro connection).

enhance(value, code=True, safe_linking=False, attempt_dereference=True, enhance_string_len=None)

Given the last pointer in a chain, attempt to characterize

Note that 'the last pointer in a chain' may not at all actually be a pointer.

Additionally, optimizations are made based on various sources of data for 'value'. For example, if it is set to RWX, we try to get information on whether it resides on the stack, or in a RW section that happens to be RWX, to determine which order to print the fields.

Parameters:

Name Type Description Default
value(obj)

Value to enhance

required
code(bool)

Hint that indicates the value may be an instruction

required
safe_linking(bool)

Whether this chain use safe-linking

required
enhance_string_len(int)

The length of string to display for enhancement of the last pointer

required

format_small_int(value)

format_small_int_pair(first, second)

int_str(value)