github blacktop/ipsw v3.1.400

latest releases: v3.1.556, v3.1.555, v3.1.554...
13 months ago

Highlight

Dump Swift types, protocols, extensions from a MachO

❯ ipsw macho info lockdownmoded --swift --demangle --color
class lockdownmoded.LockdownModeServer: NSObject {
  /* fields */
    var lazy notificationsManager = lockdownmoded.NotificationsManager() ?
    var lazy keyValueStore: NSUbiquitousKeyValueStore?
    var listener: NSXPCListener
    var lazy idsManager = lockdownmoded.IDSManager() ?
    let eventsQueue: OS_dispatch_queue
    var enablementPromptShown: Bool
    var pendingEnablementPrompt: Bool
    var skipNextKVSSync: Bool
    var _cachedEnabled: Bool
    var lazy deviceKVSKey: String?
  /* methods */
    func sub_10000e650 // getter (instance|extra discriminator 0x7de2)
    /* <stripped> setter (instance|extra discriminator 0x3fc6) */
    /* <stripped> modify (instance|extra discriminator 0xe84f) */
    func sub_10000e738 // getter (instance|extra discriminator 0x12c7)
    /* <stripped> setter (instance|extra discriminator 0x43ff) */
    /* <stripped> modify (instance|extra discriminator 0x33c) */
    /* <stripped> getter (instance|extra discriminator 0x3a2c) */
    /* <stripped> setter (instance|extra discriminator 0xbdd) */
    /* <stripped> modify (instance|extra discriminator 0xb754) */
    func sub_10000e7e4 // getter (instance|extra discriminator 0x746c)
    /* <stripped> setter (instance|extra discriminator 0xec53) */
    /* <stripped> modify (instance|extra discriminator 0xd653) */
    /* <stripped> getter (instance|extra discriminator 0x9696) */
    /* <stripped> setter (instance|extra discriminator 0x214a) */
    /* <stripped> modify (instance|extra discriminator 0xc142) */
    /* <stripped> getter (instance|extra discriminator 0x2d3f) */
    /* <stripped> setter (instance|extra discriminator 0xd409) */
    /* <stripped> modify (instance|extra discriminator 0x1b78) */
    /* <stripped> getter (instance|extra discriminator 0x4fc5) */
    /* <stripped> setter (instance|extra discriminator 0xdd2b) */
    /* <stripped> modify (instance|extra discriminator 0x3a55) */
    /* <stripped> getter (instance|extra discriminator 0xe2e) */
    /* <stripped> getter (instance|extra discriminator 0x83ac) */
    /* <stripped> setter (instance|extra discriminator 0x491d) */
    /* <stripped> modify (instance|extra discriminator 0xcc1d) */
    /* <stripped> getter (instance|extra discriminator 0xee1c) */
    /* <stripped> setter (instance|extra discriminator 0xd93f) */
    /* <stripped> modify (instance|extra discriminator 0x3d99) */
    func sub_10000ead0 // getter (instance|extra discriminator 0x39b6)
    /* <stripped> setter (instance|extra discriminator 0x805b) */
    /* <stripped> modify (instance|extra discriminator 0x33ac) */
    func sub_10000ebcc // getter (instance|extra discriminator 0xd050)
    func sub_10000ed04 // setter (instance|extra discriminator 0x6da3)
    /* <stripped> modify (instance|extra discriminator 0x9b8e) */
    func sub_10000eff8 // getter (instance|extra discriminator 0x7087)
    func sub_10000fd30 // method (instance|extra discriminator 0xf139)
    /* <stripped> method (instance|extra discriminator 0x6be7) */
    /* <stripped> method (instance|extra discriminator 0x95c9) */
    /* <stripped> method (instance|extra discriminator 0xfb68) */
    func sub_100011f98 // method (instance|extra discriminator 0x235e)
    func sub_1000121e0 // method (instance|extra discriminator 0x64c1)
    func sub_1000140d0 // method (instance|extra discriminator 0x9457)
    func sub_1000149a4 // method (instance|extra discriminator 0x99e7)
    func sub_100014f84 // method (instance|extra discriminator 0x73a8)
    func sub_1000150a4 // method (instance|extra discriminator 0x6136)
    func sub_100016c18 // method (instance|extra discriminator 0xbb6d)
    /* <stripped> method (instance|extra discriminator 0x71ba) */
    func LockdownModeServer.listener(_:shouldAcceptNewConnection:) // method (instance|extra discriminator 0xa391)
    func LockdownModeServer.setEnabled(enabled:options:completion:) // method (instance|extra discriminator 0x2e65)
    func LockdownModeServer.getEnabledInAccount(synchronize:completion:) // method (instance|extra discriminator 0x1491)
    func LockdownModeServer.notifyRestrictionChanged(_:completion:) // method (instance|extra discriminator 0x2fe7)
    func LockdownModeServer.enableIfNeeded(reboot:completion:) // method (instance|extra discriminator 0xe62b)
    func LockdownModeServer.migrateIfNeeded(completion:) // method (instance|extra discriminator 0x1d1b)
    func LockdownModeServer.rebootIfNeeded(completion:) // method (instance|extra discriminator 0xf94c)
    /* <stripped> method (instance|extra discriminator 0xfb1b) */
    /* <stripped> method (instance|extra discriminator 0xef82) */
    /* <stripped> method (instance|extra discriminator 0x7f51) */
    func sub_10001b5a8 // method (instance|extra discriminator 0x7a9f)
}

<SNIP>

Dump Swift types, protocols, extensions from a DSC dylib 👀

❯ ipsw dsc macho 21B74__iPhone16,2/dyld_shared_cache_arm64e LockdownMode --swift --demangle --color -V

NOTE: the -V adds the addresses and swift-demangles in non-simplified mode

/********
* TYPES *
********/

// 0x227927674
class LockdownMode.LockdownModeXNU {
  /* methods */
    /* 0x2279276ac */ /* <stripped> init (extra discriminator 0x876f) */
}

/****************************************/

// 0x2279276b0
class LockdownMode.LockdownModeManager: __C.NSObject {
  /* fields */
    /* 0x22792784c */ var lazy connection: __C.NSXPCConnection?
}

/****************************************/

// 0x2279276dc
enum LockdownMode.LockdownModeManagerError {
    case invalidConnection // 0x227927868
}

/****************************************/

// 0x2279276f8
struct LockdownMode.Constants {}

/************************
* PROTOCOL CONFORMANCES *
************************/

// 0x227927060
Equatable {
    enum LockdownMode.LockdownModeManagerError

  /* resilient witnesses */
    /* 0x2279257b0 */ static func sub_2279257b0 // method flags: func_impl, __ptrauth(0x97eb)
}

/****************************************/

// 0x227927088
Hashable {
    enum LockdownMode.LockdownModeManagerError

  /* resilient witnesses */
    /* 0x22792778d */  // base protocol
    /* 0x2279257b8 */ func sub_2279257b8 // getter flags: instance, func_impl, __ptrauth(0x026b)
    /* 0x2279257fc */ func sub_2279257fc // method flags: instance, func_impl, __ptrauth(0x3d89)
    /* 0x227925824 */ func sub_227925824 // method flags: instance, func_impl, __ptrauth(0xc41a)
}

/****************************************/

// 0x2279270c8
Error {
    enum LockdownMode.LockdownModeManagerError

  /* resilient witnesses */
    /* 0x227925864 */ func sub_227925864 // getter flags: instance, func_impl, __ptrauth(0x6e08)
    /* 0x227925868 */ func sub_227925868 // getter flags: instance, func_impl, __ptrauth(0xeed6)
    /* 0x22792586c */ func sub_22792586c // getter flags: instance, func_impl, __ptrauth(0x84f8)
    /* 0x227925870 */ func sub_227925870 // method flags: instance, func_impl, __ptrauth(0x1285)
}

/****************************************/

⚠️ NOTE: --demangle only works on macOS for now

Changelog

New Features

Dependency updates

Summary

Full Changelog: v3.1.399...v3.1.400

What to do next?

Don't miss a new ipsw release

NewReleases is sending notifications on new releases.