public void Hunk_LoadEmpty() { var bytes = mh.MakeBytes( HunkType.HUNK_HEADER, "", 0, 0, 0, 0); var ldr = new HunkLoader(sc, "foo.bar", bytes); var ldImg = ldr.LoadProgram(Address.Ptr32(0x00010000)); Assert.AreEqual(1, ldImg.SegmentMap.Segments.Count); Assert.AreEqual(Address.Ptr32(0x00010000), ldImg.SegmentMap.Segments.Values[0].Address); }
public void Hunk_LoadCode() { var bytes = mh.MakeBytes( HunkType.HUNK_HEADER, "CODE", "", 1, 0, 0, 0x40, HunkType.HUNK_CODE, 1, (ushort)0x4E75, (ushort)0, HunkType.HUNK_END); var ldr = new HunkLoader(sc, ImageLocation.FromUri("file:foo.bar"), bytes); var program = ldr.LoadProgram(Address.Ptr32(0x00010000)); Assert.AreEqual(1, program.EntryPoints.Count); Assert.AreEqual(0x00010000ul, program.EntryPoints.Values.First().Address.ToLinear()); }
public void Hunk_LoadCode() { var bytes = mh.MakeBytes( HunkType.HUNK_HEADER, "CODE", "", 1, 0, 0, 0x40, HunkType.HUNK_CODE, 1, (ushort)0x4E75, (ushort)0, HunkType.HUNK_END); var ldr = new HunkLoader(sc, "foo.bar", bytes); var program = ldr.LoadProgram(Address.Ptr32(0x00010000)); var rlImg = ldr.Relocate(program, Address.Ptr32(0x00010000)); Assert.AreEqual(1, rlImg.EntryPoints.Count); Assert.AreEqual(0x00010000ul, rlImg.EntryPoints[0].Address.ToLinear()); }