Ejemplo n.º 1
0
        protected override IEnumerable <RtlInstructionCluster> GetRtlStream(MemoryArea mem, IStorageBinder binder, IRewriterHost host)
        {
            var rdr   = Architecture.CreateImageReader(mem, 0);
            var state = Architecture.CreateProcessorState();

            return(Architecture.CreateRewriter(rdr, state, binder, host));
        }
Ejemplo n.º 2
0
 // Convenience functions.
 public EndianImageReader CreateImageReader(Address addr)
 {
     if (!SegmentMap.TryFindSegment(addr, out var segment))
     {
         throw new ArgumentException(string.Format("The address {0} is invalid.", addr));
     }
     return(Architecture.CreateImageReader(segment.MemoryArea, addr));
 }
Ejemplo n.º 3
0
 public IEnumerable <MachineInstruction> CreateDisassembler(Address addr)
 {
     if (!SegmentMap.TryFindSegment(addr, out var segment))
     {
         throw new ArgumentException(string.Format("The address {0} is invalid.", addr));
     }
     return(Architecture.CreateDisassembler(
                Architecture.CreateImageReader(segment.MemoryArea, addr)));
 }
Ejemplo n.º 4
0
        public TInstruction Disassemble(MemoryArea img)
        {
            var dasm = Architecture.CreateDisassembler(Architecture.CreateImageReader(img, 0U));

            return((TInstruction)dasm.First());
        }
Ejemplo n.º 5
0
 public IEnumerable <MachineInstruction> CreateDisassembler(Address addr)
 {
     return(Architecture.CreateDisassembler(
                Architecture.CreateImageReader(Image, addr)));
 }
Ejemplo n.º 6
0
 public ImageReader CreateImageReader(Address addr)
 {
     return(Architecture.CreateImageReader(Image, addr));
 }