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
- 1a8bcd6: chore(deps): bump @babel/traverse from 7.21.5 to 7.23.2 in /www (#341) (@dependabot[bot])
Summary
Full Changelog: v3.1.399...v3.1.400
What to do next?
- Read the documentation
- Follow us on Twitter
- Follow us on Mastodon