public void AppendEntry(MachOFatEntry entry) { if (!FatEntries.Any(v => v.cputype == entry.cputype)) { FatEntries.Add(new MachOFatEntry() { cputype = entry.cputype, cpusubtype = entry.cpusubtype, offset = 0, size = entry.size, align = entry.align, srcentry = entry, archentry = entry.archentry }); } }
private void ReadFatFile(BinaryReaderBigEndian reader) { var numArchs = reader.ReadUInt32(); Console.WriteLine($"Found Mach-O Universal with {numArchs} items"); for (var i = 0; i < numArchs; i++) { var entry = new MachOFatEntry { cputype = (MachOCpuType)reader.ReadUInt32(), cpusubtype = (MachOCpuSubType)reader.ReadUInt32(), offset = reader.ReadUInt32(), size = reader.ReadUInt32(), align = reader.ReadUInt32() }; Console.WriteLine($" - {entry.cputype} at offset {entry.offset} size {entry.size}"); _fatEntries.Add(entry); } }