ROSE 0.11.145.147
Public Attributes | List of all members
Rose::BinaryAnalysis::PointerDetection::Settings Class Reference

Description

Settings to control the pointer analysis.

Definition at line 123 of file PointerDetection.h.

#include <Rose/BinaryAnalysis/PointerDetection.h>

Public Attributes

bool ignoreConstIp = true
 Whether to ignore branches to concrete addresses.
 
bool ignoreStrangeSizes = true
 Whether to ignore strange-sized pointers.
 
bool saveDataPointers = true
 Save information about data pointers.
 
bool saveCodePointers = true
 Save information about code pointers.
 
bool savePointerVas = true
 Save the pointer variable addresses in the results.
 
bool savePointerAccesses = true
 Save information about where pointer variables are accessed.
 
bool savePointerAccessValues = true
 Save pointer accessed values if pointer accesses are saved.
 
bool savePointerDereferences = true
 Save information about where pointer values are dereferenced.
 
bool savePointerDereferenceValues = true
 Save pointer dereferenced values if dereferences are saved.
 
uint64_t symbolicTrimThreshold = std::numeric_limits<uint64_t>::max()
 Threshold for replacing large symbolic expressions with new variables.
 
size_t maximumDataFlowIterationFactor = 5
 Maximum data-flow iteration factor.
 

Member Data Documentation

◆ ignoreConstIp

bool Rose::BinaryAnalysis::PointerDetection::Settings::ignoreConstIp = true

Whether to ignore branches to concrete addresses.

If set, then conditional branches to concrete addresses are ignored, not treated as code pointers. For instance, the x86 "je 0x08048504" instruction would not be considered significant for modifying the instruction pointer since both target addresses are constants.

Definition at line 130 of file PointerDetection.h.

◆ ignoreStrangeSizes

bool Rose::BinaryAnalysis::PointerDetection::Settings::ignoreStrangeSizes = true

Whether to ignore strange-sized pointers.

If set, then ignore pointer addresses that are not the same width as the stack pointer (data) or instruction pointer (code).

Definition at line 136 of file PointerDetection.h.

◆ saveDataPointers

bool Rose::BinaryAnalysis::PointerDetection::Settings::saveDataPointers = true

Save information about data pointers.

Definition at line 139 of file PointerDetection.h.

◆ saveCodePointers

bool Rose::BinaryAnalysis::PointerDetection::Settings::saveCodePointers = true

Save information about code pointers.

Definition at line 142 of file PointerDetection.h.

◆ savePointerVas

bool Rose::BinaryAnalysis::PointerDetection::Settings::savePointerVas = true

Save the pointer variable addresses in the results.

Definition at line 145 of file PointerDetection.h.

◆ savePointerAccesses

bool Rose::BinaryAnalysis::PointerDetection::Settings::savePointerAccesses = true

Save information about where pointer variables are accessed.

Definition at line 148 of file PointerDetection.h.

◆ savePointerAccessValues

bool Rose::BinaryAnalysis::PointerDetection::Settings::savePointerAccessValues = true

Save pointer accessed values if pointer accesses are saved.

Definition at line 151 of file PointerDetection.h.

◆ savePointerDereferences

bool Rose::BinaryAnalysis::PointerDetection::Settings::savePointerDereferences = true

Save information about where pointer values are dereferenced.

Definition at line 154 of file PointerDetection.h.

◆ savePointerDereferenceValues

bool Rose::BinaryAnalysis::PointerDetection::Settings::savePointerDereferenceValues = true

Save pointer dereferenced values if dereferences are saved.

Definition at line 157 of file PointerDetection.h.

◆ symbolicTrimThreshold

uint64_t Rose::BinaryAnalysis::PointerDetection::Settings::symbolicTrimThreshold = std::numeric_limits<uint64_t>::max()

Threshold for replacing large symbolic expressions with new variables.

Definition at line 160 of file PointerDetection.h.

◆ maximumDataFlowIterationFactor

size_t Rose::BinaryAnalysis::PointerDetection::Settings::maximumDataFlowIterationFactor = 5

Maximum data-flow iteration factor.

The iteration factor is multiplied by the number of vertices in the function control flow graph to determine how many data flow iterations occur before giving up.

Definition at line 166 of file PointerDetection.h.


The documentation for this class was generated from the following file: