diff --git a/Sources/MachOKit/MachOFile.swift b/Sources/MachOKit/MachOFile.swift index b1c9654..5c58442 100644 --- a/Sources/MachOKit/MachOFile.swift +++ b/Sources/MachOKit/MachOFile.swift @@ -185,10 +185,19 @@ extension MachOFile { guard let dysymtab = loadCommands.dysymtab else { return nil } let offset: UInt64 = numericCast(headerStartOffset) + numericCast(dysymtab.indirectsymoff) + let numberOfElements: Int = numericCast(dysymtab.nindirectsyms) return fileHandle.readDataSequence( offset: offset, - numberOfElements: numericCast(dysymtab.nindirectsyms) + numberOfElements: numberOfElements, + swapHandler: { data in + data.withUnsafeMutableBytes { + let buffer = $0.assumingMemoryBound(to: UInt32.self) + for i in 0 ..< numberOfElements { + buffer[i] = buffer[i].byteSwapped + } + } + } ) } }