C# Class TUP.AsmResolver.ASM.x86Disassembler

Disassembler for Win32 Assemblies. Pre-Pre-Pre Alpha version :D. UNDER CONSTRUCTION
Datei anzeigen Open project: Rex-Hays/GNIDA Class Usage Examples

Public Methods

Method Description
Disassemble ( long rawStartOffset, long length ) : InstructionCollection

Disassembles bytes to a collection of assembly instructions.

DisassembleNextInstruction ( ) : x86Instruction

Disassembles the next instruction at the current offset.

LoadOpCodes ( ) : void
x86Disassembler ( ) : System
x86Disassembler ( Stream stream ) : System

Creates a new instance of a disassembler, by using a stream as input.

x86Disassembler ( Win32Assembly assembly ) : System

Creates a new instance of a disassembler, by using an assembly as input.

x86Disassembler ( byte bytes ) : System

Creates a new instance of a disassembler, by using a byte array as input.

Private Methods

Method Description
CreatePtr ( uint offset, OperandType offsetType = OperandType.DwordPointer ) : Operand
CreateTargetOffset ( uint offset, OperandType offsetType = OperandType.Normal ) : Operand
DecodeDoubleRegisters ( x86Instruction &instruction, byte registersToken ) : void
DecodeRegisterPair ( x86Instruction instruction, byte registerToken, x86Register &register1, x86Register &register2 ) : void
DecodeSingleRegister ( x86Instruction &instruction, byte registersToken ) : void
GetDoubleRegisterMask ( byte registerToken, byte &registerMask1, byte &registerMask2 ) : void
GetSingleRegisterMask ( byte registerToken ) : byte
MatchWithOpCodes ( byte opcodeByte ) : TUP.AsmResolver.ASM.x86OpCode[]
ProcessInvalidInstruction ( x86Instruction instruction ) : void
ProcessOperandBytes ( x86Instruction instruction ) : void
ProcessOverrideOperand ( x86Instruction instruction ) : void
ProcessRegisterOperands ( x86Instruction instruction ) : void
ProcessVariableByteIndex ( x86OpCode &opcode ) : void
ReadRawOperand ( x86OpCode opcode ) : byte[]
RetrieveNextOpCode ( ) : x86OpCode
SelectOpCodeFromToken ( x86OpCode matches, byte token ) : x86OpCode

Method Details

Disassemble() public method

Disassembles bytes to a collection of assembly instructions.
public Disassemble ( long rawStartOffset, long length ) : InstructionCollection
rawStartOffset long The starting offset
length long The length. This value is overwritten when the last instruction's bounds are outside of the bounds.
return InstructionCollection

DisassembleNextInstruction() public method

Disassembles the next instruction at the current offset.
public DisassembleNextInstruction ( ) : x86Instruction
return x86Instruction

LoadOpCodes() public method

public LoadOpCodes ( ) : void
return void

x86Disassembler() public method

public x86Disassembler ( ) : System
return System

x86Disassembler() public method

Creates a new instance of a disassembler, by using a stream as input.
public x86Disassembler ( Stream stream ) : System
stream Stream The stream to be disassembled.
return System

x86Disassembler() public method

Creates a new instance of a disassembler, by using an assembly as input.
public x86Disassembler ( Win32Assembly assembly ) : System
assembly Win32Assembly The assembly to be disassembled.
return System

x86Disassembler() public method

Creates a new instance of a disassembler, by using a byte array as input.
public x86Disassembler ( byte bytes ) : System
bytes byte The bytes to be disassembled.
return System