IDAPython 8.4
|
Low level graph drawing operations.
Classes | |
class | BasicBlock |
Basic block class. More... | |
class | cancellable_graph_t |
Proxy of C++ cancellable_graph_t class. More... | |
class | FlowChart |
Flowchart class used to determine basic blocks. More... | |
class | gdl_graph_t |
Proxy of C++ gdl_graph_t class. More... | |
class | node_iterator |
Proxy of C++ node_iterator class. More... | |
class | qbasic_block_t |
Proxy of C++ qbasic_block_t class. More... | |
class | qflow_chart_t |
Proxy of C++ qflow_chart_t class. More... | |
Functions | |
"void" | gen_gdl (*args) |
gen_gdl(g, fname) Create GDL file for graph. | |
"int" | display_gdl (*args) |
display_gdl(fname) -> int Display GDL file by calling wingraph32. | |
"bool" | gen_flow_graph (*args) |
gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool Build and display a flow graph. | |
"bool" | gen_simple_call_chart (*args) |
gen_simple_call_chart(filename, wait, title, gflags) -> bool Build and display a simple function call graph. | |
"bool" | gen_complex_call_chart (*args) |
gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool Build and display a complex xref graph. | |
"bool" | is_noret_block (*args) |
is_noret_block(btype) -> bool Does this block never return? | |
"bool" | is_ret_block (*args) |
is_ret_block(btype) -> bool Does this block return? | |
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 | |
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 | ( | * | args | ) |
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.
fname | (C++: const char *) char const * |
"bool" gen_complex_call_chart | ( | * | args | ) |
filename | (C++: const char *) output file name. the file extension is not used. maybe nullptr. |
wait | (C++: const char *) message to display during graph building |
title | (C++: const char *) graph title |
ea1 | (C++: ea_t) ,ea2: address range |
flags | (C++: int) 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. |
flags | (C++: int) 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. |
recursion_depth | (C++: int32) optional limit of recursion |
"bool" gen_flow_graph | ( | * | args | ) |
filename | (C++: const char *) output file name. the file extension is not used. maybe nullptr. |
title | (C++: const char *) graph title |
pfn | (C++: func_t *) function to graph |
ea1 | (C++: ea_t) ,ea2: if pfn == nullptr, then the address range |
gflags | (C++: int) combination of Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false |
gflags | (C++: int) combination of Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false |
"void" gen_gdl | ( | * | args | ) |
g | (C++: const gdl_graph_t *) gdl_graph_t const * |
fname | (C++: const char *) char const * |
"bool" gen_simple_call_chart | ( | * | args | ) |
filename | (C++: const char *) output file name. the file extension is not used. maybe nullptr. |
wait | (C++: const char *) message to display during graph building |
title | (C++: const char *) graph title |
gflags | (C++: int) 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. |
"bool" is_noret_block | ( | * | args | ) |
btype | (C++: fc_block_type_t) enum fc_block_type_t |
"bool" is_ret_block | ( | * | args | ) |
btype | (C++: fc_block_type_t) enum fc_block_type_t |
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 |
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 |