Ejemplo n.º 1
0
 public AlphaDisassembler(AlphaArchitecture arch, EndianImageReader rdr)
 {
     this.arch = arch;
     this.rdr  = rdr;
     this.addr = null !;
 }
Ejemplo n.º 2
0
 public override Address ReadCodeAddress(int size, EndianImageReader rdr, ProcessorState state)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 3
0
 public override IEnumerable <Address> CreatePointerScanner(SegmentMap map, EndianImageReader rdr, IEnumerable <Address> knownAddresses, PointerScannerFlags flags)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 4
0
 public MicroMipsDisassembler(MipsProcessorArchitecture arch, EndianImageReader rdr)
 {
     this.arch = arch;
     this.rdr  = rdr;
     this.ops  = new List <MachineOperand>();
 }
Ejemplo n.º 5
0
        public override IEnumerable <Address> CreatePointerScanner(SegmentMap map, EndianImageReader rdr, IEnumerable <Address> knownAddresses, PointerScannerFlags flags)
        {
            var knownLinAddresses = knownAddresses.Select(a => (uint)a.ToLinear()).ToHashSet();

            return(new MipsPointerScanner32(rdr, knownLinAddresses, flags).Select(l => Address.Ptr32(l)));
        }
Ejemplo n.º 6
0
 public override IEnumerable <Address> CreatePointerScanner(SegmentMap map, EndianImageReader rdr, IEnumerable <Address> knownAddresses, PointerScannerFlags flags)
 {
     return(mode.CreateInstructionScanner(map, rdr, knownAddresses, flags));
 }
Ejemplo n.º 7
0
 public override bool TryPeekOpcode(EndianImageReader rdr, out uint opcode)
 {
     return(rdr.TryPeekUInt32(0, out opcode));
 }
Ejemplo n.º 8
0
 public override void ApplyRelocation(Address baseOfImage, uint page, EndianImageReader rdr, RelocationDictionary relocations)
 {
     //$TODO: where to find docs for this? :-)
     rdr.ReadLeUInt32();
 }
Ejemplo n.º 9
0
 public ThumbRewriterRetired(Dictionary <int, RegisterStorage> regs, INativeArchitecture nArch, EndianImageReader rdr, AArch32ProcessorState state, IStorageBinder binder, IRewriterHost host)
 {
     this.regs   = regs;
     this.nArch  = nArch;
     this.rdr    = rdr;
     this.binder = binder;
     this.host   = host;
 }
Ejemplo n.º 10
0
 public Cray1Disassembler(Cray1Architecture arch, EndianImageReader rdr)
 {
     this.arch = arch;
     this.rdr  = rdr;
     this.ops  = new List <MachineOperand>();
 }
Ejemplo n.º 11
0
 public Tlcs90Disassembler(Tlcs90Architecture arch, EndianImageReader rdr)
 {
     this.arch = arch;
     this.rdr  = rdr;
 }
Ejemplo n.º 12
0
 public CilDisassembler(EndianImageReader rdr)
 {
     this.rdr = rdr;
 }
Ejemplo n.º 13
0
 public override IEnumerable<Address> CreatePointerScanner(SegmentMap map, EndianImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags)
 {
     return new Arm32PointerScanner(rdr, knownAddresses.Select(a => a.ToUInt32()).ToHashSet(), flags)
         .Select(lin => Address.Ptr32(lin));
 }
Ejemplo n.º 14
0
 private IEnumerator <Arm32Instruction> CreateInstructionStream(EndianImageReader rdr)
 {
     return(new Arm32Disassembler(arch, rdr).GetEnumerator());
 }
Ejemplo n.º 15
0
 public IEnumerable <MachineInstruction> CreateDisassembler(EndianImageReader imageReader)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 16
0
 /// <summary>
 /// Instantiates a new Basic-Range PIC16 disassembler.
 /// </summary>
 /// <param name="arch">The PIC architecture.</param>
 /// <param name="rdr">The memory segment reader.</param>
 protected PIC16BasicDisasm(PICArchitecture arch, EndianImageReader rdr)
     : base(arch, rdr)
 {
 }
Ejemplo n.º 17
0
        private void AddSection(SegmentMap segmentMap, uint size, uint flags, uint reserved1, uint reserved2, uint protection, Address addr, EndianImageReader bytes, string name)
        {
            AccessMode am = 0;

            if ((protection & VM_PROT_READ) != 0)
            {
                am |= AccessMode.Read;
            }
            if ((protection & VM_PROT_WRITE) != 0)
            {
                am |= AccessMode.Write;
            }
            if ((protection & VM_PROT_EXECUTE) != 0)
            {
                am |= AccessMode.Execute;
            }

            var mem          = new MemoryArea(addr, bytes.ReadBytes((uint)size));
            var machoSection = new MachOSection(name, addr, (SectionFlags)flags, reserved1, reserved2);
            var imageSection = new ImageSegment(name, mem, am);

            ldr.imageSections.Add(machoSection, imageSection);

            this.ldr.sections.Add(machoSection);
            this.ldr.sectionsByName.Add(imageSection.Name, machoSection);
            if (imageSection.Size > 0)
            {
                segmentMap.AddSegment(imageSection);
            }
        }
Ejemplo n.º 18
0
 private IEnumerable <SparcInstruction> CreateDisassemblyStream(EndianImageReader rdr)
 {
     return(new SparcDisassembler(arch, arch.Decoder, rdr));
 }
Ejemplo n.º 19
0
 public X86Disassembler CreateDisassemblerImpl(EndianImageReader imageReader)
 {
     return(mode.CreateDisassembler(this.Services, EnsureRootDecoders(), imageReader, Options));
 }
Ejemplo n.º 20
0
 public override IEnumerable <RtlInstructionCluster> CreateRewriter(EndianImageReader rdr, ProcessorState state, IStorageBinder binder, IRewriterHost host)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 21
0
 public override bool TryPeekPointer(EndianImageReader rdr, out uint target)
 {
     return(rdr.TryPeekUInt32(0, out target));
 }
Ejemplo n.º 22
0
 public PowerPcDisassembler(PowerPcArchitecture arch, Decoder [] primaryDecoders, EndianImageReader rdr, PrimitiveType defaultWordWidth)
 {
     this.arch             = arch;
     this.rdr              = rdr;
     this.defaultWordWidth = defaultWordWidth;
     this.primaryDecoders  = primaryDecoders;
 }
Ejemplo n.º 23
0
 public override IEnumerable <RtlInstructionCluster> CreateRewriter(EndianImageReader rdr, ProcessorState state, IStorageBinder binder, IRewriterHost host)
 {
     return(new Msp430Rewriter(this, rdr, state, binder, host));
 }
Ejemplo n.º 24
0
 public override IEnumerable <MachineInstruction> CreateDisassembler(EndianImageReader rdr)
 {
     return(new XtensaDisassembler(this, rdr));
 }
Ejemplo n.º 25
0
 public override bool TryPeekPointer(EndianImageReader rdr, out ushort target)
 {
     return(rdr.TryPeekLeUInt16(0, out target));
 }
Ejemplo n.º 26
0
 public IEnumerable <RtlInstructionCluster> CreateRewriter(EndianImageReader rdr, ProcessorState state, Frame frame, IRewriterHost host)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 27
0
 public override IEnumerable <MachineInstruction> CreateDisassembler(EndianImageReader imageReader)
 {
     return(new ThumbDisassembler(imageReader));
 }
Ejemplo n.º 28
0
 public ProcedureBase GetTrampolineDestination(EndianImageReader rdr, IRewriterHost host)
 {
     return(null);
 }
Ejemplo n.º 29
0
 public override IEnumerable <RtlInstructionCluster> CreateRewriter(EndianImageReader rdr, ProcessorState state, IStorageBinder frame, IRewriterHost host)
 {
     return(new ThumbRewriter(this, rdr, (ArmProcessorState)state, frame, host));
 }
Ejemplo n.º 30
0
 public SuperHDisassembler(SuperHArchitecture arch, EndianImageReader rdr)
 {
     this.arch  = arch;
     this.rdr   = rdr;
     this.state = new DasmState();
 }