Ghidra Decompiler Analysis Engine
Classes | Public Member Functions | List of all members
AncestorRealistic Class Reference

Helper class for determining if Varnodes can trace their value from a legitimate source. More...

#include <funcdata.hh>

Public Member Functions

bool execute (PcodeOp *op, int4 slot, ParamTrial *t, bool allowFail)
 Perform a full ancestor check on a given parameter trial. More...
 

Detailed Description

Helper class for determining if Varnodes can trace their value from a legitimate source.

Try to determine if a Varnode (expressed as a particular input to a CALL, CALLIND, or RETURN op) makes sense as parameter passing (or return value) storage by examining the Varnode's ancestors. If it has ancestors that are unaffected, abnormal inputs, or killedbycall, then this is a sign that the Varnode doesn't make a good parameter.

Member Function Documentation

◆ execute()

bool AncestorRealistic::execute ( PcodeOp op,
int4  slot,
ParamTrial t,
bool  allowFail 
)

Perform a full ancestor check on a given parameter trial.

Parameters
opis the CALL or RETURN to test parameter passing for
slotis the index of the particular input varnode to test
tis the ParamTrial object corresponding to the varnode
allowFailis true if we allow and test for failing paths due to conditional execution
Returns
true if the varnode has realistic ancestors for a parameter passing location

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