IDAPython 9.0
Loading...
Searching...
No Matches
ida_gdl Namespace Reference

Classes

class  BasicBlock
 Basic block class. More...
 
class  cancellable_graph_t
 Proxy of C++ cancellable_graph_t class. More...
 
class  edge_t
 Proxy of C++ edge_t class. More...
 
class  edgevec_t
 Proxy of C++ edgevec_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  node_ordering_t
 Proxy of C++ node_ordering_t 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 ("gdl_graph_t" g, "char const *" fname)
 gen_gdl(g, fname) Create GDL file for graph.
 
"int" display_gdl ("char const *" fname)
 display_gdl(fname) -> int Display GDL file by calling wingraph32.
 
"bool" gen_flow_graph ("char const *" filename, "char const *" title, "func_t *" pfn, "ea_t" ea1, "ea_t" ea2, "int" gflags)
 gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool Build and display a flow graph.
 
"bool" gen_simple_call_chart ("char const *" filename, "char const *" wait, "char const *" title, "int" gflags)
 gen_simple_call_chart(filename, wait, title, gflags) -> bool Build and display a simple function call graph.
 
"bool" gen_complex_call_chart ("char const *" filename, "char const *" wait, "char const *" title, "ea_t" ea1, "ea_t" ea2, "int" flags, "int32" recursion_depth=-1)
 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 ("fc_block_type_t" btype)
 is_noret_block(btype) -> bool Does this block never return?
 
"bool" is_ret_block ("fc_block_type_t" btype)
 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
 
 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
 

Function Documentation

◆ display_gdl()

"int" display_gdl ( "char const *" fname)

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.

Parameters
fname(C++: const char *) char const *
Returns
: error code from os, 0 if ok

◆ gen_complex_call_chart()

"bool" gen_complex_call_chart ( "char const *" filename,
"char const *" wait,
"char const *" title,
"ea_t" ea1,
"ea_t" ea2,
"int" flags,
"int32" recursion_depth = -1 )
Parameters
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
Returns
: success. if fails, a warning message is displayed on the screen

◆ gen_flow_graph()

"bool" gen_flow_graph ( "char const *" filename,
"char const *" title,
"func_t *" pfn,
"ea_t" ea1,
"ea_t" ea2,
"int" gflags )
Parameters
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
Returns
: success. if fails, a warning message is displayed on the screen

◆ gen_gdl()

"void" gen_gdl ( "gdl_graph_t" g,
"char const *" fname )
Parameters
g(C++: const gdl_graph_t *) gdl_graph_t const *
fname(C++: const char *) char const *

◆ gen_simple_call_chart()

"bool" gen_simple_call_chart ( "char const *" filename,
"char const *" wait,
"char const *" title,
"int" gflags )
Parameters
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.
Returns
: success. if fails, a warning message is displayed on the screen

◆ is_noret_block()

"bool" is_noret_block ( "fc_block_type_t" btype)
Parameters
btype(C++: fc_block_type_t) enum fc_block_type_t

◆ is_ret_block()

"bool" is_ret_block ( "fc_block_type_t" btype)
Parameters
btype(C++: fc_block_type_t) enum fc_block_type_t

Variable Documentation

◆ CHART_FOLLOW_DIRECTION

CHART_FOLLOW_DIRECTION = _ida_gdl.CHART_FOLLOW_DIRECTION

◆ CHART_GEN_DOT

CHART_GEN_DOT = _ida_gdl.CHART_GEN_DOT

◆ CHART_GEN_GDL

CHART_GEN_GDL = _ida_gdl.CHART_GEN_GDL

◆ CHART_IGNORE_DATA_BSS

CHART_IGNORE_DATA_BSS = _ida_gdl.CHART_IGNORE_DATA_BSS

◆ CHART_IGNORE_LIB_FROM

CHART_IGNORE_LIB_FROM = _ida_gdl.CHART_IGNORE_LIB_FROM

◆ CHART_IGNORE_LIB_TO

CHART_IGNORE_LIB_TO = _ida_gdl.CHART_IGNORE_LIB_TO

◆ CHART_IGNORE_XTRN

CHART_IGNORE_XTRN = _ida_gdl.CHART_IGNORE_XTRN

◆ CHART_NOLIBFUNCS

CHART_NOLIBFUNCS = _ida_gdl.CHART_NOLIBFUNCS

◆ CHART_PRINT_COMMENTS

CHART_PRINT_COMMENTS = _ida_gdl.CHART_PRINT_COMMENTS

◆ CHART_PRINT_DOTS

CHART_PRINT_DOTS = _ida_gdl.CHART_PRINT_DOTS

◆ CHART_PRINT_NAMES

CHART_PRINT_NAMES = _ida_gdl.CHART_PRINT_NAMES

◆ CHART_RECURSIVE

CHART_RECURSIVE = _ida_gdl.CHART_RECURSIVE

◆ CHART_REFERENCED

CHART_REFERENCED = _ida_gdl.CHART_REFERENCED

◆ CHART_REFERENCING

CHART_REFERENCING = _ida_gdl.CHART_REFERENCING

◆ CHART_WINGRAPH

CHART_WINGRAPH = _ida_gdl.CHART_WINGRAPH

◆ EDGE_BACK

EDGE_BACK = _ida_gdl.EDGE_BACK

◆ EDGE_CROSS

EDGE_CROSS = _ida_gdl.EDGE_CROSS

◆ EDGE_FORWARD

EDGE_FORWARD = _ida_gdl.EDGE_FORWARD

◆ EDGE_NONE

EDGE_NONE = _ida_gdl.EDGE_NONE

◆ EDGE_SUBGRAPH

EDGE_SUBGRAPH = _ida_gdl.EDGE_SUBGRAPH

◆ EDGE_TREE

EDGE_TREE = _ida_gdl.EDGE_TREE

◆ FC_APPND

FC_APPND = _ida_gdl.FC_APPND

◆ FC_CALL_ENDS

FC_CALL_ENDS = _ida_gdl.FC_CALL_ENDS

◆ FC_CHKBREAK

FC_CHKBREAK = _ida_gdl.FC_CHKBREAK

◆ FC_NOEXT

FC_NOEXT = _ida_gdl.FC_NOEXT

◆ FC_NOPREDS

FC_NOPREDS = _ida_gdl.FC_NOPREDS

◆ FC_OUTLINES

FC_OUTLINES = _ida_gdl.FC_OUTLINES

◆ FC_PREDS

int FC_PREDS = 0

◆ FC_PRINT

FC_PRINT = _ida_gdl.FC_PRINT

◆ FC_RESERVED

FC_RESERVED = _ida_gdl.FC_RESERVED

◆ fcb_cndret

fcb_cndret = _ida_gdl.fcb_cndret

◆ fcb_enoret

fcb_enoret = _ida_gdl.fcb_enoret

◆ fcb_error

fcb_error = _ida_gdl.fcb_error

◆ fcb_extern

fcb_extern = _ida_gdl.fcb_extern

◆ fcb_indjump

fcb_indjump = _ida_gdl.fcb_indjump

◆ fcb_noret

fcb_noret = _ida_gdl.fcb_noret

◆ fcb_normal

fcb_normal = _ida_gdl.fcb_normal

◆ fcb_ret

fcb_ret = _ida_gdl.fcb_ret