private void ReadExports(FileStream fs)
{
fs.Seek(ExportOffset, SeekOrigin.Begin);
int pos = ExportOffset;
Exports = new List<ExportEntry>();
for (int i = 0; i < ExportCount; i++)
{
int start = pos;
int clas = ReadInt32(fs, pos);
pos += 8;
int link = ReadInt32(fs, pos);
pos += 4;
int name = ReadInt32(fs, pos);
pos += 16;
int flags = ReadInt32(fs, pos);
pos += 4;
int size = ReadInt32(fs, pos);
pos += 4;
int offset = ReadInt32(fs, pos);
pos += 8;
int count = ReadInt32(fs, pos);
pos += 24 + count * 4;
int len = pos - start;
byte[] buff = new byte[len];
fs.Seek(start, SeekOrigin.Begin);
for (int j = 0; j < len; j++)
buff[j] = (byte)fs.ReadByte();
byte[] buff2 = new byte[size];
fs.Seek(offset, SeekOrigin.Begin);
for (int j = 0; j < size; j++)
buff2[j] = (byte)fs.ReadByte();
byte[] buff3 = new byte[size];
for (int j = 0; j < size; j++)
buff3[j] = buff2[j];
ExportEntry e = new ExportEntry();
e.clas = clas;
e.link = link;
e.name = name;
e.flags = flags;
e.size = size;
e.offset = offset;
e.raw = buff;
e.data = buff2;
e.olddata = buff3;
e.IsChanged = false;
Exports.Add(e);
}
}
private void ReadFreeZone(FileStream fs)