public unsafe static Instruction PeekDecode(this Decoder RefDecoder) { var NewMem = new MemoryCodeReader((void *)RefDecoder.IP); var NewDecoder = Decoder.Create(RefDecoder.Bitness, NewMem); NewDecoder.IP = RefDecoder.IP; return(NewDecoder.Decode()); }
public unsafe static InstructionList AssembleToList(this Assembler Assembler, ulong RIP) { var CWBuffer = new MemoryCodeWriter(); Assembler.Assemble(CWBuffer, RIP); var Buffer = CWBuffer.ToArray(); fixed(void *pBuffer = &Buffer[0]) { using (var Reader = new MemoryCodeReader(pBuffer, (uint)Buffer.Length)) { var AsmDecoder = Decoder.Create(Assembler.Bitness, Reader); return(AsmDecoder.DecodeAmount((uint)Assembler.Instructions.Count)); } } }