Module ida_gdl
[frames] | no frames]

Module ida_gdl

IDA Plugin SDK API wrapper: gdl

Classes
  BasicBlock
Basic block class.
  FlowChart
Flowchart class used to determine basic blocks.
  node_iterator
Proxy of C++ node_iterator class.
  qbasic_block_t
Proxy of C++ qbasic_block_t class.
  qflow_chart_t
Proxy of C++ qflow_chart_t class.
Functions
int
display_gdl(fname)
Display GDL file by calling wingraph32.
bool
gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1)
Build and display a complex xref graph.
bool
gen_flow_graph(filename, title, pfn, ea1, ea2, gflags)
Build and display a flow graph.
 
gen_gdl(g, fname)
Create GDL file for graph.
bool
gen_simple_call_chart(filename, wait, title, gflags)
Build and display a simple function call graph.
bool
is_noret_block(btype)
Does this block never return?
bool
is_ret_block(btype)
Does this block return?
Variables
  CHART_FOLLOW_DIRECTION = 8
  CHART_GEN_DOT = 8192
  CHART_GEN_GDL = 16384
  CHART_IGNORE_DATA_BSS = 32
  CHART_IGNORE_LIB_FROM = 128
  CHART_IGNORE_LIB_TO = 64
  CHART_IGNORE_XTRN = 16
  CHART_NOLIBFUNCS = 1024
  CHART_PRINT_COMMENTS = 256
  CHART_PRINT_DOTS = 512
  CHART_PRINT_NAMES = 4096
  CHART_RECURSIVE = 4
  CHART_REFERENCED = 2
  CHART_REFERENCING = 1
  CHART_WINGRAPH = 32768
  FC_APPND = 8
  FC_CHKBREAK = 16
  FC_NOEXT = 2
  FC_PREDS = 4
  FC_PRINT = 1
  SWIG_PYTHON_LEGACY_BOOL = 1
  __package__ = None
  fcb_cndret = 3
  fcb_enoret = 5
  fcb_error = 7
  fcb_extern = 6
  fcb_indjump = 1
  fcb_noret = 4
  fcb_normal = 0
  fcb_ret = 2
Function Details

display_gdl(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()' .

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

gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1)

 

Build and display a complex xref graph.

Parameters:
  • filename - output file name. the file extension is not used. maybe NULL. (C++: const char *)
  • wait - message to display during graph building (C++: const char *)
  • title - graph title (C++: const char *)
  • ea1 - address range (C++: ea_t)
  • ea2 - address range (C++: ea_t)
  • 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. (C++: int)
  • recursion_depth - optional limit of recursion (C++: int32)
Returns: bool
success. if fails, a warning message is displayed on the screen

gen_flow_graph(filename, title, pfn, ea1, ea2, gflags)

 

Build and display a flow graph.

Parameters:
  • filename - output file name. the file extension is not used. maybe NULL. (C++: const char *)
  • title - graph title (C++: const char *)
  • pfn - function to graph (C++: func_t *)
  • ea1 - if pfn == NULL, then the address range (C++: ea_t)
  • ea2 - if pfn == NULL, then the address range (C++: ea_t)
  • 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 (C++: int)
Returns: bool
success. if fails, a warning message is displayed on the screen

gen_gdl(g, fname)

 

Create GDL file for graph.

Parameters:
  • g, (C++ - const gdl_graph_t *)
  • fname, (C++ - const char *)

gen_simple_call_chart(filename, wait, title, gflags)

 

Build and display a simple function call graph.

Parameters:
  • filename - output file name. the file extension is not used. maybe NULL. (C++: const char *)
  • wait - message to display during graph building (C++: const char *)
  • title - graph title (C++: const char *)
  • 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. (C++: int)
Returns: bool
success. if fails, a warning message is displayed on the screen

is_noret_block(btype)

 

Does this block never return?

Parameters:
  • btype, (C++ - fc_block_type_t)
Returns: bool

is_ret_block(btype)

 

Does this block return?

Parameters:
  • btype, (C++ - fc_block_type_t)
Returns: bool