AppStatus/The Unarchiver

Problems

Bad dyld resolve order

Current order:

  • Load all dependencies
  • For every dependency, resolve symbols
  • Resolve symbols of the main executable

Should be:

  • Load all dependencies
  • Resolve all symbols at once

The first order works for many apps, but doesn't work with missing inter-lib dependencies.

FIXED

Missing features

  • Apple Events - AE* functions, NSAppleEventDescriptor
  • Carbon functions
    • FSPath*, FSSetCatalogInfo, CFUrlGetFSRef
    • Launch Services: LSCopyItemAttribute, LSSetItemAttribute
    • ApplicationServices: UCConvertUTCDateTimeToCFAbsoluteTime
  • OBJC_EHTYPE_id dummy - FIXED