Example #1
0
        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);
        }