The Envi framework allows architecutre abstraction through the use of
the ArchitectureModule, Opcode, Operand, and Emulator objects.
|
ArchitectureModule
An architecture module implementes methods to deal with the
creation of envi objects for the specified architecture.
|
|
EnviException
|
|
InvalidInstruction
Raised by opcode parsers when the specified bytes do not represent
a valid opcode
|
|
SegmentationViolation
Raised by an Emulator extension when you bad-touch memory.
|
|
ArchNotImplemented
Raised by various Envi components when the architecture does not
implement that envi component.
|
|
EmuException
A parent for all emulation exceptions so catching them can be easy.
|
|
UnsupportedInstruction
Raised by emulators when the given instruction is not implemented
by the emulator.
|
|
DivideByZero
Raised by an Emulator when a divide/mod has a 0 divisor...
|
|
BreakpointHit
Raised by an emulator when you execute a breakpoint instruction
|
|
PDEUndefinedFlag
This exception is raised when a conditional operation is dependant
on a flag state that is unknown.
|
|
PDEException
This exception is used in partially defined emulation to signal
where execution flow becomes un-known due to undefined values.
|
|
UnknownCallingConvention
Raised when the getCallArgs() or setReturnValue() methods are given
an unknown calling convention type.
|
|
MapOverlapException
Raised when adding a memory map to a MemoryObject which overlaps
with another already existing map.
|
|
Operand
Thses are the expected methods needed by any implemented operand
object attached to an envi Opcode.
|
|
DerefOper
|
|
ImmedOper
|
|
RegisterOper
|
|
Opcode
A universal representation for an opcode
|
|
Emulator
The Emulator class is mostly "Abstract" in the java
Interface sense.
|
|
CallingConvention
Implement calling conventions for your arch.
|