コード例 #1
0
ファイル: ElfImageLoaderTests.cs プロジェクト: nemerle/reko
        public void EIL_Load()
        {
            var el = new ElfImageLoader(sc, "foo", rawImg);

            el.LoadElfIdentification();
            var lr = el.LoadProgram(Address.Ptr32(0));

            Assert.AreSame(arch.Object, lr.Architecture);
        }
コード例 #2
0
        public override Program LoadProgram(Address?addrLoad)
        {
            var sr  = new StructureReader <MorphosHeader>(new BeImageReader(this.RawImage));
            var hdr = sr.Read();
            var embeddedElfImage = new byte[this.RawImage.Length - hdr.ElfOffset];

            //$PERF: this is a prime candidate for Span<T>
            Array.Copy(this.RawImage, hdr.ElfOffset, embeddedElfImage, 0, embeddedElfImage.Length);
            this.elfLdr = new ElfImageLoader(this.Services, this.ImageLocation, embeddedElfImage);
            var program = elfLdr.LoadProgram(addrLoad);

            return(program);
        }