IDAPython 9.0
|
Low level graph drawing operations.
Classes | |
class | BasicBlock |
class | cancellable_graph_t |
class | edge_t |
class | edgevec_t |
class | FlowChart |
class | gdl_graph_t |
class | node_iterator |
class | node_ordering_t |
class | qbasic_block_t |
class | qflow_chart_t |
Functions | |
None | gen_gdl ('gdl_graph_t' g, str fname) |
int | display_gdl (str fname) |
bool | gen_flow_graph (str filename, str title, 'func_t *' pfn, ida_idaapi.ea_t ea1, ida_idaapi.ea_t ea2, int gflags) |
bool | gen_simple_call_chart (str filename, str wait, str title, int gflags) |
bool | gen_complex_call_chart (str filename, str wait, str title, ida_idaapi.ea_t ea1, ida_idaapi.ea_t ea2, int flags, int recursion_depth=-1) |
bool | is_noret_block ('fc_block_type_t' btype) |
bool | is_ret_block ('fc_block_type_t' btype) |
Variables | |
fcb_normal = _ida_gdl.fcb_normal | |
fcb_indjump = _ida_gdl.fcb_indjump | |
fcb_ret = _ida_gdl.fcb_ret | |
fcb_cndret = _ida_gdl.fcb_cndret | |
fcb_noret = _ida_gdl.fcb_noret | |
fcb_enoret = _ida_gdl.fcb_enoret | |
fcb_extern = _ida_gdl.fcb_extern | |
fcb_error = _ida_gdl.fcb_error | |
EDGE_NONE = _ida_gdl.EDGE_NONE | |
EDGE_TREE = _ida_gdl.EDGE_TREE | |
EDGE_FORWARD = _ida_gdl.EDGE_FORWARD | |
EDGE_BACK = _ida_gdl.EDGE_BACK | |
EDGE_CROSS = _ida_gdl.EDGE_CROSS | |
EDGE_SUBGRAPH = _ida_gdl.EDGE_SUBGRAPH | |
CHART_PRINT_NAMES = _ida_gdl.CHART_PRINT_NAMES | |
CHART_GEN_DOT = _ida_gdl.CHART_GEN_DOT | |
CHART_GEN_GDL = _ida_gdl.CHART_GEN_GDL | |
CHART_WINGRAPH = _ida_gdl.CHART_WINGRAPH | |
CHART_NOLIBFUNCS = _ida_gdl.CHART_NOLIBFUNCS | |
CHART_REFERENCING = _ida_gdl.CHART_REFERENCING | |
CHART_REFERENCED = _ida_gdl.CHART_REFERENCED | |
CHART_RECURSIVE = _ida_gdl.CHART_RECURSIVE | |
CHART_FOLLOW_DIRECTION = _ida_gdl.CHART_FOLLOW_DIRECTION | |
CHART_IGNORE_XTRN = _ida_gdl.CHART_IGNORE_XTRN | |
CHART_IGNORE_DATA_BSS = _ida_gdl.CHART_IGNORE_DATA_BSS | |
CHART_IGNORE_LIB_TO = _ida_gdl.CHART_IGNORE_LIB_TO | |
CHART_IGNORE_LIB_FROM = _ida_gdl.CHART_IGNORE_LIB_FROM | |
CHART_PRINT_COMMENTS = _ida_gdl.CHART_PRINT_COMMENTS | |
CHART_PRINT_DOTS = _ida_gdl.CHART_PRINT_DOTS | |
FC_PRINT = _ida_gdl.FC_PRINT | |
FC_NOEXT = _ida_gdl.FC_NOEXT | |
FC_RESERVED = _ida_gdl.FC_RESERVED | |
FC_APPND = _ida_gdl.FC_APPND | |
FC_CHKBREAK = _ida_gdl.FC_CHKBREAK | |
FC_CALL_ENDS = _ida_gdl.FC_CALL_ENDS | |
FC_NOPREDS = _ida_gdl.FC_NOPREDS | |
FC_OUTLINES = _ida_gdl.FC_OUTLINES | |
int | FC_PREDS = 0 |
int display_gdl | ( | str | fname | ) |
Display GDL file by calling wingraph32. The exact name of the grapher is taken from the configuration file and set up by setup_graph_subsystem(). The path should point to a temporary file: when wingraph32 succeeds showing the graph, the input file will be deleted. @returns error code from os, 0 if ok
bool gen_complex_call_chart | ( | str | filename, |
str | wait, | ||
str | title, | ||
ida_idaapi.ea_t | ea1, | ||
ida_idaapi.ea_t | ea2, | ||
int | flags, | ||
int | recursion_depth = -1 ) |
Build and display a complex xref graph. @param filename: output file name. the file extension is not used. maybe nullptr. @param wait: message to display during graph building @param title: graph title @param ea1: address range @param ea2: address range @param flags: combination of Call chart building flags and Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false. @param recursion_depth: optional limit of recursion @returns success. if fails, a warning message is displayed on the screen
bool gen_flow_graph | ( | str | filename, |
str | title, | ||
'func_t *' | pfn, | ||
ida_idaapi.ea_t | ea1, | ||
ida_idaapi.ea_t | ea2, | ||
int | gflags ) |
Build and display a flow graph. @param filename: output file name. the file extension is not used. maybe nullptr. @param title: graph title @param pfn: function to graph @param ea1: if pfn == nullptr, then the address range @param ea2: if pfn == nullptr, then the address range @param gflags: combination of Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false @returns success. if fails, a warning message is displayed on the screen
None gen_gdl | ( | 'gdl_graph_t' | g, |
str | fname ) |
Create GDL file for graph.
bool gen_simple_call_chart | ( | str | filename, |
str | wait, | ||
str | title, | ||
int | gflags ) |
Build and display a simple function call graph. @param filename: output file name. the file extension is not used. maybe nullptr. @param wait: message to display during graph building @param title: graph title @param gflags: combination of CHART_NOLIBFUNCS and Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false. @returns success. if fails, a warning message is displayed on the screen
bool is_noret_block | ( | 'fc_block_type_t' | btype | ) |
Does this block never return?
bool is_ret_block | ( | 'fc_block_type_t' | btype | ) |
Does this block return?
CHART_FOLLOW_DIRECTION = _ida_gdl.CHART_FOLLOW_DIRECTION |
CHART_GEN_DOT = _ida_gdl.CHART_GEN_DOT |
CHART_GEN_GDL = _ida_gdl.CHART_GEN_GDL |
CHART_IGNORE_DATA_BSS = _ida_gdl.CHART_IGNORE_DATA_BSS |
CHART_IGNORE_LIB_FROM = _ida_gdl.CHART_IGNORE_LIB_FROM |
CHART_IGNORE_LIB_TO = _ida_gdl.CHART_IGNORE_LIB_TO |
CHART_IGNORE_XTRN = _ida_gdl.CHART_IGNORE_XTRN |
CHART_NOLIBFUNCS = _ida_gdl.CHART_NOLIBFUNCS |
CHART_PRINT_COMMENTS = _ida_gdl.CHART_PRINT_COMMENTS |
CHART_PRINT_DOTS = _ida_gdl.CHART_PRINT_DOTS |
CHART_PRINT_NAMES = _ida_gdl.CHART_PRINT_NAMES |
CHART_RECURSIVE = _ida_gdl.CHART_RECURSIVE |
CHART_REFERENCED = _ida_gdl.CHART_REFERENCED |
CHART_REFERENCING = _ida_gdl.CHART_REFERENCING |
CHART_WINGRAPH = _ida_gdl.CHART_WINGRAPH |
EDGE_BACK = _ida_gdl.EDGE_BACK |
EDGE_CROSS = _ida_gdl.EDGE_CROSS |
EDGE_FORWARD = _ida_gdl.EDGE_FORWARD |
EDGE_NONE = _ida_gdl.EDGE_NONE |
EDGE_SUBGRAPH = _ida_gdl.EDGE_SUBGRAPH |
EDGE_TREE = _ida_gdl.EDGE_TREE |
FC_APPND = _ida_gdl.FC_APPND |
FC_CALL_ENDS = _ida_gdl.FC_CALL_ENDS |
FC_CHKBREAK = _ida_gdl.FC_CHKBREAK |
FC_NOEXT = _ida_gdl.FC_NOEXT |
FC_NOPREDS = _ida_gdl.FC_NOPREDS |
FC_OUTLINES = _ida_gdl.FC_OUTLINES |
int FC_PREDS = 0 |
FC_PRINT = _ida_gdl.FC_PRINT |
FC_RESERVED = _ida_gdl.FC_RESERVED |
fcb_cndret = _ida_gdl.fcb_cndret |
fcb_enoret = _ida_gdl.fcb_enoret |
fcb_error = _ida_gdl.fcb_error |
fcb_extern = _ida_gdl.fcb_extern |
fcb_indjump = _ida_gdl.fcb_indjump |
fcb_noret = _ida_gdl.fcb_noret |
fcb_normal = _ida_gdl.fcb_normal |
fcb_ret = _ida_gdl.fcb_ret |