State-of-the-art binary code analysis tools

ud (use->def) and du (def->use) chain. More...

Inheritance diagram for chain_t:

Public Member Functions

 chain_t (mopt_t t, sval_t off, int w=1, int v=-1)
 chain_t (const voff_t &_k, int w=1)
void set_value (const chain_t &r)
const voff_tkey () const
bool is_inited (void) const
bool is_reg (void) const
bool is_stkoff (void) const
bool is_replaced (void) const
bool is_overlapped (void) const
bool is_fake (void) const
bool is_passreg (void) const
bool is_term (void) const
void set_inited (bool b)
void set_replaced (bool b)
void set_overlapped (bool b)
void set_term (bool b)
mreg_t get_reg () const
sval_t get_stkoff () const
bool overlap (const chain_t &r) const
bool includes (const chain_t &r) const
const voff_t endoff () const
bool operator< (const chain_t &r) const
void print (qstring *vout) const
const char * dstr (void) const
void append_list (const mba_t *mba, mlist_t *list) const
 Append the contents of the chain to the specified list of locations.
void clear_varnum (void)

Public Attributes

int width
 size of the value in bytes
int varnum
 allocated variable index (-1 - not allocated yet)
uchar flags
 combination Chain properties bits

Detailed Description

ud (use->def) and du (def->use) chain.

We store in chains only the block numbers, not individual instructions See

hexrays_sample12.cpp, and hexrays_sample18.cpp.

Definition at line 3282 of file hexrays.hpp.