private X86Instruction Disassemble32(params byte[] bytes) { var mem = new MemoryArea(Address.Ptr32(0x0010_0000), bytes); var rdr = mem.CreateLeReader(0); var dasm = arch.CreateDisassembler(rdr); return((X86Instruction)dasm.First()); }
public static string Execute(string sAddress, string sOTherArg) { //Thread.Sleep(5000); // Simulate a slow running thread. var rnd = new Random(); var buf = new byte[100]; rnd.NextBytes(buf); var mem = new ByteMemoryArea(Address.Ptr32(0x00123400), buf); var arch = new X86ArchitectureFlat32(new ServiceContainer(), "x86-protected-32", new Dictionary <string, object>()); var rdr = arch.Endianness.CreateImageReader(mem, mem.BaseAddress); var dasm = arch.CreateDisassembler(rdr); var sw = new StringWriter(); var renderer = new HtmlMachineInstructionRenderer(sw); var options = new MachineInstructionRendererOptions(); foreach (var instr in dasm) { instr.Render(renderer, options); } var sDasm = sw.ToString(); return(sDasm); }