|
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 |