Ejemplo n.º 1
0
 public bool SetContextData(eContextData reg, rulong value)
 {
     switch (reg)
     {
     case eContextData.UE_EIP:
         var cAddr = Constant.Create(arch.PointerType, value);
         emu.InstructionPointer = arch.MakeAddressFromConstant(cAddr, true);
         return(true);
     }
     throw new NotImplementedException();
 }
Ejemplo n.º 2
0
 private Constant ReadValue(DataType dt, Expression eAddr)
 {
     if (eAddr is Constant cAddr)
     {
         var addr = arch.MakeAddressFromConstant(cAddr);
         if (!segmentMap.TryFindSegment(addr, out ImageSegment seg))
         {
             return(Constant.Invalid);
         }
         var rdr = arch.CreateImageReader(seg.MemoryArea, addr);
         memAccesses[addr] = dt;
         if (!rdr.TryRead((PrimitiveType)dt, out var c))
         {
             return(Constant.Invalid);
         }
         else
         {
             return(c);
         }
     }
     throw new NotImplementedException();
 }