BinaryNinja::BaseAddressDetection Class Reference

Public Member Functions

 BaseAddressDetection (Ref< BinaryView > view)
 
 ~BaseAddressDetection ()
 
bool DetectBaseAddress (BaseAddressDetectionSettings &settings)
 Analyze program, identify pointers and points-of-interest, and detect candidate base addresses. More...
 
std::set< std::pair< size_t, uint64_t > > GetScores (BNBaseAddressDetectionConfidence *confidence, uint64_t *lastTestedBaseAddress)
 Get the top 10 candidate base addresses and thier scores. More...
 
std::vector< BNBaseAddressDetectionReasonGetReasonsForBaseAddress (uint64_t baseAddress)
 Get a vector of BNBaseAddressDetectionReasons containing information that indicates why a base address was reported as a candidate. More...
 
void Abort ()
 Abort base address detection. More...
 
bool IsAborted ()
 Determine if base address detection is aborted. More...
 

Constructor & Destructor Documentation

◆ BaseAddressDetection()

BaseAddressDetection::BaseAddressDetection ( Ref< BinaryView view)

◆ ~BaseAddressDetection()

BaseAddressDetection::~BaseAddressDetection ( )

Member Function Documentation

◆ DetectBaseAddress()

bool BaseAddressDetection::DetectBaseAddress ( BaseAddressDetectionSettings settings)

Analyze program, identify pointers and points-of-interest, and detect candidate base addresses.

Parameters
settingsBase address detection settings
Returns
true on success, false otherwise

◆ GetScores()

std::set< std::pair< size_t, uint64_t > > BaseAddressDetection::GetScores ( BNBaseAddressDetectionConfidence confidence,
uint64_t *  lastTestedBaseAddress 
)

Get the top 10 candidate base addresses and thier scores.

Parameters
confidenceConfidence level that indicates the likelihood the top base address candidate is correct
lastTestedBaseAddressLast base address tested before analysis was aborted or completed
Returns
Set of pairs containing candidate base addresses and their scores

◆ GetReasonsForBaseAddress()

std::vector< BNBaseAddressDetectionReason > BaseAddressDetection::GetReasonsForBaseAddress ( uint64_t  baseAddress)

Get a vector of BNBaseAddressDetectionReasons containing information that indicates why a base address was reported as a candidate.

Parameters
baseAddressBase address to query reasons for
Returns
Vector of reason structures containing information about why a base address was reported as a candidate

◆ Abort()

void BaseAddressDetection::Abort ( )

Abort base address detection.

◆ IsAborted()

bool BaseAddressDetection::IsAborted ( )

Determine if base address detection is aborted.

Returns
true if aborted by user, false otherwise