Exemple #1
0
        public void Fstsw_Setup()
        {
            arch = new X86ArchitectureFlat32();
            asm  = new X86Assembler(null, new DefaultPlatform(null, new X86ArchitectureFlat32()), Address.Ptr32(0x10000), new List <ImageSymbol>());
            Procedure proc = new Procedure("test", arch.CreateFrame());

            orw     = new OperandRewriter32(arch, new ExpressionEmitter(), proc.Frame, null);
            emitter = new ProcedureBuilder();
        }
        public void Fstsw_Setup()
        {
            arch = new X86ArchitectureFlat32(new ServiceContainer(), "x86-protected-32", new Dictionary <string, object>());
            asm  = new X86Assembler(arch, Address.Ptr32(0x10000), new List <ImageSymbol>());
            Procedure proc = new Procedure(arch, "test", Address.Ptr32(0x00123400), arch.CreateFrame());

            orw     = new OperandRewriter32(arch, new ExpressionEmitter(), proc.Frame, null);
            emitter = new ProcedureBuilder();
        }
Exemple #3
0
        public void Fstsw_Setup()
        {
            arch = new IntelArchitecture(ProcessorMode.Protected32);
            asm  = new X86Assembler(arch, Address.Ptr32(0x10000), new List <EntryPoint>());
            Procedure proc = new Procedure("test", arch.CreateFrame());

            orw     = new OperandRewriter32(arch, proc.Frame, null);
            emitter = new ProcedureBuilder();
        }
Exemple #4
0
        public void M68korw_MemOp()
        {
            var orw = new OperandRewriter(
                arch,
                new RtlEmitter(new List <RtlInstruction>()),
                new Frame(arch.FramePointerType),
                PrimitiveType.Byte);
            var exp = orw.RewriteSrc(new MemoryOperand(PrimitiveType.Byte, Registers.a1, Constant.Int16(4)), addrInstr);

            var ea = (BinaryExpression)((MemoryAccess)exp).EffectiveAddress;

            Assert.AreEqual(ea.Left.DataType.Size, ea.Right.DataType.Size);
        }
Exemple #5
0
        public void Setup()
        {
            prog       = new Program();
            prog.Image = new LoadedImage(Address.Ptr32(0x10000), new byte[4]);
            var procAddress = Address.Ptr32(0x10000000);

            instr = new X86Instruction(Opcode.nop, PrimitiveType.Word32, PrimitiveType.Word32)
            {
                Address = procAddress,
            };
            proc  = Procedure.Create(procAddress, arch.CreateFrame());
            state = (X86State)arch.CreateProcessorState();
            orw   = new OperandRewriter32(arch, proc.Frame, new FakeRewriterHost(prog));
        }
        public void Setup()
        {
            var mem = new ByteMemoryArea(Address.Ptr32(0x10000), new byte[4]);

            program = new Program
            {
                SegmentMap = new SegmentMap(
                    mem.BaseAddress,
                    new ImageSegment(".text", mem, AccessMode.ReadExecute))
            };
            var procAddress = Address.Ptr32(0x10000000);

            instr = new X86Instruction(Mnemonic.nop, InstrClass.Linear, PrimitiveType.Word32, PrimitiveType.Word32)
            {
                Address = procAddress,
            };
            proc = Procedure.Create(arch, procAddress, arch.CreateFrame());
            orw  = new OperandRewriter32(arch, new ExpressionEmitter(), proc.Frame, new FakeRewriterHost(program));
        }
Exemple #7
0
        public void Setup()
        {
            var mem = new MemoryArea(Address.Ptr32(0x10000), new byte[4]);

            program = new Program
            {
                SegmentMap = new SegmentMap(
                    mem.BaseAddress,
                    new ImageSegment(".text", mem, AccessMode.ReadExecute))
            };
            var procAddress = Address.Ptr32(0x10000000);

            instr = new X86Instruction(Opcode.nop, PrimitiveType.Word32, PrimitiveType.Word32)
            {
                Address = procAddress,
            };
            proc  = Procedure.Create(procAddress, arch.CreateFrame());
            state = (X86State)arch.CreateProcessorState();
            orw   = new OperandRewriter32(arch, proc.Frame, new FakeRewriterHost(program));
        }
Exemple #8
0
        public void Setup()
        {
            arch = new IntelArchitecture(ProcessorMode.Real);
            var image = new LoadedImage(Address.Ptr32(0x10000), new byte[4]);
            var prog  = new Program(
                image,
                image.CreateImageMap(),
                arch,
                null);
            var procAddress = Address.Ptr32(0x10000000);

            instr = new X86Instruction(Opcode.nop, PrimitiveType.Word16, PrimitiveType.Word16)
            {
                Address = procAddress,
            };

            proc  = Procedure.Create(procAddress, arch.CreateFrame());
            orw   = new OperandRewriter16(arch, proc.Frame, new FakeRewriterHost(prog));
            state = (X86State)arch.CreateProcessorState();
        }
        public void Setup()
        {
            arch = new X86ArchitectureReal("x86-real-16");
            var mem     = new MemoryArea(Address.Ptr32(0x10000), new byte[4]);
            var program = new Program(
                new SegmentMap(
                    mem.BaseAddress,
                    new ImageSegment(
                        "code", mem, AccessMode.ReadWriteExecute)),
                arch,
                new DefaultPlatform(null, arch));
            var procAddress = Address.Ptr32(0x10000000);

            instr = new X86Instruction(Mnemonic.nop, InstrClass.Linear, PrimitiveType.Word16, PrimitiveType.Word16)
            {
                Address = procAddress,
            };

            proc  = Procedure.Create(arch, procAddress, arch.CreateFrame());
            orw   = new OperandRewriter16(arch, new ExpressionEmitter(), proc.Frame, new FakeRewriterHost(program));
            state = (X86State)arch.CreateProcessorState();
        }
 public StringInstructionRewriter(IntelArchitecture arch, OperandRewriter orw)
 {
     this.arch = arch;
     this.orw  = orw;
 }