Beispiel #1
0
 private void Given_Contexts()
 {
     frame     = new Frame(PrimitiveType.Pointer32);
     ctx       = new SymbolicEvaluationContext(arch, frame);
     blockflow = new BlockFlow(null, arch.CreateRegisterBitset(), ctx);
     trf.EnsureEvaluationContext(blockflow);
 }
 private void Given_Contexts()
 {
     frame     = new Frame(PrimitiveType.Ptr32);
     ctx       = new SymbolicEvaluationContext(arch, frame);
     blockflow = new BlockFlow(null, new HashSet <RegisterStorage>(), ctx);
     trf.EnsureEvaluationContext(blockflow);
 }
Beispiel #3
0
        public void TrfOutParameters()
        {
            var r2  = m.Register(2);
            var stm = m.SideEffect(m.Fn("Hello", m.AddrOf(r2)));

            trf = CreateTrashedRegisterFinder();
            trf.EnsureEvaluationContext(CreateBlockFlow(m.Block, m.Frame));

            stm.Instruction.Accept(trf);
            Assert.AreEqual("<invalid>", trf.RegisterSymbolicValues[(RegisterStorage)r2.Storage].ToString());
        }
        public void TrfOutParameters()
        {
            var r2 = m.Register(2);
            var stm = m.SideEffect(m.Fn("Hello", m.AddrOf(r2)));

            trf = CreateTrashedRegisterFinder();
            trf.EnsureEvaluationContext(CreateBlockFlow(m.Block, m.Frame));

            stm.Instruction.Accept(trf);
            Assert.AreEqual("<invalid>", trf.RegisterSymbolicValues[(RegisterStorage) r2.Storage].ToString());
        }