Package Libs :: Module libanalyze :: Class BasicBlock
[hide private]
[frames] | no frames]

Class BasicBlock

source code

Instance Methods [hide private]
 
__init__(self, start, end)
Basic Block class
source code
 
setFunction(self, function) source code
 
getFunction(self) source code
 
setCalls(self, calls) source code
 
getCalls(self) source code
 
__cmp__(self, other)
Comparision by the start address of the BB
source code
 
setStart(self, address)
Change the start of a Basic Block
source code
 
addTrueEdge(self, addr) source code
 
addFalseEdge(self, addr) source code
 
getEdges(self) source code
DWORD
getTrueEdge(self)
Get the 'true' Edge
source code
DWORD
getFalseEdge(self)
Get the 'false' Edge
source code
TUPLE of DWORD
getDirectEdge(self)
Get the Edges of a Basic Block
source code
DWORD
getSize(self)
Return the Size of the Basic Block
source code
 
setEnd(self, address)
Change the end of a Basic Block
source code
TUPLE OF DWORD
getLimits(self)
Get the limits of the basic block
source code
DWORD
getStart(self)
Get the begging of a Basic Block
source code
DWORD
getEnd(self)
Get the End of a Basic Block
source code
LIST of opCode OBJECT
getInstructions(self, imm)
Get the disassembled instructions from a Basic Block
source code
BOOLEAN
isXref(self)
Check if a Basic Block was created from an XREF
source code
BOOLEAN
isConditionalJmp(self)
Check if a Basic Block was created from a Conditional Jump instruction
source code
BOOLEAN
isJmp(self)
Check if a Basic Block was created from a Jump instruction
source code
BOOLEAN
isRet(self)
Check if a Basic Block was created from a RET instruction
source code
Method Details [hide private]

__init__(self, start, end)
(Constructor)

source code 

Basic Block class

Parameters:
  • start (DWORD) - Address of the begging of the Basic Block
  • end (DWORD) - Address of the end of the Basic Block

setStart(self, address)

source code 

Change the start of a Basic Block

Parameters:
  • address (DWORD) - New address of the Basic Block

getTrueEdge(self)

source code 

Get the 'true' Edge

Returns: DWORD
'True' Edge of the Basic Block

getFalseEdge(self)

source code 

Get the 'false' Edge

Returns: DWORD
'False' Edge of the Basic Block (The 'false' edge, is not always present. Depends of the Basic Block)

getDirectEdge(self)

source code 

Get the Edges of a Basic Block

Returns: TUPLE of DWORD
The Edge of the Basic Block (Might change depending of the basic block type)

getSize(self)

source code 

Return the Size of the Basic Block

Returns: DWORD
Size of the Basic Block

setEnd(self, address)

source code 

Change the end of a Basic Block

Parameters:
  • address (DWORD) - New address of the Basic Block end

getLimits(self)

source code 

Get the limits of the basic block

Returns: TUPLE OF DWORD
(Beginning of BB, End of BB)

getStart(self)

source code 

Get the begging of a Basic Block

Returns: DWORD
Beginning of the Basic Block

getEnd(self)

source code 

Get the End of a Basic Block

Returns: DWORD
End of the Basic Block

getInstructions(self, imm)

source code 

Get the disassembled instructions from a Basic Block

Parameters:
  • imm (Debugger OBJECT) - Debugger
Returns: LIST of opCode OBJECT
List of disassembled instructions

isXref(self)

source code 

Check if a Basic Block was created from an XREF

Returns: BOOLEAN
Whether the Basic Block was created from an XREF

isConditionalJmp(self)

source code 

Check if a Basic Block was created from a Conditional Jump instruction

Returns: BOOLEAN
Whether the Basic Block was created from a Conditional Jump instruction

isJmp(self)

source code 

Check if a Basic Block was created from a Jump instruction

Returns: BOOLEAN
Whether the Basic Block was created from a Jump instruction

isRet(self)

source code 

Check if a Basic Block was created from a RET instruction

Returns: BOOLEAN
Whether the Basic Block was created from a RET instruction