actually supply the ExecutableObjectModel with section data

This commit is contained in:
Michael Becker 2019-12-08 03:54:34 -05:00
parent b2e23c1b2b
commit 7ae8ab9b9b
No known key found for this signature in database
GPG Key ID: 389DFF5D73781A12

View File

@ -227,8 +227,29 @@ namespace UniversalEditor.DataFormats.Executable.ELF
}
br.Accessor.Position = pos;
}
for (int i = 0; i < sections.Count; i++)
{
ExecutableSection sect = new ExecutableSection();
sect.PhysicalAddress = sections[i].offset;
sect.VirtualSize = sections[i].size;
sect.DataRequest += sect_DataRequest;
exe.Sections.Add(sect);
}
}
private void sect_DataRequest(object sender, DataRequestEventArgs e)
{
ExecutableSection sect = (sender as ExecutableSection);
if (sect == null)
return;
Accessor.Reader.Seek(sect.PhysicalAddress, SeekOrigin.Begin);
e.Data = Accessor.Reader.ReadBytes(sect.VirtualSize);
}
protected override void SaveInternal(ObjectModel objectModel)
{