Trees | Index | Help |
|
---|
Package pida :: Module module :: Class module |
|
object
--+ |graph
--+ | module
Method Summary | |
---|---|
Analysis of an IDA database requires the instantiation of this class and will handle, depending on the requested depth, the analysis of all functions, basic blocks, instructions and more specifically which analysis techniques to apply. | |
Enumerate and add nodes / edges for each import within the module. | |
Enumerate all RPC interfaces and add additional properties to the RPC functions. | |
pida.function |
Locate and return the function that contains the specified address. |
Return the instruction after to the one at ea. | |
Within the function that contains ea, return the instruction prior to the one at ea. | |
Rebase the module and all components with the new base address. | |
String |
Convert the binary representation of a UUID to a human readable string. |
Inherited from graph | |
Add a pgraph cluster to the graph. | |
Add a pgraph edge to the graph. | |
Alias of graph_cat(). | |
Add a pgraph node to the graph. | |
Remove a cluster from the graph. | |
Remove an edge from the graph. | |
Alias of graph_sub(). | |
Remove a node from the graph. | |
List |
Enumerate the edges from the specified node. |
List |
Enumerate the edges to the specified node. |
Mixed |
Find and return the cluster with the specified attribute / value pair. |
Mixed |
Find and return the cluster that contains the node with the specified attribute / value pair. |
Mixed |
Find and return the edge with the specified attribute / value pair. |
Mixed |
Find and return the node with the specified attribute / value pair. |
Concatenate the other graph into the current one. | |
pgraph.graph |
Create a new graph, looking down, from the specified node id to the specified depth. |
Remove all elements from the current graph that do not exist in the other graph. | |
pgraph.graph |
Create a proximity graph centered around the specified node. |
Remove the elements shared between the current graph and other graph from the current graph. | |
pgraph.graph |
Create a new graph, looking up, from the specified node id to the specified depth. |
String |
Render the GML graph description. |
pydot.Dot |
Render the graphviz graph structure. |
String |
Render the uDraw graph description. |
String |
Render the uDraw graph update description. |
List |
Return a list of the nodes within the graph, sorted by id. |
Simply updating the id attribute of a node will sever the edges to / from the given node. | |
Inherited from object | |
x.__delattr__('name') <==> del x.name | |
x.__getattribute__('name') <==> x.name | |
x.__hash__() <==> hash(x) | |
T.__new__(S, ...) -> a new object with type S, a subtype of T | |
helper for pickle | |
helper for pickle | |
x.__repr__() <==> repr(x) | |
x.__setattr__('name', value) <==> x.name = value | |
x.__str__() <==> str(x) |
Class Variable Summary | |
---|---|
NoneType |
analysis = None |
NoneType |
base = None |
NoneType |
depth = None |
dict |
ext = {}
|
NoneType |
name = None |
NoneType |
signature = None |
Inherited from graph | |
list |
clusters = []
|
dict |
edges = {}
|
NoneType |
id = None |
dict |
nodes = {}
|
Method Details |
---|
__init__(self,
name='',
signature=None,
depth=7,
analysis=0)
|
__init_enumerate_imports__(self)Enumerate and add nodes / edges for each import within the module. This routine will pass through the entire module structure. |
__init_enumerate_rpc__(self)Enumerate all RPC interfaces and add additional properties to the RPC functions. This routine will pass through the entire IDA database. This was entirely ripped from my RPC enumeration IDC script: http://www.openrce.org/downloads/details/3/RPC%20Enumerator The approach appears to be stable enough. |
find_function(self, ea)Locate and return the function that contains the specified address.
|
next_ea(self, ea=None)Return the instruction after to the one at ea. You can call this routine without an argument after the first call. The overall structure of PIDA was not really designed for this kind of functionality, so this is kind of a hack.
|
prev_ea(self, ea=None)Within the function that contains ea, return the instruction prior to the one at ea. You can call this routine without an argument after the first call. The overall structure of PIDA was not really designed for this kind of functionality, so this is kind of a hack.
|
rebase(self, new_base)Rebase the module and all components with the new base address. This routine will check if the current and requested base addresses are equivalent, so you do not have to worry about checking that yourself.
|
uuid_bin_to_string(self, uuid)Convert the binary representation of a UUID to a human readable string.
|
Class Variable Details |
---|
analysis
|
base
|
depth
|
ext
|
name
|
signature
|
Trees | Index | Help |
|
---|
Generated by Epydoc 2.1 on Thu Sep 14 10:39:49 2006 | http://epydoc.sf.net |