Ejemplo n.º 1
0
		public void Setup()
		{
            var image = new LoadedImage(Address.Ptr32(0x00100000), new byte[1024]);
            var arch = new FakeArchitecture();
            var program = new Program
            {
                Image = image,
                Architecture = arch,
                ImageMap = image.CreateImageMap(),
                Platform = new DefaultPlatform(null, arch),
            };
            store = program.TypeStore;
            factory = program.TypeFactory;
            globals = program.Globals;
			store.EnsureExpressionTypeVariable(factory, globals);

			StructureType s = new StructureType(null, 0);
			s.Fields.Add(0x00100000, PrimitiveType.Word32, null);

			TypeVariable tvGlobals = store.EnsureExpressionTypeVariable(factory, globals);
			EquivalenceClass eqGlobals = new EquivalenceClass(tvGlobals);
			eqGlobals.DataType = s;
			globals.TypeVariable.DataType = new Pointer(eqGlobals, 4);
			globals.DataType = globals.TypeVariable.DataType;

            tcr = new TypedConstantRewriter(program);
		}
Ejemplo n.º 2
0
        public void Setup()
        {
            mem = new MemoryArea(Address.Ptr32(0x00100000), new byte[1024]);
            var arch = new FakeArchitecture();

            this.program = new Program
            {
                Architecture = arch,
                ImageMap     = new ImageMap(
                    mem.BaseAddress,
                    new ImageSegment(".text", mem, AccessMode.ReadWriteExecute)),
                Platform = new DefaultPlatform(null, arch),
            };
            store   = program.TypeStore;
            factory = program.TypeFactory;
            globals = program.Globals;
            store.EnsureExpressionTypeVariable(factory, globals);

            StructureType s = new StructureType(null, 0);

            s.Fields.Add(0x00100000, PrimitiveType.Word32, null);

            TypeVariable     tvGlobals = store.EnsureExpressionTypeVariable(factory, globals);
            EquivalenceClass eqGlobals = new EquivalenceClass(tvGlobals);

            eqGlobals.DataType            = s;
            globals.TypeVariable.DataType = new Pointer(eqGlobals, 4);
            globals.DataType = globals.TypeVariable.DataType;

            tcr = new TypedConstantRewriter(program);
        }
Ejemplo n.º 3
0
        public void Setup()
        {
            var image   = new LoadedImage(Address.Ptr32(0x00100000), new byte[1024]);
            var arch    = new FakeArchitecture();
            var program = new Program
            {
                Image        = image,
                Architecture = arch,
                ImageMap     = image.CreateImageMap(),
                Platform     = new DefaultPlatform(null, arch),
            };

            store   = program.TypeStore;
            factory = program.TypeFactory;
            globals = program.Globals;
            store.EnsureExpressionTypeVariable(factory, globals);

            StructureType s = new StructureType(null, 0);

            s.Fields.Add(0x00100000, PrimitiveType.Word32, null);

            TypeVariable     tvGlobals = store.EnsureExpressionTypeVariable(factory, globals);
            EquivalenceClass eqGlobals = new EquivalenceClass(tvGlobals);

            eqGlobals.DataType            = s;
            globals.TypeVariable.DataType = new Pointer(eqGlobals, 4);
            globals.DataType = globals.TypeVariable.DataType;

            tcr = new TypedConstantRewriter(program);
        }
Ejemplo n.º 4
0
 public TypedExpressionRewriter(Program program)
 {
     this.program = program;
     this.globals = program.Globals;
     this.compTypes = new DataTypeComparer();
     this.tcr = new TypedConstantRewriter(program);
     this.m = new ExpressionEmitter();
     this.unifier = new Unifier();
 }
Ejemplo n.º 5
0
 public TypedExpressionRewriter(Program program, DecompilerEventListener eventListener)
 {
     this.program = program;
     this.globals = program.Globals;
     this.eventListener = eventListener;
     this.compTypes = new DataTypeComparer();
     this.tcr = new TypedConstantRewriter(program, eventListener);
     this.m = new ExpressionEmitter();
     this.unifier = new Unifier();
 }
Ejemplo n.º 6
0
		public TypedExpressionRewriter(Program prog)
		{
            this.prog = prog;
            this.platform = prog.Platform;
			this.store = prog.TypeStore;
            this.globals = prog.Globals;
			this.compTypes = new DataTypeComparer();
			this.tcr = new TypedConstantRewriter(prog);
            this.m = new ExpressionEmitter();
            this.unifier = new Unifier();
		}
 private void Given_TypedConstantRewriter()
 {
     tcr = new TypedConstantRewriter(program, new FakeDecompilerEventListener());
 }
Ejemplo n.º 8
0
 private void Given_TypedConstantRewriter()
 {
     tcr = new TypedConstantRewriter(program, new FakeDecompilerEventListener());
 }