Skip to content

Releases: MxIris-Reverse-Engineering/MachOSwiftSection

0.8.0-beta.1

11 Jan 17:09

Choose a tag to compare

0.8.0-beta.1 Pre-release
Pre-release

Release Notes

Major Features

In-Process Metadata Resolution

  • Enable direct runtime metadata access for in-process binaries
  • Add MetadataReader in-process support
  • All ABI structures now support InProcess version
  • Add metatype cast function for runtime type introspection
  • Support metadata accessor resolution on arm64e

Multi-Payload Enum Layout Calculator

  • Complete implementation for calculating multi-payload enum memory layouts
  • Fix tagged multi-payload layout calculation
  • Fix multiPayloadEnumDescriptor spare bits reading
  • Add printTypeLayout and printEnumLayout options

SemanticString Performance Optimization

  • Significant performance improvements for semantic string building

Improvements

  • Add preferredBinaryOrder support for SwiftDump
  • Add convenience properties for EnumDescriptor
  • Increase underlying type unfolding for opaque types
  • Unit testing now supports iOS/watchOS/tvOS platforms
  • Better error handling in SwiftInterfaceBuilder (non-throwing print methods)
  • Add asyncSuspendResumePartialFunction handling in NodePrinters
  • Add precompiled swift-syntax for faster build times

Bug Fixes

  • Fix MetadataAccessor resolve on in-process
  • Fix MetadataAccessor crash on arm64e
  • Fix associated type demangle errors
  • Fix internalSymbols not being processed
  • Fix various testing errors

API Changes

  • Rename MachOReadable protocol to Readable
  • Rename SharedCache.Entry to SharedCache.Storage

0.7.1

30 Nov 18:15
c224449

Choose a tag to compare

  • Fix potential arm64e crashes

  • Fix incorrect judgment of whether Enum case is a tuple

  • Improve SwiftInterface module API

  • TypeIndexing module becomes optional (available after macOS 13.0), backporting the main library to macOS 10.15

0.7.0

15 Nov 14:22
254a543

Choose a tag to compare

What's Changed

This update brings the ability to generate swiftinterface

0.7.0-RC

26 Oct 22:57

Choose a tag to compare

0.7.0-RC Pre-release
Pre-release

0.6.0

05 Jul 08:32
f87ea98

Choose a tag to compare

What's Changed

  • Fixed the issue of symbol confusion with Protocols and Protocol Conformances. The cause was that the Swift compiler optimizes by storing different symbols with the same implementation at the same offset/address, commonly seen in default implementations of some conformances.

  • By traversing the symbol table, it is now possible to dump computed properties and static computed properties of types, as well as functions and static functions excluding the class virtual table.

  • Fixed the issue of nominal type generic parameter errors. For nominal types with a parent type, the generic context's params and requirements carry all the parent's params and requirements. For example: Ancestor<A, B>.Parent<A1, B1>.Current. Previous versions would define Ancestor's A, B and Parent's A1, B1 together in Current. The new version corrects this issue and adds the correct generic parameter depth.

Full Changelog: 0.5.0...0.6.0

0.5.0

22 Jun 14:31
bca86ee

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.4.1...0.5.0

0.4.1

16 Jun 14:49

Choose a tag to compare

  • Fixed an issue where demangle might fail for iOS 26 MachO files

  • Now if a demangle type fails, an error message will be printed without terminating the program

  • Added a new interface DemangleOptions, the printed information is closer to swift-interface

0.4.0

14 Jun 13:59
5d3db26

Choose a tag to compare

Added CLI for MachOSwiftSection