Compare commits

..

No commits in common. "0d9c1b04081945171c8a329474a3ab265b234634" and "437cdc5b1b69fdb4041600a0a74bc5c05a5f9fe7" have entirely different histories.

53 changed files with 3771 additions and 4041 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -6,5 +6,5 @@ Author: XYZShell
Section: Utilities Section: Utilities
Tag: role::developer Tag: role::developer
Architecture: iphoneos-arm Architecture: iphoneos-arm
Version: 0.0.7-10-117+debug Version: 0.0.7-10-80+debug
Installed-Size: 1700 Installed-Size: 1696

View File

@ -1 +1 @@
./packages/com.xyzshell.ioscontrol_0.0.7-10-117+debug_iphoneos-arm.deb ./packages/com.xyzshell.ioscontrol_0.0.7-10-80+debug_iphoneos-arm.deb

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,192 +2,201 @@
triple: 'arm64-apple-darwin' triple: 'arm64-apple-darwin'
binary-path: '/Users/mac/workspaces/projects/ios-change/old-ios-hook/.theos/obj/debug/arm64/OhNo.dylib' binary-path: '/Users/mac/workspaces/projects/ios-change/old-ios-hook/.theos/obj/debug/arm64/OhNo.dylib'
relocations: relocations:
- { offset: 0x51, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x1EEA0, symBinAddr: 0x121B0, symSize: 0x0 } - { offset: 0x7D, size: 0x8, addend: 0x0, symName: _settings, symBinAddr: 0x16070, symSize: 0x0 }
- { offset: 0xE9, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x1EEA8, symBinAddr: 0x121B8, symSize: 0x0 } - { offset: 0xF0, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x26FC0, symBinAddr: 0x15EA8, symSize: 0x0 }
- { offset: 0x183, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x1EEB0, symBinAddr: 0x121C0, symSize: 0x0 } - { offset: 0x163, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x26FC8, symBinAddr: 0x15EB0, symSize: 0x0 }
- { offset: 0x218, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x1EEB8, symBinAddr: 0x121C8, symSize: 0x0 } - { offset: 0x1FD, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x26FD0, symBinAddr: 0x15EB8, symSize: 0x0 }
- { offset: 0x254, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$identifierForVendor', symObjAddr: 0x1EEC0, symBinAddr: 0x121D0, symSize: 0x0 } - { offset: 0x27B, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x26FD8, symBinAddr: 0x15EC0, symSize: 0x0 }
- { offset: 0x441, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$name', symObjAddr: 0x1EEC8, symBinAddr: 0x121D8, symSize: 0x0 } - { offset: 0x2B7, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$identifierForVendor', symObjAddr: 0x26FE0, symBinAddr: 0x15EC8, symSize: 0x0 }
- { offset: 0x46B, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$model', symObjAddr: 0x1EED0, symBinAddr: 0x121E0, symSize: 0x0 } - { offset: 0x492, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$name', symObjAddr: 0x26FE8, symBinAddr: 0x15ED0, symSize: 0x0 }
- { offset: 0x480, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$localizedModel', symObjAddr: 0x1EED8, symBinAddr: 0x121E8, symSize: 0x0 } - { offset: 0x4BC, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$model', symObjAddr: 0x26FF0, symBinAddr: 0x15ED8, symSize: 0x0 }
- { offset: 0x495, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$systemName', symObjAddr: 0x1EEE0, symBinAddr: 0x121F0, symSize: 0x0 } - { offset: 0x4D1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$localizedModel', symObjAddr: 0x26FF8, symBinAddr: 0x15EE0, symSize: 0x0 }
- { offset: 0x4AA, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$systemVersion', symObjAddr: 0x1EEE8, symBinAddr: 0x121F8, symSize: 0x0 } - { offset: 0x4E6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$systemName', symObjAddr: 0x27000, symBinAddr: 0x15EE8, symSize: 0x0 }
- { offset: 0x4BF, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$batteryState', symObjAddr: 0x1EEF0, symBinAddr: 0x12200, symSize: 0x0 } - { offset: 0x4FB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$systemVersion', symObjAddr: 0x27008, symBinAddr: 0x15EF0, symSize: 0x0 }
- { offset: 0x4E9, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$batteryLevel', symObjAddr: 0x1EEF8, symBinAddr: 0x12208, symSize: 0x0 } - { offset: 0x510, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$batteryState', symObjAddr: 0x27010, symBinAddr: 0x15EF8, symSize: 0x0 }
- { offset: 0x513, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$orientation', symObjAddr: 0x1EF00, symBinAddr: 0x12210, symSize: 0x0 } - { offset: 0x53A, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$batteryLevel', symObjAddr: 0x27018, symBinAddr: 0x15F00, symSize: 0x0 }
- { offset: 0x53D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$systemUptime', symObjAddr: 0x1EF08, symBinAddr: 0x12218, symSize: 0x0 } - { offset: 0x564, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$orientation', symObjAddr: 0x27020, symBinAddr: 0x15F08, symSize: 0x0 }
- { offset: 0x709, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$physicalMemory', symObjAddr: 0x1EF10, symBinAddr: 0x12220, symSize: 0x0 } - { offset: 0x58E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$systemUptime', symObjAddr: 0x27028, symBinAddr: 0x15F10, symSize: 0x0 }
- { offset: 0x733, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$processorCount', symObjAddr: 0x1EF18, symBinAddr: 0x12228, symSize: 0x0 } - { offset: 0x738, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$physicalMemory', symObjAddr: 0x27030, symBinAddr: 0x15F18, symSize: 0x0 }
- { offset: 0x75D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x1EF20, symBinAddr: 0x12230, symSize: 0x0 } - { offset: 0x762, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$processorCount', symObjAddr: 0x27038, symBinAddr: 0x15F20, symSize: 0x0 }
- { offset: 0x787, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIWindow$safeAreaInsets', symObjAddr: 0x1EF28, symBinAddr: 0x12238, symSize: 0x0 } - { offset: 0x78C, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x27040, symBinAddr: 0x15F28, symSize: 0x0 }
- { offset: 0x24B5, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$brightness', symObjAddr: 0x1EF30, symBinAddr: 0x12240, symSize: 0x0 } - { offset: 0x7B6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIWindow$safeAreaInsets', symObjAddr: 0x27048, symBinAddr: 0x15F30, symSize: 0x0 }
- { offset: 0x24E4, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$bounds', symObjAddr: 0x1EF38, symBinAddr: 0x12248, symSize: 0x0 } - { offset: 0x24E4, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$brightness', symObjAddr: 0x27050, symBinAddr: 0x15F38, symSize: 0x0 }
- { offset: 0x250E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$scale', symObjAddr: 0x1EF40, symBinAddr: 0x12250, symSize: 0x0 } - { offset: 0x2513, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$bounds', symObjAddr: 0x27058, symBinAddr: 0x15F40, symSize: 0x0 }
- { offset: 0x2523, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$nativeBounds', symObjAddr: 0x1EF48, symBinAddr: 0x12258, symSize: 0x0 } - { offset: 0x253D, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$scale', symObjAddr: 0x27060, symBinAddr: 0x15F48, symSize: 0x0 }
- { offset: 0x2538, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$isCaptured', symObjAddr: 0x1EF50, symBinAddr: 0x12260, symSize: 0x0 } - { offset: 0x2552, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$nativeBounds', symObjAddr: 0x27068, symBinAddr: 0x15F50, symSize: 0x0 }
- { offset: 0x2562, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$mirroredScreen', symObjAddr: 0x1EF58, symBinAddr: 0x12268, symSize: 0x0 } - { offset: 0x2567, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$isCaptured', symObjAddr: 0x27070, symBinAddr: 0x15F58, symSize: 0x0 }
- { offset: 0x258C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreenMode$size', symObjAddr: 0x1EF60, symBinAddr: 0x12270, symSize: 0x0 } - { offset: 0x2591, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$mirroredScreen', symObjAddr: 0x27078, symBinAddr: 0x15F60, symSize: 0x0 }
- { offset: 0x25BB, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIStatusBarManager$statusBarFrame', symObjAddr: 0x1EF68, symBinAddr: 0x12278, symSize: 0x0 } - { offset: 0x25BB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$AVAudioSession$outputVolume', symObjAddr: 0x27080, symBinAddr: 0x15F68, symSize: 0x0 }
- { offset: 0x2627, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$AVAudioSession$outputVolume', symObjAddr: 0x1EF70, symBinAddr: 0x12280, symSize: 0x0 } - { offset: 0x25F5, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreenMode$size', symObjAddr: 0x27088, symBinAddr: 0x15F70, symSize: 0x0 }
- { offset: 0x299C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x1EF78, symBinAddr: 0x12288, symSize: 0x0 } - { offset: 0x2624, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x27090, symBinAddr: 0x15F78, symSize: 0x0 }
- { offset: 0x2AC6, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSFileManager$fileExistsAtPath$', symObjAddr: 0x1EF80, symBinAddr: 0x12290, symSize: 0x0 } - { offset: 0x274E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSFileManager$fileExistsAtPath$', symObjAddr: 0x27098, symBinAddr: 0x15F80, symSize: 0x0 }
- { offset: 0x2AF5, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$preferredLanguages', symObjAddr: 0x1EF88, symBinAddr: 0x12298, symSize: 0x0 } - { offset: 0x277D, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$preferredLanguages', symObjAddr: 0x270A0, symBinAddr: 0x15F88, symSize: 0x0 }
- { offset: 0x2B1F, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$currentLocale', symObjAddr: 0x1EF90, symBinAddr: 0x122A0, symSize: 0x0 } - { offset: 0x27A7, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$currentLocale', symObjAddr: 0x270A8, symBinAddr: 0x15F90, symSize: 0x0 }
- { offset: 0x2B5E, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$systemLocale', symObjAddr: 0x1EF98, symBinAddr: 0x122A8, symSize: 0x0 } - { offset: 0x27E6, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$systemLocale', symObjAddr: 0x270B0, symBinAddr: 0x15F98, symSize: 0x0 }
- { offset: 0x2B73, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$localTimeZone', symObjAddr: 0x1EFA0, symBinAddr: 0x122B0, symSize: 0x0 } - { offset: 0x27FB, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$localTimeZone', symObjAddr: 0x270B8, symBinAddr: 0x15FA0, symSize: 0x0 }
- { offset: 0x2BCC, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$systemTimeZone', symObjAddr: 0x1EFA8, symBinAddr: 0x122B8, symSize: 0x0 } - { offset: 0x2854, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$systemTimeZone', symObjAddr: 0x270C0, symBinAddr: 0x15FA8, symSize: 0x0 }
- { offset: 0x2BE1, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$defaultTimeZone', symObjAddr: 0x1EFB0, symBinAddr: 0x122C0, symSize: 0x0 } - { offset: 0x2869, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$defaultTimeZone', symObjAddr: 0x270C8, symBinAddr: 0x15FB0, symSize: 0x0 }
- { offset: 0x2BF6, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSMutableURLRequest$initWithURL$', symObjAddr: 0x1EFB8, symBinAddr: 0x122C8, symSize: 0x0 } - { offset: 0x287E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIStatusBarManager$statusBarFrame', symObjAddr: 0x270D0, symBinAddr: 0x15FB8, symSize: 0x0 }
- { offset: 0x2E93, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x1EFC0, symBinAddr: 0x122D0, symSize: 0x0 } - { offset: 0x28EA, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSMutableURLRequest$initWithURL$', symObjAddr: 0x270D8, symBinAddr: 0x15FC0, symSize: 0x0 }
- { offset: 0x2EC8, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x1EFC8, symBinAddr: 0x122D8, symSize: 0x0 } - { offset: 0x2B87, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x270E0, symBinAddr: 0x15FC8, symSize: 0x0 }
- { offset: 0x35FC, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x1EFD0, symBinAddr: 0x122E0, symSize: 0x0 } - { offset: 0x2BBC, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x270E8, symBinAddr: 0x15FD0, symSize: 0x0 }
- { offset: 0x384E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x1EFD8, symBinAddr: 0x122E8, symSize: 0x0 } - { offset: 0x32F0, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x270F0, symBinAddr: 0x15FD8, symSize: 0x0 }
- { offset: 0x54B2, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$setCustomUserAgent$', symObjAddr: 0x1EFE0, symBinAddr: 0x122F0, symSize: 0x0 } - { offset: 0x3542, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x270F8, symBinAddr: 0x15FE0, symSize: 0x0 }
- { offset: 0x54DD, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$customUserAgent', symObjAddr: 0x1EFE8, symBinAddr: 0x122F8, symSize: 0x0 } - { offset: 0x51A6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$setCustomUserAgent$', symObjAddr: 0x27100, symBinAddr: 0x15FE8, symSize: 0x0 }
- { offset: 0x5507, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x1EFF0, symBinAddr: 0x12300, symSize: 0x0 } - { offset: 0x51D1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$customUserAgent', symObjAddr: 0x27108, symBinAddr: 0x15FF0, symSize: 0x0 }
- { offset: 0x56B7, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x1EFF8, symBinAddr: 0x12308, symSize: 0x0 } - { offset: 0x51FB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x27110, symBinAddr: 0x15FF8, symSize: 0x0 }
- { offset: 0x56CC, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x1F000, symBinAddr: 0x12310, symSize: 0x0 } - { offset: 0x53AB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x27118, symBinAddr: 0x16000, symSize: 0x0 }
- { offset: 0x5C18, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$uname', symObjAddr: 0x1F008, symBinAddr: 0x12318, symSize: 0x0 } - { offset: 0x53C0, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x27120, symBinAddr: 0x16008, symSize: 0x0 }
- { offset: 0x5C9A, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$sysctl', symObjAddr: 0x1F010, symBinAddr: 0x12320, symSize: 0x0 } - { offset: 0x590C, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$uname', symObjAddr: 0x27128, symBinAddr: 0x16010, symSize: 0x0 }
- { offset: 0x5CF3, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$sysctlbyname', symObjAddr: 0x1F018, symBinAddr: 0x12328, symSize: 0x0 } - { offset: 0x598E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$sysctl', symObjAddr: 0x27130, symBinAddr: 0x16018, symSize: 0x0 }
- { offset: 0x5D2D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$clock_gettime', symObjAddr: 0x1F020, symBinAddr: 0x12330, symSize: 0x0 } - { offset: 0x59E7, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$sysctlbyname', symObjAddr: 0x27138, symBinAddr: 0x16020, symSize: 0x0 }
- { offset: 0x5DCD, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$getifaddrs', symObjAddr: 0x1F028, symBinAddr: 0x12338, symSize: 0x0 } - { offset: 0x5A21, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$clock_gettime', symObjAddr: 0x27140, symBinAddr: 0x16028, symSize: 0x0 }
- { offset: 0x5EAB, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$SCNetworkReachabilityGetFlags', symObjAddr: 0x1F030, symBinAddr: 0x12340, symSize: 0x0 } - { offset: 0x5AC1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$getifaddrs', symObjAddr: 0x27148, symBinAddr: 0x16030, symSize: 0x0 }
- { offset: 0x5F5C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x1F038, symBinAddr: 0x12348, symSize: 0x0 } - { offset: 0x5B9F, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$SCNetworkReachabilityGetFlags', symObjAddr: 0x27150, symBinAddr: 0x16038, symSize: 0x0 }
- { offset: 0x5F7E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x1F040, symBinAddr: 0x12350, symSize: 0x0 } - { offset: 0x5C50, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x27158, symBinAddr: 0x16040, symSize: 0x0 }
- { offset: 0x6166, size: 0x8, addend: 0x0, symName: _SetupXSLog, symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x24 } - { offset: 0x5C72, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x27160, symBinAddr: 0x16048, symSize: 0x0 }
- { offset: 0x617B, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData rotationRate]', symObjAddr: 0x24, symBinAddr: 0x4024, symSize: 0x44 } - { offset: 0x5E40, size: 0x8, addend: 0x0, symName: _SetupXSLog, symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x24 }
- { offset: 0x61B2, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData customRotationRate]', symObjAddr: 0x68, symBinAddr: 0x4068, symSize: 0x40 } - { offset: 0x5E55, size: 0x8, addend: 0x0, symName: _str2uuid, symObjAddr: 0x24, symBinAddr: 0x4024, symSize: 0x64 }
- { offset: 0x61E9, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData setCustomRotationRate:]', symObjAddr: 0xA8, symBinAddr: 0x40A8, symSize: 0x40 } - { offset: 0x5E7D, size: 0x8, addend: 0x0, symName: _str2int, symObjAddr: 0x88, symBinAddr: 0x4088, symSize: 0x58 }
- { offset: 0x6228, size: 0x8, addend: 0x0, symName: __logosLocalCtor_e9c95796, symObjAddr: 0xE8, symBinAddr: 0x40E8, symSize: 0xD38 } - { offset: 0x5EA5, size: 0x8, addend: 0x0, symName: _str2float, symObjAddr: 0xE0, symBinAddr: 0x40E0, symSize: 0x54 }
- { offset: 0x64AB, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0xE20, symBinAddr: 0x4E20, symSize: 0x80 } - { offset: 0x5ECD, size: 0x8, addend: 0x0, symName: _str2double, symObjAddr: 0x134, symBinAddr: 0x4134, symSize: 0x54 }
- { offset: 0x6515, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0xEA0, symBinAddr: 0x4EA0, symSize: 0x150 } - { offset: 0x5EF5, size: 0x8, addend: 0x0, symName: _str2ull, symObjAddr: 0x188, symBinAddr: 0x4188, symSize: 0x58 }
- { offset: 0x6577, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0xFF0, symBinAddr: 0x4FF0, symSize: 0x110 } - { offset: 0x5F1D, size: 0x8, addend: 0x0, symName: _tryGetVal, symObjAddr: 0x1E0, symBinAddr: 0x41E0, symSize: 0x190 }
- { offset: 0x65BB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x1100, symBinAddr: 0x5100, symSize: 0x70 } - { offset: 0x5F77, size: 0x8, addend: 0x0, symName: _str2chars, symObjAddr: 0x370, symBinAddr: 0x4370, symSize: 0x6C }
- { offset: 0x65FF, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$identifierForVendor', symObjAddr: 0x1170, symBinAddr: 0x5170, symSize: 0x110 } - { offset: 0x5FAD, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData rotationRate]', symObjAddr: 0x3DC, symBinAddr: 0x43DC, symSize: 0x44 }
- { offset: 0x6643, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$name', symObjAddr: 0x1280, symBinAddr: 0x5280, symSize: 0x110 } - { offset: 0x5FE4, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData customRotationRate]', symObjAddr: 0x420, symBinAddr: 0x4420, symSize: 0x40 }
- { offset: 0x6687, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$model', symObjAddr: 0x1390, symBinAddr: 0x5390, symSize: 0x34 } - { offset: 0x601B, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData setCustomRotationRate:]', symObjAddr: 0x460, symBinAddr: 0x4460, symSize: 0x40 }
- { offset: 0x66BD, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$localizedModel', symObjAddr: 0x13C4, symBinAddr: 0x53C4, symSize: 0x34 } - { offset: 0x605A, size: 0x8, addend: 0x0, symName: __logosLocalCtor_9b794672, symObjAddr: 0x4A0, symBinAddr: 0x44A0, symSize: 0xD0C }
- { offset: 0x66F3, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$systemName', symObjAddr: 0x13F8, symBinAddr: 0x53F8, symSize: 0x34 } - { offset: 0x62FD, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x11AC, symBinAddr: 0x51AC, symSize: 0x130 }
- { offset: 0x6729, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$systemVersion', symObjAddr: 0x142C, symBinAddr: 0x542C, symSize: 0x110 } - { offset: 0x635E, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x12DC, symBinAddr: 0x52DC, symSize: 0x1BC }
- { offset: 0x676D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$batteryState', symObjAddr: 0x153C, symBinAddr: 0x553C, symSize: 0x9C } - { offset: 0x63C5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x1498, symBinAddr: 0x5498, symSize: 0x158 }
- { offset: 0x67B1, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$batteryLevel', symObjAddr: 0x15D8, symBinAddr: 0x55D8, symSize: 0xA0 } - { offset: 0x640E, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x15F0, symBinAddr: 0x55F0, symSize: 0xF4 }
- { offset: 0x67F5, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$orientation', symObjAddr: 0x1678, symBinAddr: 0x5678, symSize: 0x18 } - { offset: 0x6457, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$identifierForVendor', symObjAddr: 0x16E4, symBinAddr: 0x56E4, symSize: 0x158 }
- { offset: 0x682B, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$systemUptime', symObjAddr: 0x1690, symBinAddr: 0x5690, symSize: 0xA4 } - { offset: 0x64A0, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$name', symObjAddr: 0x183C, symBinAddr: 0x583C, symSize: 0x158 }
- { offset: 0x687D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$physicalMemory', symObjAddr: 0x1734, symBinAddr: 0x5734, symSize: 0xA0 } - { offset: 0x64E9, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$model', symObjAddr: 0x1994, symBinAddr: 0x5994, symSize: 0x34 }
- { offset: 0x68C1, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$processorCount', symObjAddr: 0x17D4, symBinAddr: 0x57D4, symSize: 0xA0 } - { offset: 0x651F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$localizedModel', symObjAddr: 0x19C8, symBinAddr: 0x59C8, symSize: 0x34 }
- { offset: 0x6905, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x1874, symBinAddr: 0x5874, symSize: 0x468 } - { offset: 0x6555, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$systemName', symObjAddr: 0x19FC, symBinAddr: 0x59FC, symSize: 0x34 }
- { offset: 0x6987, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIWindow$safeAreaInsets', symObjAddr: 0x1CDC, symBinAddr: 0x5CDC, symSize: 0x170 } - { offset: 0x658B, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$systemVersion', symObjAddr: 0x1A30, symBinAddr: 0x5A30, symSize: 0x158 }
- { offset: 0x6A04, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$brightness', symObjAddr: 0x1E4C, symBinAddr: 0x5E4C, symSize: 0xA0 } - { offset: 0x65D4, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$batteryState', symObjAddr: 0x1B88, symBinAddr: 0x5B88, symSize: 0xF0 }
- { offset: 0x6A48, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$bounds', symObjAddr: 0x1EEC, symBinAddr: 0x5EEC, symSize: 0x174 } - { offset: 0x661D, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$batteryLevel', symObjAddr: 0x1C78, symBinAddr: 0x5C78, symSize: 0xF0 }
- { offset: 0x6AB7, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$scale', symObjAddr: 0x2060, symBinAddr: 0x6060, symSize: 0xA0 } - { offset: 0x6666, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$orientation', symObjAddr: 0x1D68, symBinAddr: 0x5D68, symSize: 0x18 }
- { offset: 0x6AFB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$nativeBounds', symObjAddr: 0x2100, symBinAddr: 0x6100, symSize: 0x174 } - { offset: 0x669C, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$systemUptime', symObjAddr: 0x1D80, symBinAddr: 0x5D80, symSize: 0xF0 }
- { offset: 0x6B6A, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$isCaptured', symObjAddr: 0x2274, symBinAddr: 0x6274, symSize: 0x1C } - { offset: 0x66E5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$physicalMemory', symObjAddr: 0x1E70, symBinAddr: 0x5E70, symSize: 0x110 }
- { offset: 0x6BA0, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$mirroredScreen', symObjAddr: 0x2290, symBinAddr: 0x6290, symSize: 0x18 } - { offset: 0x672F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$processorCount', symObjAddr: 0x1F80, symBinAddr: 0x5F80, symSize: 0xF0 }
- { offset: 0x6BD6, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreenMode$size', symObjAddr: 0x22A8, symBinAddr: 0x62A8, symSize: 0x154 } - { offset: 0x677C, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x2070, symBinAddr: 0x6070, symSize: 0x614 }
- { offset: 0x6C44, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIStatusBarManager$statusBarFrame', symObjAddr: 0x23FC, symBinAddr: 0x63FC, symSize: 0x190 } - { offset: 0x680A, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIWindow$safeAreaInsets', symObjAddr: 0x2684, symBinAddr: 0x6684, symSize: 0x214 }
- { offset: 0x6CB3, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$AVAudioSession$outputVolume', symObjAddr: 0x258C, symBinAddr: 0x658C, symSize: 0xA0 } - { offset: 0x6858, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$brightness', symObjAddr: 0x2898, symBinAddr: 0x6898, symSize: 0xF0 }
- { offset: 0x6CFB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x262C, symBinAddr: 0x662C, symSize: 0x280 } - { offset: 0x68A5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$bounds', symObjAddr: 0x2988, symBinAddr: 0x6988, symSize: 0x12C }
- { offset: 0x6D9D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSFileManager$fileExistsAtPath$', symObjAddr: 0x28AC, symBinAddr: 0x68AC, symSize: 0x37C } - { offset: 0x68F3, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$scale', symObjAddr: 0x2AB4, symBinAddr: 0x6AB4, symSize: 0xF0 }
- { offset: 0x6E08, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$preferredLanguages', symObjAddr: 0x2C28, symBinAddr: 0x6C28, symSize: 0x7C } - { offset: 0x6940, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$nativeBounds', symObjAddr: 0x2BA4, symBinAddr: 0x6BA4, symSize: 0x12C }
- { offset: 0x6E41, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$currentLocale', symObjAddr: 0x2CA4, symBinAddr: 0x6CA4, symSize: 0xD4 } - { offset: 0x698E, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$isCaptured', symObjAddr: 0x2CD0, symBinAddr: 0x6CD0, symSize: 0x1C }
- { offset: 0x6E89, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$systemLocale', symObjAddr: 0x2D78, symBinAddr: 0x6D78, symSize: 0xD4 } - { offset: 0x69C7, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$mirroredScreen', symObjAddr: 0x2CEC, symBinAddr: 0x6CEC, symSize: 0x18 }
- { offset: 0x6ED1, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$localTimeZone', symObjAddr: 0x2E4C, symBinAddr: 0x6E4C, symSize: 0xD8 } - { offset: 0x6A00, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$AVAudioSession$outputVolume', symObjAddr: 0x2D04, symBinAddr: 0x6D04, symSize: 0xF0 }
- { offset: 0x6F19, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$systemTimeZone', symObjAddr: 0x2F24, symBinAddr: 0x6F24, symSize: 0xD8 } - { offset: 0x6A4D, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreenMode$size', symObjAddr: 0x2DF4, symBinAddr: 0x6DF4, symSize: 0x104 }
- { offset: 0x6F61, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$defaultTimeZone', symObjAddr: 0x2FFC, symBinAddr: 0x6FFC, symSize: 0xD8 } - { offset: 0x6A9B, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x2EF8, symBinAddr: 0x6EF8, symSize: 0x248 }
- { offset: 0x6FA9, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSMutableURLRequest$initWithURL$', symObjAddr: 0x30D4, symBinAddr: 0x70D4, symSize: 0x13C } - { offset: 0x6B1F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSFileManager$fileExistsAtPath$', symObjAddr: 0x3140, symBinAddr: 0x7140, symSize: 0x3A0 }
- { offset: 0x7006, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x3210, symBinAddr: 0x7210, symSize: 0x13C } - { offset: 0x6B8A, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$preferredLanguages', symObjAddr: 0x34E0, symBinAddr: 0x74E0, symSize: 0x88 }
- { offset: 0x707D, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x334C, symBinAddr: 0x734C, symSize: 0x160 } - { offset: 0x6BC3, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$currentLocale', symObjAddr: 0x3568, symBinAddr: 0x7568, symSize: 0x138 }
- { offset: 0x70D4, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x34AC, symBinAddr: 0x74AC, symSize: 0x134 } - { offset: 0x6C10, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$systemLocale', symObjAddr: 0x36A0, symBinAddr: 0x76A0, symSize: 0x138 }
- { offset: 0x7149, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x35E0, symBinAddr: 0x75E0, symSize: 0x100 } - { offset: 0x6C5D, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$localTimeZone', symObjAddr: 0x37D8, symBinAddr: 0x77D8, symSize: 0x138 }
- { offset: 0x71AB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$setCustomUserAgent$', symObjAddr: 0x36E0, symBinAddr: 0x76E0, symSize: 0xEC } - { offset: 0x6CAA, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$systemTimeZone', symObjAddr: 0x3910, symBinAddr: 0x7910, symSize: 0x138 }
- { offset: 0x71FE, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$customUserAgent', symObjAddr: 0x37CC, symBinAddr: 0x77CC, symSize: 0x110 } - { offset: 0x6CF7, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$defaultTimeZone', symObjAddr: 0x3A48, symBinAddr: 0x7A48, symSize: 0x138 }
- { offset: 0x7246, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x38DC, symBinAddr: 0x78DC, symSize: 0x3AC } - { offset: 0x6D44, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIStatusBarManager$statusBarFrame', symObjAddr: 0x3B80, symBinAddr: 0x7B80, symSize: 0x12C }
- { offset: 0x72ED, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x3C88, symBinAddr: 0x7C88, symSize: 0x6C8 } - { offset: 0x6D92, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSMutableURLRequest$initWithURL$', symObjAddr: 0x3CAC, symBinAddr: 0x7CAC, symSize: 0x134 }
- { offset: 0x7394, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x4350, symBinAddr: 0x8350, symSize: 0x150 } - { offset: 0x6DDA, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x3DE0, symBinAddr: 0x7DE0, symSize: 0x18C }
- { offset: 0x73F6, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$uname', symObjAddr: 0x44A0, symBinAddr: 0x84A0, symSize: 0xFC } - { offset: 0x6E42, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x3F6C, symBinAddr: 0x7F6C, symSize: 0xF4 }
- { offset: 0x745C, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$sysctl', symObjAddr: 0x459C, symBinAddr: 0x859C, symSize: 0x350 } - { offset: 0x6E8A, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x4060, symBinAddr: 0x8060, symSize: 0x134 }
- { offset: 0x7559, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$sysctlbyname', symObjAddr: 0x48EC, symBinAddr: 0x88EC, symSize: 0x2B4 } - { offset: 0x6EF0, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x4194, symBinAddr: 0x8194, symSize: 0x1F0 }
- { offset: 0x768F, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$clock_gettime', symObjAddr: 0x4BA0, symBinAddr: 0x8BA0, symSize: 0x50 } - { offset: 0x6F58, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$setCustomUserAgent$', symObjAddr: 0x4384, symBinAddr: 0x8384, symSize: 0x140 }
- { offset: 0x76D7, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$getifaddrs', symObjAddr: 0x4BF0, symBinAddr: 0x8BF0, symSize: 0x614 } - { offset: 0x6FB1, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$customUserAgent', symObjAddr: 0x44C4, symBinAddr: 0x84C4, symSize: 0x12C }
- { offset: 0x7857, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$SCNetworkReachabilityGetFlags', symObjAddr: 0x5204, symBinAddr: 0x9204, symSize: 0x78 } - { offset: 0x6FFE, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x45F0, symBinAddr: 0x85F0, symSize: 0x170 }
- { offset: 0x789F, size: 0x8, addend: 0x0, symName: __logosLocalDtor_2e2d985c, symObjAddr: 0x527C, symBinAddr: 0x927C, symSize: 0x64 } - { offset: 0x7055, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x4760, symBinAddr: 0x8760, symSize: 0x170 }
- { offset: 0x78E3, size: 0x8, addend: 0x0, symName: '____logos_meta_method$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke', symObjAddr: 0x52E0, symBinAddr: 0x92E0, symSize: 0x50 } - { offset: 0x70AC, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x48D0, symBinAddr: 0x88D0, symSize: 0x150 }
- { offset: 0x792D, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b, symObjAddr: 0x5330, symBinAddr: 0x9330, symSize: 0x38 } - { offset: 0x710E, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$uname', symObjAddr: 0x4A20, symBinAddr: 0x8A20, symSize: 0x88 }
- { offset: 0x7951, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s, symObjAddr: 0x5368, symBinAddr: 0x9368, symSize: 0x2C } - { offset: 0x7147, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$sysctl', symObjAddr: 0x4AA8, symBinAddr: 0x8AA8, symSize: 0x410 }
- { offset: 0x796D, size: 0x8, addend: 0x0, symName: _UIEdgeInsetsMake, symObjAddr: 0x5394, symBinAddr: 0x9394, symSize: 0x4C } - { offset: 0x7234, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$sysctlbyname', symObjAddr: 0x4EB8, symBinAddr: 0x8EB8, symSize: 0x428 }
- { offset: 0x79CD, size: 0x8, addend: 0x0, symName: _CGRectMake, symObjAddr: 0x53E0, symBinAddr: 0x93E0, symSize: 0x4C } - { offset: 0x7332, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$clock_gettime', symObjAddr: 0x52E0, symBinAddr: 0x92E0, symSize: 0x5C }
- { offset: 0x7A33, size: 0x8, addend: 0x0, symName: _CGSizeMake, symObjAddr: 0x542C, symBinAddr: 0x942C, symSize: 0x2C } - { offset: 0x737A, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$getifaddrs', symObjAddr: 0x533C, symBinAddr: 0x933C, symSize: 0x698 }
- { offset: 0x7A7B, size: 0x8, addend: 0x0, symName: '____logos_method$XHooks$NSFileManager$fileExistsAtPath$_block_invoke', symObjAddr: 0x5458, symBinAddr: 0x9458, symSize: 0x9C } - { offset: 0x7500, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$SCNetworkReachabilityGetFlags', symObjAddr: 0x59D4, symBinAddr: 0x99D4, symSize: 0x84 }
- { offset: 0x7B05, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s, symObjAddr: 0x54F4, symBinAddr: 0x94F4, symSize: 0x38 } - { offset: 0x7548, size: 0x8, addend: 0x0, symName: __logosLocalDtor_fefd86ea, symObjAddr: 0x5A58, symBinAddr: 0x9A58, symSize: 0x28 }
- { offset: 0x7B29, size: 0x8, addend: 0x0, symName: '____logos_method$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$_block_invoke', symObjAddr: 0x552C, symBinAddr: 0x952C, symSize: 0x10C } - { offset: 0x758C, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$trackingAuthorizationStatus_block_invoke', symObjAddr: 0x5A80, symBinAddr: 0x9A80, symSize: 0x80 }
- { offset: 0x7BAF, size: 0x8, addend: 0x0, symName: _randomRadiansPerSecond, symObjAddr: 0x5638, symBinAddr: 0x9638, symSize: 0x44 } - { offset: 0x75D9, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32r, symObjAddr: 0x5B00, symBinAddr: 0x9B00, symSize: 0x38 }
- { offset: 0x7BD9, size: 0x8, addend: 0x0, symName: _modifyInterfaceIP, symObjAddr: 0x567C, symBinAddr: 0x967C, symSize: 0x140 } - { offset: 0x75FD, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32r, symObjAddr: 0x5B38, symBinAddr: 0x9B38, symSize: 0x2C }
- { offset: 0x7C6C, size: 0x8, addend: 0x0, symName: _createInterface, symObjAddr: 0x57BC, symBinAddr: 0x97BC, symSize: 0x3C8 } - { offset: 0x7619, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke', symObjAddr: 0x5B64, symBinAddr: 0x9B64, symSize: 0x80 }
- { offset: 0x7D15, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x5B84, symBinAddr: 0x9B84, symSize: 0xC } - { offset: 0x7666, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke_2', symObjAddr: 0x5BE4, symBinAddr: 0x9BE4, symSize: 0x58 }
- { offset: 0x7D2F, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x5B90, symBinAddr: 0x9B90, symSize: 0xC } - { offset: 0x76B6, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b40r, symObjAddr: 0x5C3C, symBinAddr: 0x9C3C, symSize: 0x58 }
- { offset: 0x7D49, size: 0x8, addend: 0x0, symName: ___GLOBAL_init_65535, symObjAddr: 0x5D6C, symBinAddr: 0x9B9C, symSize: 0x28 } - { offset: 0x76DA, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40r, symObjAddr: 0x5C94, symBinAddr: 0x9C94, symSize: 0x40 }
- { offset: 0x7FCF, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0x9BC4, symSize: 0x100 } - { offset: 0x76F6, size: 0x8, addend: 0x0, symName: ___Block_byref_object_copy_, symObjAddr: 0x5CD4, symBinAddr: 0x9CD4, symSize: 0x54 }
- { offset: 0x7FE8, size: 0x8, addend: 0x0, symName: _kLogFilePath, symObjAddr: 0xE38, symBinAddr: 0x12198, symSize: 0x0 } - { offset: 0x771A, size: 0x8, addend: 0x0, symName: ___Block_byref_object_dispose_, symObjAddr: 0x5D28, symBinAddr: 0x9D28, symSize: 0x2C }
- { offset: 0x804F, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0x9BC4, symSize: 0x100 } - { offset: 0x7736, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$ASIdentifierManager$advertisingIdentifier_block_invoke', symObjAddr: 0x5D54, symBinAddr: 0x9D54, symSize: 0x80 }
- { offset: 0x8070, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath.onceToken, symObjAddr: 0x3DE8, symBinAddr: 0x12358, symSize: 0x0 } - { offset: 0x7783, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled_block_invoke', symObjAddr: 0x5DD4, symBinAddr: 0x9DD4, symSize: 0x9C }
- { offset: 0x8115, size: 0x8, addend: 0x0, symName: _logFileHandle, symObjAddr: 0x3DF8, symBinAddr: 0x12368, symSize: 0x0 } - { offset: 0x77EC, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$identifierForVendor_block_invoke', symObjAddr: 0x5E70, symBinAddr: 0x9E70, symSize: 0x80 }
- { offset: 0x8195, size: 0x8, addend: 0x0, symName: _logQueue, symObjAddr: 0x3DF0, symBinAddr: 0x12360, symSize: 0x0 } - { offset: 0x7839, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$name_block_invoke', symObjAddr: 0x5EF0, symBinAddr: 0x9EF0, symSize: 0x64 }
- { offset: 0x81BA, size: 0x8, addend: 0x0, symName: _kMaxFileSize, symObjAddr: 0xE40, symBinAddr: 0x121A0, symSize: 0x0 } - { offset: 0x7886, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$systemVersion_block_invoke', symObjAddr: 0x5F54, symBinAddr: 0x9F54, symSize: 0x64 }
- { offset: 0x81CF, size: 0x8, addend: 0x0, symName: _logCount, symObjAddr: 0x3E00, symBinAddr: 0x12370, symSize: 0x0 } - { offset: 0x78D3, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$batteryState_block_invoke', symObjAddr: 0x5FB8, symBinAddr: 0x9FB8, symSize: 0x70 }
- { offset: 0x82ED, size: 0x8, addend: 0x0, symName: ___XSLogSetupLogWithFilePath_block_invoke, symObjAddr: 0x100, symBinAddr: 0x9CC4, symSize: 0x84 } - { offset: 0x793C, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$batteryLevel_block_invoke', symObjAddr: 0x6028, symBinAddr: 0xA028, symSize: 0x64 }
- { offset: 0x8337, size: 0x8, addend: 0x0, symName: _setupLogFileHandle, symObjAddr: 0x184, symBinAddr: 0x9D48, symSize: 0x180 } - { offset: 0x7989, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$systemUptime_block_invoke', symObjAddr: 0x608C, symBinAddr: 0xA08C, symSize: 0x88 }
- { offset: 0x835B, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFileName, symObjAddr: 0x368, symBinAddr: 0x9EC8, symSize: 0x94 } - { offset: 0x79F2, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$physicalMemory_block_invoke', symObjAddr: 0x6114, symBinAddr: 0xA114, symSize: 0x74 }
- { offset: 0x838D, size: 0x8, addend: 0x0, symName: _getLogFilePath, symObjAddr: 0x3FC, symBinAddr: 0x9F5C, symSize: 0xEC } - { offset: 0x7A60, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$processorCount_block_invoke', symObjAddr: 0x6188, symBinAddr: 0xA188, symSize: 0x74 }
- { offset: 0x83DF, size: 0x8, addend: 0x0, symName: _XSLogRedirectNSLog, symObjAddr: 0x4E8, symBinAddr: 0xA048, symSize: 0xC0 } - { offset: 0x7ACE, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$operatingSystemVersion_block_invoke', symObjAddr: 0x61FC, symBinAddr: 0xA1FC, symSize: 0x64 }
- { offset: 0x8411, size: 0x8, addend: 0x0, symName: _XSLogMessage, symObjAddr: 0x5A8, symBinAddr: 0xA108, symSize: 0xFC } - { offset: 0x7B1F, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIWindow$safeAreaInsets_block_invoke', symObjAddr: 0x6260, symBinAddr: 0xA260, symSize: 0x160 }
- { offset: 0x8452, size: 0x8, addend: 0x0, symName: ___XSLogMessage_block_invoke, symObjAddr: 0x6A4, symBinAddr: 0xA204, symSize: 0x2CC } - { offset: 0x7B9C, size: 0x8, addend: 0x0, symName: _UIEdgeInsetsMake, symObjAddr: 0x63C0, symBinAddr: 0xA3C0, symSize: 0x4C }
- { offset: 0x84DE, size: 0x8, addend: 0x0, symName: _checkAndRollLogFile, symObjAddr: 0x970, symBinAddr: 0xA4D0, symSize: 0x298 } - { offset: 0x7BFC, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$brightness_block_invoke', symObjAddr: 0x640C, symBinAddr: 0xA40C, symSize: 0x78 }
- { offset: 0x8CEF, size: 0x8, addend: 0x0, symName: '+[XHookSettingsManager sharedManager]', symObjAddr: 0x0, symBinAddr: 0xA768, symSize: 0x7C } - { offset: 0x7C6A, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$bounds_block_invoke', symObjAddr: 0x6484, symBinAddr: 0xA484, symSize: 0x12C }
- { offset: 0x8CFC, size: 0x8, addend: 0x0, symName: '+[XHookSettingsManager sharedManager]', symObjAddr: 0x0, symBinAddr: 0xA768, symSize: 0x7C } - { offset: 0x7D06, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$scale_block_invoke', symObjAddr: 0x65B0, symBinAddr: 0xA5B0, symSize: 0x78 }
- { offset: 0x8D25, size: 0x8, addend: 0x0, symName: _sharedManager.manager, symObjAddr: 0x6DA8, symBinAddr: 0x12378, symSize: 0x0 } - { offset: 0x7D74, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$nativeBounds_block_invoke', symObjAddr: 0x6628, symBinAddr: 0xA628, symSize: 0x12C }
- { offset: 0x8D3A, size: 0x8, addend: 0x0, symName: _sharedManager.onceToken, symObjAddr: 0x6DB0, symBinAddr: 0x12380, symSize: 0x0 } - { offset: 0x7E10, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$AVAudioSession$outputVolume_block_invoke', symObjAddr: 0x6754, symBinAddr: 0xA754, symSize: 0x78 }
- { offset: 0x9246, size: 0x8, addend: 0x0, symName: '___37+[XHookSettingsManager sharedManager]_block_invoke', symObjAddr: 0x7C, symBinAddr: 0xA7E4, symSize: 0x54 } - { offset: 0x7E7E, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreenMode$size_block_invoke', symObjAddr: 0x67CC, symBinAddr: 0xA7CC, symSize: 0x118 }
- { offset: 0x926E, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager init]', symObjAddr: 0xD0, symBinAddr: 0xA838, symSize: 0xB0 } - { offset: 0x7F19, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$_block_invoke', symObjAddr: 0x68E4, symBinAddr: 0xA8E4, symSize: 0xB0 }
- { offset: 0x92A4, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager resetToDefaults]', symObjAddr: 0x180, symBinAddr: 0xA8E8, symSize: 0x184 } - { offset: 0x7F81, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s, symObjAddr: 0x6994, symBinAddr: 0xA994, symSize: 0x38 }
- { offset: 0x92D6, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseString:defaultValue:]', symObjAddr: 0x304, symBinAddr: 0xAA6C, symSize: 0xD8 } - { offset: 0x7FA5, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s, symObjAddr: 0x69CC, symBinAddr: 0xA9CC, symSize: 0x2C }
- { offset: 0x9328, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseInteger:defaultValue:]', symObjAddr: 0x3DC, symBinAddr: 0xAB44, symSize: 0x100 } - { offset: 0x7FC1, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$_block_invoke.254', symObjAddr: 0x69F8, symBinAddr: 0xA9F8, symSize: 0xB0 }
- { offset: 0x937A, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseFloat:defaultValue:]', symObjAddr: 0x4DC, symBinAddr: 0xAC44, symSize: 0x100 } - { offset: 0x8029, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$fileExistsAtPath$_block_invoke', symObjAddr: 0x6AA8, symBinAddr: 0xAAA8, symSize: 0x9C }
- { offset: 0x93CC, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseDouble:defaultValue:]', symObjAddr: 0x5DC, symBinAddr: 0xAD44, symSize: 0x100 } - { offset: 0x80B3, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSLocale$currentLocale_block_invoke', symObjAddr: 0x6B44, symBinAddr: 0xAB44, symSize: 0xB0 }
- { offset: 0x941E, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseULL:defaultValue:]', symObjAddr: 0x6DC, symBinAddr: 0xAE44, symSize: 0x100 } - { offset: 0x8121, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSLocale$systemLocale_block_invoke', symObjAddr: 0x6BF4, symBinAddr: 0xABF4, symSize: 0xB0 }
- { offset: 0x9470, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseUUID:]', symObjAddr: 0x7DC, symBinAddr: 0xAF44, symSize: 0xAC } - { offset: 0x818F, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$localTimeZone_block_invoke', symObjAddr: 0x6CA4, symBinAddr: 0xACA4, symSize: 0xB4 }
- { offset: 0x94B4, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseDictionary:]', symObjAddr: 0x888, symBinAddr: 0xAFF0, symSize: 0xA4 } - { offset: 0x81FD, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$systemTimeZone_block_invoke', symObjAddr: 0x6D58, symBinAddr: 0xAD58, symSize: 0xB4 }
- { offset: 0x94F8, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseArray:]', symObjAddr: 0x92C, symBinAddr: 0xB094, symSize: 0xA4 } - { offset: 0x826B, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$defaultTimeZone_block_invoke', symObjAddr: 0x6E0C, symBinAddr: 0xAE0C, symSize: 0xB4 }
- { offset: 0x953C, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager loadSettingsFromPath:]', symObjAddr: 0x9D0, symBinAddr: 0xB138, symSize: 0x300 } - { offset: 0x82D9, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIStatusBarManager$statusBarFrame_block_invoke', symObjAddr: 0x6EC0, symBinAddr: 0xAEC0, symSize: 0xE0 }
- { offset: 0x95DD, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseSettings:]', symObjAddr: 0xCD0, symBinAddr: 0xB438, symSize: 0xAB4 } - { offset: 0x8365, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSMutableURLRequest$initWithURL$_block_invoke', symObjAddr: 0x6FA0, symBinAddr: 0xAFA0, symSize: 0x68 }
- { offset: 0x962B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager cleanup]', symObjAddr: 0x1784, symBinAddr: 0xBEEC, symSize: 0x2C } - { offset: 0x83B0, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$_block_invoke', symObjAddr: 0x7008, symBinAddr: 0xB008, symSize: 0x64 }
- { offset: 0x965D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager shouldHookApp:]', symObjAddr: 0x17B0, symBinAddr: 0xBF18, symSize: 0xA8 } - { offset: 0x8401, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSURLSession$sessionWithConfiguration$_block_invoke', symObjAddr: 0x706C, symBinAddr: 0xB06C, symSize: 0xDC }
- { offset: 0x96A1, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager isLoaded]', symObjAddr: 0x1858, symBinAddr: 0xBFC0, symSize: 0x20 } - { offset: 0x844C, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSURLSession$dataTaskWithRequest$completionHandler$_block_invoke', symObjAddr: 0x7148, symBinAddr: 0xB148, symSize: 0x68 }
- { offset: 0x96D7, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager idfa]', symObjAddr: 0x1878, symBinAddr: 0xBFE0, symSize: 0x1C } - { offset: 0x8497, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$evaluateJavaScript$completionHandler$_block_invoke', symObjAddr: 0x71B0, symBinAddr: 0xB1B0, symSize: 0x64 }
- { offset: 0x970D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager idfv]', symObjAddr: 0x1894, symBinAddr: 0xBFFC, symSize: 0x1C } - { offset: 0x84E8, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$setCustomUserAgent$_block_invoke', symObjAddr: 0x7214, symBinAddr: 0xB214, symSize: 0x64 }
- { offset: 0x9743, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager deviceName]', symObjAddr: 0x18B0, symBinAddr: 0xC018, symSize: 0x1C } - { offset: 0x8539, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$customUserAgent_block_invoke', symObjAddr: 0x7278, symBinAddr: 0xB278, symSize: 0x64 }
- { offset: 0x9779, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager osVersion]', symObjAddr: 0x18CC, symBinAddr: 0xC034, symSize: 0x1C } - { offset: 0x858A, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology_block_invoke', symObjAddr: 0x72DC, symBinAddr: 0xB2DC, symSize: 0x268 }
- { offset: 0x97AF, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager productStr]', symObjAddr: 0x18E8, symBinAddr: 0xC050, symSize: 0x1C } - { offset: 0x8632, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders_block_invoke', symObjAddr: 0x7544, symBinAddr: 0xB544, symSize: 0x488 }
- { offset: 0x97E5, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager hwModel]', symObjAddr: 0x1904, symBinAddr: 0xC06C, symSize: 0x1C } - { offset: 0x86DA, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$_block_invoke', symObjAddr: 0x79CC, symBinAddr: 0xB9CC, symSize: 0x15C }
- { offset: 0x981B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager trackingStatus]', symObjAddr: 0x1920, symBinAddr: 0xC088, symSize: 0x1C } - { offset: 0x877F, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b, symObjAddr: 0x7B28, symBinAddr: 0xBB28, symSize: 0x38 }
- { offset: 0x9851, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager physicalMemory]', symObjAddr: 0x193C, symBinAddr: 0xC0A4, symSize: 0x1C } - { offset: 0x87A3, size: 0x8, addend: 0x0, symName: _randomRadiansPerSecond, symObjAddr: 0x7B60, symBinAddr: 0xBB60, symSize: 0x44 }
- { offset: 0x9887, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager cpuCore]', symObjAddr: 0x1958, symBinAddr: 0xC0C0, symSize: 0x1C } - { offset: 0x87CD, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$uname_block_invoke', symObjAddr: 0x7BA4, symBinAddr: 0xBBA4, symSize: 0xB0 }
- { offset: 0x98BD, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager systemUptimeOffset]', symObjAddr: 0x1974, symBinAddr: 0xC0DC, symSize: 0x1C } - { offset: 0x8836, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctl_block_invoke', symObjAddr: 0x7C54, symBinAddr: 0xBC54, symSize: 0x78 }
- { offset: 0x98F3, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager kernBootTimeOffset]', symObjAddr: 0x1990, symBinAddr: 0xC0F8, symSize: 0x1C } - { offset: 0x889E, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctl_block_invoke_2', symObjAddr: 0x7CCC, symBinAddr: 0xBCCC, symSize: 0x68 }
- { offset: 0x9929, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager batteryState]', symObjAddr: 0x19AC, symBinAddr: 0xC114, symSize: 0x1C } - { offset: 0x88EF, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctlbyname_block_invoke', symObjAddr: 0x7D34, symBinAddr: 0xBD34, symSize: 0xC0 }
- { offset: 0x995F, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager batteryLevel]', symObjAddr: 0x19C8, symBinAddr: 0xC130, symSize: 0x1C } - { offset: 0x8955, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctlbyname_block_invoke_2', symObjAddr: 0x7DF4, symBinAddr: 0xBDF4, symSize: 0xC0 }
- { offset: 0x9995, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenBrightness]', symObjAddr: 0x19E4, symBinAddr: 0xC14C, symSize: 0x1C } - { offset: 0x89BB, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$getifaddrs_block_invoke', symObjAddr: 0x7EB4, symBinAddr: 0xBEB4, symSize: 0x8C }
- { offset: 0x99CB, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenScale]', symObjAddr: 0x1A00, symBinAddr: 0xC168, symSize: 0x1C } - { offset: 0x8A0C, size: 0x8, addend: 0x0, symName: _modifyInterfaceIP, symObjAddr: 0x7F40, symBinAddr: 0xBF40, symSize: 0x16C }
- { offset: 0x9A01, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenBounds]', symObjAddr: 0x1A1C, symBinAddr: 0xC184, symSize: 0x1C } - { offset: 0x8A9F, size: 0x8, addend: 0x0, symName: _createInterface, symObjAddr: 0x80AC, symBinAddr: 0xC0AC, symSize: 0x3F4 }
- { offset: 0x9A37, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager safeAreaInsets]', symObjAddr: 0x1A38, symBinAddr: 0xC1A0, symSize: 0x1C } - { offset: 0x8B48, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x84A0, symBinAddr: 0xC4A0, symSize: 0xC }
- { offset: 0x9A6D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager diskSize]', symObjAddr: 0x1A54, symBinAddr: 0xC1BC, symSize: 0x1C } - { offset: 0x8B62, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x84AC, symBinAddr: 0xC4AC, symSize: 0xC }
- { offset: 0x9AA3, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager diskFreeSize]', symObjAddr: 0x1A70, symBinAddr: 0xC1D8, symSize: 0x1C } - { offset: 0x8B7C, size: 0x8, addend: 0x0, symName: _cleanup, symObjAddr: 0x84B8, symBinAddr: 0xC4B8, symSize: 0x38 }
- { offset: 0x9AD9, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager outputVolume]', symObjAddr: 0x1A8C, symBinAddr: 0xC1F4, symSize: 0x1C } - { offset: 0x8B92, size: 0x8, addend: 0x0, symName: ___GLOBAL_init_65535, symObjAddr: 0x8AA0, symBinAddr: 0xC4F0, symSize: 0x28 }
- { offset: 0x9B0F, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager userAgent]', symObjAddr: 0x1AA8, symBinAddr: 0xC210, symSize: 0x1C } - { offset: 0xA668, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xC518, symSize: 0x100 }
- { offset: 0x9B45, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager networkInterfacesInfo]', symObjAddr: 0x1AC4, symBinAddr: 0xC22C, symSize: 0x1C } - { offset: 0xA681, size: 0x8, addend: 0x0, symName: _kLogFilePath, symObjAddr: 0xE38, symBinAddr: 0x15E90, symSize: 0x0 }
- { offset: 0x9B7B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager simInfo]', symObjAddr: 0x1AE0, symBinAddr: 0xC248, symSize: 0x1C } - { offset: 0xA6E8, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xC518, symSize: 0x100 }
- { offset: 0x9BB1, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager locale]', symObjAddr: 0x1AFC, symBinAddr: 0xC264, symSize: 0x1C } - { offset: 0xA709, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath.onceToken, symObjAddr: 0x3DE8, symBinAddr: 0x16050, symSize: 0x0 }
- { offset: 0x9BE7, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager timeZone]', symObjAddr: 0x1B18, symBinAddr: 0xC280, symSize: 0x1C } - { offset: 0xA7AE, size: 0x8, addend: 0x0, symName: _logFileHandle, symObjAddr: 0x3DF8, symBinAddr: 0x16060, symSize: 0x0 }
- { offset: 0x9C1D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager apps]', symObjAddr: 0x1B34, symBinAddr: 0xC29C, symSize: 0x1C } - { offset: 0xA82E, size: 0x8, addend: 0x0, symName: _logQueue, symObjAddr: 0x3DF0, symBinAddr: 0x16058, symSize: 0x0 }
- { offset: 0x9C53, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager .cxx_destruct]', symObjAddr: 0x1B50, symBinAddr: 0xC2B8, symSize: 0x108 } - { offset: 0xA853, size: 0x8, addend: 0x0, symName: _kMaxFileSize, symObjAddr: 0xE40, symBinAddr: 0x15E98, symSize: 0x0 }
- { offset: 0xA868, size: 0x8, addend: 0x0, symName: _logCount, symObjAddr: 0x3E00, symBinAddr: 0x16068, symSize: 0x0 }
- { offset: 0xA986, size: 0x8, addend: 0x0, symName: ___XSLogSetupLogWithFilePath_block_invoke, symObjAddr: 0x100, symBinAddr: 0xC618, symSize: 0x84 }
- { offset: 0xA9D0, size: 0x8, addend: 0x0, symName: _setupLogFileHandle, symObjAddr: 0x184, symBinAddr: 0xC69C, symSize: 0x180 }
- { offset: 0xA9F4, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFileName, symObjAddr: 0x368, symBinAddr: 0xC81C, symSize: 0x94 }
- { offset: 0xAA26, size: 0x8, addend: 0x0, symName: _getLogFilePath, symObjAddr: 0x3FC, symBinAddr: 0xC8B0, symSize: 0xEC }
- { offset: 0xAA78, size: 0x8, addend: 0x0, symName: _XSLogRedirectNSLog, symObjAddr: 0x4E8, symBinAddr: 0xC99C, symSize: 0xC0 }
- { offset: 0xAAAA, size: 0x8, addend: 0x0, symName: _XSLogMessage, symObjAddr: 0x5A8, symBinAddr: 0xCA5C, symSize: 0xFC }
- { offset: 0xAAEB, size: 0x8, addend: 0x0, symName: ___XSLogMessage_block_invoke, symObjAddr: 0x6A4, symBinAddr: 0xCB58, symSize: 0x2CC }
- { offset: 0xAB77, size: 0x8, addend: 0x0, symName: _checkAndRollLogFile, symObjAddr: 0x970, symBinAddr: 0xCE24, symSize: 0x298 }
... ...

Binary file not shown.

View File

@ -2,192 +2,201 @@
triple: 'arm64e-apple-darwin' triple: 'arm64e-apple-darwin'
binary-path: '/Users/mac/workspaces/projects/ios-change/old-ios-hook/.theos/obj/debug/arm64e/OhNo.dylib' binary-path: '/Users/mac/workspaces/projects/ios-change/old-ios-hook/.theos/obj/debug/arm64e/OhNo.dylib'
relocations: relocations:
- { offset: 0x51, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x1F4A0, symBinAddr: 0x14D00, symSize: 0x0 } - { offset: 0x7D, size: 0x8, addend: 0x0, symName: _settings, symBinAddr: 0x18708, symSize: 0x0 }
- { offset: 0xE9, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x1F4A8, symBinAddr: 0x14D08, symSize: 0x0 } - { offset: 0xF0, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x27C38, symBinAddr: 0x18540, symSize: 0x0 }
- { offset: 0x183, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x1F4B0, symBinAddr: 0x14D10, symSize: 0x0 } - { offset: 0x163, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x27C40, symBinAddr: 0x18548, symSize: 0x0 }
- { offset: 0x218, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x1F4B8, symBinAddr: 0x14D18, symSize: 0x0 } - { offset: 0x1FD, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x27C48, symBinAddr: 0x18550, symSize: 0x0 }
- { offset: 0x254, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$identifierForVendor', symObjAddr: 0x1F4C0, symBinAddr: 0x14D20, symSize: 0x0 } - { offset: 0x27B, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x27C50, symBinAddr: 0x18558, symSize: 0x0 }
- { offset: 0x441, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$name', symObjAddr: 0x1F4C8, symBinAddr: 0x14D28, symSize: 0x0 } - { offset: 0x2B7, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$identifierForVendor', symObjAddr: 0x27C58, symBinAddr: 0x18560, symSize: 0x0 }
- { offset: 0x46B, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$model', symObjAddr: 0x1F4D0, symBinAddr: 0x14D30, symSize: 0x0 } - { offset: 0x492, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$name', symObjAddr: 0x27C60, symBinAddr: 0x18568, symSize: 0x0 }
- { offset: 0x480, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$localizedModel', symObjAddr: 0x1F4D8, symBinAddr: 0x14D38, symSize: 0x0 } - { offset: 0x4BC, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$model', symObjAddr: 0x27C68, symBinAddr: 0x18570, symSize: 0x0 }
- { offset: 0x495, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$systemName', symObjAddr: 0x1F4E0, symBinAddr: 0x14D40, symSize: 0x0 } - { offset: 0x4D1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$localizedModel', symObjAddr: 0x27C70, symBinAddr: 0x18578, symSize: 0x0 }
- { offset: 0x4AA, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$systemVersion', symObjAddr: 0x1F4E8, symBinAddr: 0x14D48, symSize: 0x0 } - { offset: 0x4E6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$systemName', symObjAddr: 0x27C78, symBinAddr: 0x18580, symSize: 0x0 }
- { offset: 0x4BF, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$batteryState', symObjAddr: 0x1F4F0, symBinAddr: 0x14D50, symSize: 0x0 } - { offset: 0x4FB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$systemVersion', symObjAddr: 0x27C80, symBinAddr: 0x18588, symSize: 0x0 }
- { offset: 0x4E9, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$batteryLevel', symObjAddr: 0x1F4F8, symBinAddr: 0x14D58, symSize: 0x0 } - { offset: 0x510, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$batteryState', symObjAddr: 0x27C88, symBinAddr: 0x18590, symSize: 0x0 }
- { offset: 0x513, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$orientation', symObjAddr: 0x1F500, symBinAddr: 0x14D60, symSize: 0x0 } - { offset: 0x53A, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$batteryLevel', symObjAddr: 0x27C90, symBinAddr: 0x18598, symSize: 0x0 }
- { offset: 0x53D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$systemUptime', symObjAddr: 0x1F508, symBinAddr: 0x14D68, symSize: 0x0 } - { offset: 0x564, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$orientation', symObjAddr: 0x27C98, symBinAddr: 0x185A0, symSize: 0x0 }
- { offset: 0x709, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$physicalMemory', symObjAddr: 0x1F510, symBinAddr: 0x14D70, symSize: 0x0 } - { offset: 0x58E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$systemUptime', symObjAddr: 0x27CA0, symBinAddr: 0x185A8, symSize: 0x0 }
- { offset: 0x733, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$processorCount', symObjAddr: 0x1F518, symBinAddr: 0x14D78, symSize: 0x0 } - { offset: 0x738, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$physicalMemory', symObjAddr: 0x27CA8, symBinAddr: 0x185B0, symSize: 0x0 }
- { offset: 0x75D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x1F520, symBinAddr: 0x14D80, symSize: 0x0 } - { offset: 0x762, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$processorCount', symObjAddr: 0x27CB0, symBinAddr: 0x185B8, symSize: 0x0 }
- { offset: 0x787, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIWindow$safeAreaInsets', symObjAddr: 0x1F528, symBinAddr: 0x14D88, symSize: 0x0 } - { offset: 0x78C, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x27CB8, symBinAddr: 0x185C0, symSize: 0x0 }
- { offset: 0x24B5, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$brightness', symObjAddr: 0x1F530, symBinAddr: 0x14D90, symSize: 0x0 } - { offset: 0x7B6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIWindow$safeAreaInsets', symObjAddr: 0x27CC0, symBinAddr: 0x185C8, symSize: 0x0 }
- { offset: 0x24E4, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$bounds', symObjAddr: 0x1F538, symBinAddr: 0x14D98, symSize: 0x0 } - { offset: 0x24E4, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$brightness', symObjAddr: 0x27CC8, symBinAddr: 0x185D0, symSize: 0x0 }
- { offset: 0x250E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$scale', symObjAddr: 0x1F540, symBinAddr: 0x14DA0, symSize: 0x0 } - { offset: 0x2513, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$bounds', symObjAddr: 0x27CD0, symBinAddr: 0x185D8, symSize: 0x0 }
- { offset: 0x2523, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$nativeBounds', symObjAddr: 0x1F548, symBinAddr: 0x14DA8, symSize: 0x0 } - { offset: 0x253D, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$scale', symObjAddr: 0x27CD8, symBinAddr: 0x185E0, symSize: 0x0 }
- { offset: 0x2538, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$isCaptured', symObjAddr: 0x1F550, symBinAddr: 0x14DB0, symSize: 0x0 } - { offset: 0x2552, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$nativeBounds', symObjAddr: 0x27CE0, symBinAddr: 0x185E8, symSize: 0x0 }
- { offset: 0x2562, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$mirroredScreen', symObjAddr: 0x1F558, symBinAddr: 0x14DB8, symSize: 0x0 } - { offset: 0x2567, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$isCaptured', symObjAddr: 0x27CE8, symBinAddr: 0x185F0, symSize: 0x0 }
- { offset: 0x258C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreenMode$size', symObjAddr: 0x1F560, symBinAddr: 0x14DC0, symSize: 0x0 } - { offset: 0x2591, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$mirroredScreen', symObjAddr: 0x27CF0, symBinAddr: 0x185F8, symSize: 0x0 }
- { offset: 0x25BB, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIStatusBarManager$statusBarFrame', symObjAddr: 0x1F568, symBinAddr: 0x14DC8, symSize: 0x0 } - { offset: 0x25BB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$AVAudioSession$outputVolume', symObjAddr: 0x27CF8, symBinAddr: 0x18600, symSize: 0x0 }
- { offset: 0x2627, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$AVAudioSession$outputVolume', symObjAddr: 0x1F570, symBinAddr: 0x14DD0, symSize: 0x0 } - { offset: 0x25F5, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreenMode$size', symObjAddr: 0x27D00, symBinAddr: 0x18608, symSize: 0x0 }
- { offset: 0x299C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x1F578, symBinAddr: 0x14DD8, symSize: 0x0 } - { offset: 0x2624, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x27D08, symBinAddr: 0x18610, symSize: 0x0 }
- { offset: 0x2AC6, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSFileManager$fileExistsAtPath$', symObjAddr: 0x1F580, symBinAddr: 0x14DE0, symSize: 0x0 } - { offset: 0x274E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSFileManager$fileExistsAtPath$', symObjAddr: 0x27D10, symBinAddr: 0x18618, symSize: 0x0 }
- { offset: 0x2AF5, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$preferredLanguages', symObjAddr: 0x1F588, symBinAddr: 0x14DE8, symSize: 0x0 } - { offset: 0x277D, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$preferredLanguages', symObjAddr: 0x27D18, symBinAddr: 0x18620, symSize: 0x0 }
- { offset: 0x2B1F, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$currentLocale', symObjAddr: 0x1F590, symBinAddr: 0x14DF0, symSize: 0x0 } - { offset: 0x27A7, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$currentLocale', symObjAddr: 0x27D20, symBinAddr: 0x18628, symSize: 0x0 }
- { offset: 0x2B5E, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$systemLocale', symObjAddr: 0x1F598, symBinAddr: 0x14DF8, symSize: 0x0 } - { offset: 0x27E6, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$systemLocale', symObjAddr: 0x27D28, symBinAddr: 0x18630, symSize: 0x0 }
- { offset: 0x2B73, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$localTimeZone', symObjAddr: 0x1F5A0, symBinAddr: 0x14E00, symSize: 0x0 } - { offset: 0x27FB, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$localTimeZone', symObjAddr: 0x27D30, symBinAddr: 0x18638, symSize: 0x0 }
- { offset: 0x2BCC, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$systemTimeZone', symObjAddr: 0x1F5A8, symBinAddr: 0x14E08, symSize: 0x0 } - { offset: 0x2854, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$systemTimeZone', symObjAddr: 0x27D38, symBinAddr: 0x18640, symSize: 0x0 }
- { offset: 0x2BE1, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$defaultTimeZone', symObjAddr: 0x1F5B0, symBinAddr: 0x14E10, symSize: 0x0 } - { offset: 0x2869, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$defaultTimeZone', symObjAddr: 0x27D40, symBinAddr: 0x18648, symSize: 0x0 }
- { offset: 0x2BF6, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSMutableURLRequest$initWithURL$', symObjAddr: 0x1F5B8, symBinAddr: 0x14E18, symSize: 0x0 } - { offset: 0x287E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIStatusBarManager$statusBarFrame', symObjAddr: 0x27D48, symBinAddr: 0x18650, symSize: 0x0 }
- { offset: 0x2E93, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x1F5C0, symBinAddr: 0x14E20, symSize: 0x0 } - { offset: 0x28EA, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSMutableURLRequest$initWithURL$', symObjAddr: 0x27D50, symBinAddr: 0x18658, symSize: 0x0 }
- { offset: 0x2EC8, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x1F5C8, symBinAddr: 0x14E28, symSize: 0x0 } - { offset: 0x2B87, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x27D58, symBinAddr: 0x18660, symSize: 0x0 }
- { offset: 0x35FC, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x1F5D0, symBinAddr: 0x14E30, symSize: 0x0 } - { offset: 0x2BBC, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x27D60, symBinAddr: 0x18668, symSize: 0x0 }
- { offset: 0x384E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x1F5D8, symBinAddr: 0x14E38, symSize: 0x0 } - { offset: 0x32F0, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x27D68, symBinAddr: 0x18670, symSize: 0x0 }
- { offset: 0x54B2, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$setCustomUserAgent$', symObjAddr: 0x1F5E0, symBinAddr: 0x14E40, symSize: 0x0 } - { offset: 0x3542, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x27D70, symBinAddr: 0x18678, symSize: 0x0 }
- { offset: 0x54DD, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$customUserAgent', symObjAddr: 0x1F5E8, symBinAddr: 0x14E48, symSize: 0x0 } - { offset: 0x51A6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$setCustomUserAgent$', symObjAddr: 0x27D78, symBinAddr: 0x18680, symSize: 0x0 }
- { offset: 0x5507, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x1F5F0, symBinAddr: 0x14E50, symSize: 0x0 } - { offset: 0x51D1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$customUserAgent', symObjAddr: 0x27D80, symBinAddr: 0x18688, symSize: 0x0 }
- { offset: 0x56B7, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x1F5F8, symBinAddr: 0x14E58, symSize: 0x0 } - { offset: 0x51FB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x27D88, symBinAddr: 0x18690, symSize: 0x0 }
- { offset: 0x56CC, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x1F600, symBinAddr: 0x14E60, symSize: 0x0 } - { offset: 0x53AB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x27D90, symBinAddr: 0x18698, symSize: 0x0 }
- { offset: 0x5C18, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$uname', symObjAddr: 0x1F608, symBinAddr: 0x14E68, symSize: 0x0 } - { offset: 0x53C0, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x27D98, symBinAddr: 0x186A0, symSize: 0x0 }
- { offset: 0x5C9A, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$sysctl', symObjAddr: 0x1F610, symBinAddr: 0x14E70, symSize: 0x0 } - { offset: 0x590C, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$uname', symObjAddr: 0x27DA0, symBinAddr: 0x186A8, symSize: 0x0 }
- { offset: 0x5CF3, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$sysctlbyname', symObjAddr: 0x1F618, symBinAddr: 0x14E78, symSize: 0x0 } - { offset: 0x598E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$sysctl', symObjAddr: 0x27DA8, symBinAddr: 0x186B0, symSize: 0x0 }
- { offset: 0x5D2D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$clock_gettime', symObjAddr: 0x1F620, symBinAddr: 0x14E80, symSize: 0x0 } - { offset: 0x59E7, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$sysctlbyname', symObjAddr: 0x27DB0, symBinAddr: 0x186B8, symSize: 0x0 }
- { offset: 0x5DCD, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$getifaddrs', symObjAddr: 0x1F628, symBinAddr: 0x14E88, symSize: 0x0 } - { offset: 0x5A21, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$clock_gettime', symObjAddr: 0x27DB8, symBinAddr: 0x186C0, symSize: 0x0 }
- { offset: 0x5EAB, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$SCNetworkReachabilityGetFlags', symObjAddr: 0x1F630, symBinAddr: 0x14E90, symSize: 0x0 } - { offset: 0x5AC1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$getifaddrs', symObjAddr: 0x27DC0, symBinAddr: 0x186C8, symSize: 0x0 }
- { offset: 0x5F5C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x1F638, symBinAddr: 0x14E98, symSize: 0x0 } - { offset: 0x5B9F, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$SCNetworkReachabilityGetFlags', symObjAddr: 0x27DC8, symBinAddr: 0x186D0, symSize: 0x0 }
- { offset: 0x5F7E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x1F640, symBinAddr: 0x14EA0, symSize: 0x0 } - { offset: 0x5C50, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x27DD0, symBinAddr: 0x186D8, symSize: 0x0 }
- { offset: 0x6166, size: 0x8, addend: 0x0, symName: _SetupXSLog, symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x28 } - { offset: 0x5C72, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x27DD8, symBinAddr: 0x186E0, symSize: 0x0 }
- { offset: 0x617B, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData rotationRate]', symObjAddr: 0x28, symBinAddr: 0x4028, symSize: 0x48 } - { offset: 0x5E40, size: 0x8, addend: 0x0, symName: _SetupXSLog, symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x28 }
- { offset: 0x61B2, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData customRotationRate]', symObjAddr: 0x70, symBinAddr: 0x4070, symSize: 0x40 } - { offset: 0x5E55, size: 0x8, addend: 0x0, symName: _str2uuid, symObjAddr: 0x28, symBinAddr: 0x4028, symSize: 0x78 }
- { offset: 0x61E9, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData setCustomRotationRate:]', symObjAddr: 0xB0, symBinAddr: 0x40B0, symSize: 0x40 } - { offset: 0x5E7D, size: 0x8, addend: 0x0, symName: _str2int, symObjAddr: 0xA0, symBinAddr: 0x40A0, symSize: 0x5C }
- { offset: 0x6228, size: 0x8, addend: 0x0, symName: __logosLocalCtor_e9c95796, symObjAddr: 0xF0, symBinAddr: 0x40F0, symSize: 0x1018 } - { offset: 0x5EA5, size: 0x8, addend: 0x0, symName: _str2float, symObjAddr: 0xFC, symBinAddr: 0x40FC, symSize: 0x58 }
- { offset: 0x64AB, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x1108, symBinAddr: 0x5108, symSize: 0x84 } - { offset: 0x5ECD, size: 0x8, addend: 0x0, symName: _str2double, symObjAddr: 0x154, symBinAddr: 0x4154, symSize: 0x58 }
- { offset: 0x6515, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x118C, symBinAddr: 0x518C, symSize: 0x16C } - { offset: 0x5EF5, size: 0x8, addend: 0x0, symName: _str2ull, symObjAddr: 0x1AC, symBinAddr: 0x41AC, symSize: 0x5C }
- { offset: 0x6577, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x12F8, symBinAddr: 0x52F8, symSize: 0x124 } - { offset: 0x5F1D, size: 0x8, addend: 0x0, symName: _tryGetVal, symObjAddr: 0x208, symBinAddr: 0x4208, symSize: 0x198 }
- { offset: 0x65BB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x141C, symBinAddr: 0x541C, symSize: 0x74 } - { offset: 0x5F77, size: 0x8, addend: 0x0, symName: _str2chars, symObjAddr: 0x3A0, symBinAddr: 0x43A0, symSize: 0x70 }
- { offset: 0x65FF, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$identifierForVendor', symObjAddr: 0x1490, symBinAddr: 0x5490, symSize: 0x124 } - { offset: 0x5FAD, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData rotationRate]', symObjAddr: 0x410, symBinAddr: 0x4410, symSize: 0x48 }
- { offset: 0x6643, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$name', symObjAddr: 0x15B4, symBinAddr: 0x55B4, symSize: 0x124 } - { offset: 0x5FE4, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData customRotationRate]', symObjAddr: 0x458, symBinAddr: 0x4458, symSize: 0x40 }
- { offset: 0x6687, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$model', symObjAddr: 0x16D8, symBinAddr: 0x56D8, symSize: 0x38 } - { offset: 0x601B, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData setCustomRotationRate:]', symObjAddr: 0x498, symBinAddr: 0x4498, symSize: 0x40 }
- { offset: 0x66BD, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$localizedModel', symObjAddr: 0x1710, symBinAddr: 0x5710, symSize: 0x38 } - { offset: 0x605A, size: 0x8, addend: 0x0, symName: __logosLocalCtor_9b794672, symObjAddr: 0x4D8, symBinAddr: 0x44D8, symSize: 0xFEC }
- { offset: 0x66F3, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$systemName', symObjAddr: 0x1748, symBinAddr: 0x5748, symSize: 0x38 } - { offset: 0x62FD, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x14C4, symBinAddr: 0x54C4, symSize: 0x14C }
- { offset: 0x6729, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$systemVersion', symObjAddr: 0x1780, symBinAddr: 0x5780, symSize: 0x124 } - { offset: 0x635E, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x1610, symBinAddr: 0x5610, symSize: 0x1F0 }
- { offset: 0x676D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$batteryState', symObjAddr: 0x18A4, symBinAddr: 0x58A4, symSize: 0xA0 } - { offset: 0x63C5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x1800, symBinAddr: 0x5800, symSize: 0x198 }
- { offset: 0x67B1, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$batteryLevel', symObjAddr: 0x1944, symBinAddr: 0x5944, symSize: 0xA4 } - { offset: 0x640E, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x1998, symBinAddr: 0x5998, symSize: 0x110 }
- { offset: 0x67F5, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$orientation', symObjAddr: 0x19E8, symBinAddr: 0x59E8, symSize: 0x18 } - { offset: 0x6457, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$identifierForVendor', symObjAddr: 0x1AA8, symBinAddr: 0x5AA8, symSize: 0x198 }
- { offset: 0x682B, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$systemUptime', symObjAddr: 0x1A00, symBinAddr: 0x5A00, symSize: 0xA8 } - { offset: 0x64A0, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$name', symObjAddr: 0x1C40, symBinAddr: 0x5C40, symSize: 0x198 }
- { offset: 0x687D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$physicalMemory', symObjAddr: 0x1AA8, symBinAddr: 0x5AA8, symSize: 0xA4 } - { offset: 0x64E9, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$model', symObjAddr: 0x1DD8, symBinAddr: 0x5DD8, symSize: 0x38 }
- { offset: 0x68C1, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$processorCount', symObjAddr: 0x1B4C, symBinAddr: 0x5B4C, symSize: 0xA4 } - { offset: 0x651F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$localizedModel', symObjAddr: 0x1E10, symBinAddr: 0x5E10, symSize: 0x38 }
- { offset: 0x6905, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x1BF0, symBinAddr: 0x5BF0, symSize: 0x46C } - { offset: 0x6555, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$systemName', symObjAddr: 0x1E48, symBinAddr: 0x5E48, symSize: 0x38 }
- { offset: 0x6987, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIWindow$safeAreaInsets', symObjAddr: 0x205C, symBinAddr: 0x605C, symSize: 0x174 } - { offset: 0x658B, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$systemVersion', symObjAddr: 0x1E80, symBinAddr: 0x5E80, symSize: 0x198 }
- { offset: 0x6A04, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$brightness', symObjAddr: 0x21D0, symBinAddr: 0x61D0, symSize: 0xA4 } - { offset: 0x65D4, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$batteryState', symObjAddr: 0x2018, symBinAddr: 0x6018, symSize: 0x10C }
- { offset: 0x6A48, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$bounds', symObjAddr: 0x2274, symBinAddr: 0x6274, symSize: 0x178 } - { offset: 0x661D, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$batteryLevel', symObjAddr: 0x2124, symBinAddr: 0x6124, symSize: 0x10C }
- { offset: 0x6AB7, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$scale', symObjAddr: 0x23EC, symBinAddr: 0x63EC, symSize: 0xA4 } - { offset: 0x6666, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$orientation', symObjAddr: 0x2230, symBinAddr: 0x6230, symSize: 0x18 }
- { offset: 0x6AFB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$nativeBounds', symObjAddr: 0x2490, symBinAddr: 0x6490, symSize: 0x178 } - { offset: 0x669C, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$systemUptime', symObjAddr: 0x2248, symBinAddr: 0x6248, symSize: 0x10C }
- { offset: 0x6B6A, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$isCaptured', symObjAddr: 0x2608, symBinAddr: 0x6608, symSize: 0x1C } - { offset: 0x66E5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$physicalMemory', symObjAddr: 0x2354, symBinAddr: 0x6354, symSize: 0x12C }
- { offset: 0x6BA0, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$mirroredScreen', symObjAddr: 0x2624, symBinAddr: 0x6624, symSize: 0x18 } - { offset: 0x672F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$processorCount', symObjAddr: 0x2480, symBinAddr: 0x6480, symSize: 0x10C }
- { offset: 0x6BD6, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreenMode$size', symObjAddr: 0x263C, symBinAddr: 0x663C, symSize: 0x158 } - { offset: 0x677C, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x258C, symBinAddr: 0x658C, symSize: 0x644 }
- { offset: 0x6C44, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIStatusBarManager$statusBarFrame', symObjAddr: 0x2794, symBinAddr: 0x6794, symSize: 0x194 } - { offset: 0x680A, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIWindow$safeAreaInsets', symObjAddr: 0x2BD0, symBinAddr: 0x6BD0, symSize: 0x230 }
- { offset: 0x6CB3, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$AVAudioSession$outputVolume', symObjAddr: 0x2928, symBinAddr: 0x6928, symSize: 0xA4 } - { offset: 0x6858, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$brightness', symObjAddr: 0x2E00, symBinAddr: 0x6E00, symSize: 0x10C }
- { offset: 0x6CFB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x29CC, symBinAddr: 0x69CC, symSize: 0x294 } - { offset: 0x68A5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$bounds', symObjAddr: 0x2F0C, symBinAddr: 0x6F0C, symSize: 0x148 }
- { offset: 0x6D9D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSFileManager$fileExistsAtPath$', symObjAddr: 0x2C60, symBinAddr: 0x6C60, symSize: 0x398 } - { offset: 0x68F3, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$scale', symObjAddr: 0x3054, symBinAddr: 0x7054, symSize: 0x10C }
- { offset: 0x6E08, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$preferredLanguages', symObjAddr: 0x2FF8, symBinAddr: 0x6FF8, symSize: 0x80 } - { offset: 0x6940, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$nativeBounds', symObjAddr: 0x3160, symBinAddr: 0x7160, symSize: 0x148 }
- { offset: 0x6E41, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$currentLocale', symObjAddr: 0x3078, symBinAddr: 0x7078, symSize: 0xE8 } - { offset: 0x698E, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$isCaptured', symObjAddr: 0x32A8, symBinAddr: 0x72A8, symSize: 0x1C }
- { offset: 0x6E89, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$systemLocale', symObjAddr: 0x3160, symBinAddr: 0x7160, symSize: 0xE8 } - { offset: 0x69C7, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$mirroredScreen', symObjAddr: 0x32C4, symBinAddr: 0x72C4, symSize: 0x18 }
- { offset: 0x6ED1, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$localTimeZone', symObjAddr: 0x3248, symBinAddr: 0x7248, symSize: 0xEC } - { offset: 0x6A00, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$AVAudioSession$outputVolume', symObjAddr: 0x32DC, symBinAddr: 0x72DC, symSize: 0x10C }
- { offset: 0x6F19, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$systemTimeZone', symObjAddr: 0x3334, symBinAddr: 0x7334, symSize: 0xEC } - { offset: 0x6A4D, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreenMode$size', symObjAddr: 0x33E8, symBinAddr: 0x73E8, symSize: 0x120 }
- { offset: 0x6F61, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$defaultTimeZone', symObjAddr: 0x3420, symBinAddr: 0x7420, symSize: 0xEC } - { offset: 0x6A9B, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x3508, symBinAddr: 0x7508, symSize: 0x28C }
- { offset: 0x6FA9, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSMutableURLRequest$initWithURL$', symObjAddr: 0x350C, symBinAddr: 0x750C, symSize: 0x140 } - { offset: 0x6B1F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSFileManager$fileExistsAtPath$', symObjAddr: 0x3794, symBinAddr: 0x7794, symSize: 0x3BC }
- { offset: 0x7006, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x364C, symBinAddr: 0x764C, symSize: 0x140 } - { offset: 0x6B8A, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$preferredLanguages', symObjAddr: 0x3B50, symBinAddr: 0x7B50, symSize: 0x8C }
- { offset: 0x707D, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x378C, symBinAddr: 0x778C, symSize: 0x174 } - { offset: 0x6BC3, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$currentLocale', symObjAddr: 0x3BDC, symBinAddr: 0x7BDC, symSize: 0x178 }
- { offset: 0x70D4, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x3900, symBinAddr: 0x7900, symSize: 0x148 } - { offset: 0x6C10, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$systemLocale', symObjAddr: 0x3D54, symBinAddr: 0x7D54, symSize: 0x178 }
- { offset: 0x7149, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x3A48, symBinAddr: 0x7A48, symSize: 0x104 } - { offset: 0x6C5D, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$localTimeZone', symObjAddr: 0x3ECC, symBinAddr: 0x7ECC, symSize: 0x178 }
- { offset: 0x71AB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$setCustomUserAgent$', symObjAddr: 0x3B4C, symBinAddr: 0x7B4C, symSize: 0xF0 } - { offset: 0x6CAA, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$systemTimeZone', symObjAddr: 0x4044, symBinAddr: 0x8044, symSize: 0x178 }
- { offset: 0x71FE, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$customUserAgent', symObjAddr: 0x3C3C, symBinAddr: 0x7C3C, symSize: 0x124 } - { offset: 0x6CF7, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$defaultTimeZone', symObjAddr: 0x41BC, symBinAddr: 0x81BC, symSize: 0x178 }
- { offset: 0x7246, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x3D60, symBinAddr: 0x7D60, symSize: 0x3C0 } - { offset: 0x6D44, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIStatusBarManager$statusBarFrame', symObjAddr: 0x4334, symBinAddr: 0x8334, symSize: 0x148 }
- { offset: 0x72ED, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x4120, symBinAddr: 0x8120, symSize: 0x6DC } - { offset: 0x6D92, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSMutableURLRequest$initWithURL$', symObjAddr: 0x447C, symBinAddr: 0x847C, symSize: 0x150 }
- { offset: 0x7394, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x47FC, symBinAddr: 0x87FC, symSize: 0x16C } - { offset: 0x6DDA, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x45CC, symBinAddr: 0x85CC, symSize: 0x1BC }
- { offset: 0x73F6, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$uname', symObjAddr: 0x4968, symBinAddr: 0x8968, symSize: 0x100 } - { offset: 0x6E42, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x4788, symBinAddr: 0x8788, symSize: 0x120 }
- { offset: 0x745C, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$sysctl', symObjAddr: 0x4A68, symBinAddr: 0x8A68, symSize: 0x354 } - { offset: 0x6E8A, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x48A8, symBinAddr: 0x88A8, symSize: 0x160 }
- { offset: 0x7559, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$sysctlbyname', symObjAddr: 0x4DBC, symBinAddr: 0x8DBC, symSize: 0x2B8 } - { offset: 0x6EF0, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x4A08, symBinAddr: 0x8A08, symSize: 0x21C }
- { offset: 0x768F, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$clock_gettime', symObjAddr: 0x5074, symBinAddr: 0x9074, symSize: 0x54 } - { offset: 0x6F58, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$setCustomUserAgent$', symObjAddr: 0x4C24, symBinAddr: 0x8C24, symSize: 0x170 }
- { offset: 0x76D7, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$getifaddrs', symObjAddr: 0x50C8, symBinAddr: 0x90C8, symSize: 0x618 } - { offset: 0x6FB1, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$customUserAgent', symObjAddr: 0x4D94, symBinAddr: 0x8D94, symSize: 0x16C }
- { offset: 0x7857, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$SCNetworkReachabilityGetFlags', symObjAddr: 0x56E0, symBinAddr: 0x96E0, symSize: 0x7C } - { offset: 0x6FFE, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x4F00, symBinAddr: 0x8F00, symSize: 0x19C }
- { offset: 0x789F, size: 0x8, addend: 0x0, symName: __logosLocalDtor_2e2d985c, symObjAddr: 0x575C, symBinAddr: 0x975C, symSize: 0x68 } - { offset: 0x7055, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x509C, symBinAddr: 0x909C, symSize: 0x19C }
- { offset: 0x78E3, size: 0x8, addend: 0x0, symName: '____logos_meta_method$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke', symObjAddr: 0x57C4, symBinAddr: 0x97C4, symSize: 0x58 } - { offset: 0x70AC, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x5238, symBinAddr: 0x9238, symSize: 0x16C }
- { offset: 0x792D, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b, symObjAddr: 0x581C, symBinAddr: 0x981C, symSize: 0x3C } - { offset: 0x710E, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$uname', symObjAddr: 0x53A4, symBinAddr: 0x93A4, symSize: 0xA4 }
- { offset: 0x7951, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s, symObjAddr: 0x5858, symBinAddr: 0x9858, symSize: 0x30 } - { offset: 0x7147, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$sysctl', symObjAddr: 0x5448, symBinAddr: 0x9448, symSize: 0x458 }
- { offset: 0x796D, size: 0x8, addend: 0x0, symName: _UIEdgeInsetsMake, symObjAddr: 0x5888, symBinAddr: 0x9888, symSize: 0x4C } - { offset: 0x7234, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$sysctlbyname', symObjAddr: 0x58A0, symBinAddr: 0x98A0, symSize: 0x47C }
- { offset: 0x79CD, size: 0x8, addend: 0x0, symName: _CGRectMake, symObjAddr: 0x58D4, symBinAddr: 0x98D4, symSize: 0x4C } - { offset: 0x7332, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$clock_gettime', symObjAddr: 0x5D1C, symBinAddr: 0x9D1C, symSize: 0x60 }
- { offset: 0x7A33, size: 0x8, addend: 0x0, symName: _CGSizeMake, symObjAddr: 0x5920, symBinAddr: 0x9920, symSize: 0x2C } - { offset: 0x737A, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$getifaddrs', symObjAddr: 0x5D7C, symBinAddr: 0x9D7C, symSize: 0x6C4 }
- { offset: 0x7A7B, size: 0x8, addend: 0x0, symName: '____logos_method$XHooks$NSFileManager$fileExistsAtPath$_block_invoke', symObjAddr: 0x594C, symBinAddr: 0x994C, symSize: 0xA0 } - { offset: 0x7500, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$SCNetworkReachabilityGetFlags', symObjAddr: 0x6440, symBinAddr: 0xA440, symSize: 0x88 }
- { offset: 0x7B05, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s, symObjAddr: 0x59EC, symBinAddr: 0x99EC, symSize: 0x3C } - { offset: 0x7548, size: 0x8, addend: 0x0, symName: __logosLocalDtor_fefd86ea, symObjAddr: 0x64C8, symBinAddr: 0xA4C8, symSize: 0x2C }
- { offset: 0x7B29, size: 0x8, addend: 0x0, symName: '____logos_method$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$_block_invoke', symObjAddr: 0x5A28, symBinAddr: 0x9A28, symSize: 0x114 } - { offset: 0x758C, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$trackingAuthorizationStatus_block_invoke', symObjAddr: 0x64F4, symBinAddr: 0xA4F4, symSize: 0x84 }
- { offset: 0x7BAF, size: 0x8, addend: 0x0, symName: _randomRadiansPerSecond, symObjAddr: 0x5B3C, symBinAddr: 0x9B3C, symSize: 0x48 } - { offset: 0x75D9, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32r, symObjAddr: 0x6578, symBinAddr: 0xA578, symSize: 0x3C }
- { offset: 0x7BD9, size: 0x8, addend: 0x0, symName: _modifyInterfaceIP, symObjAddr: 0x5B84, symBinAddr: 0x9B84, symSize: 0x144 } - { offset: 0x75FD, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32r, symObjAddr: 0x65B4, symBinAddr: 0xA5B4, symSize: 0x30 }
- { offset: 0x7C6C, size: 0x8, addend: 0x0, symName: _createInterface, symObjAddr: 0x5CC8, symBinAddr: 0x9CC8, symSize: 0x3CC } - { offset: 0x7619, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke', symObjAddr: 0x65E4, symBinAddr: 0xA5E4, symSize: 0x84 }
- { offset: 0x7D15, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x6094, symBinAddr: 0xA094, symSize: 0xC } - { offset: 0x7666, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke_2', symObjAddr: 0x6668, symBinAddr: 0xA668, symSize: 0x60 }
- { offset: 0x7D2F, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x60A0, symBinAddr: 0xA0A0, symSize: 0xC } - { offset: 0x76B6, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b40r, symObjAddr: 0x66C8, symBinAddr: 0xA6C8, symSize: 0x5C }
- { offset: 0x7D49, size: 0x8, addend: 0x0, symName: ___GLOBAL_init_65535, symObjAddr: 0x6284, symBinAddr: 0xA0AC, symSize: 0x34 } - { offset: 0x76DA, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40r, symObjAddr: 0x6724, symBinAddr: 0xA724, symSize: 0x44 }
- { offset: 0x7FCF, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xA0E0, symSize: 0x11C } - { offset: 0x76F6, size: 0x8, addend: 0x0, symName: ___Block_byref_object_copy_, symObjAddr: 0x6768, symBinAddr: 0xA768, symSize: 0x58 }
- { offset: 0x7FE8, size: 0x8, addend: 0x0, symName: _kLogFilePath, symObjAddr: 0xEA8, symBinAddr: 0x14CF0, symSize: 0x0 } - { offset: 0x771A, size: 0x8, addend: 0x0, symName: ___Block_byref_object_dispose_, symObjAddr: 0x67C0, symBinAddr: 0xA7C0, symSize: 0x30 }
- { offset: 0x804F, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xA0E0, symSize: 0x11C } - { offset: 0x7736, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$ASIdentifierManager$advertisingIdentifier_block_invoke', symObjAddr: 0x67F0, symBinAddr: 0xA7F0, symSize: 0x84 }
- { offset: 0x8070, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath.onceToken, symObjAddr: 0x3E60, symBinAddr: 0x14EA8, symSize: 0x0 } - { offset: 0x7783, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled_block_invoke', symObjAddr: 0x6874, symBinAddr: 0xA874, symSize: 0xA0 }
- { offset: 0x8115, size: 0x8, addend: 0x0, symName: _logFileHandle, symObjAddr: 0x3E70, symBinAddr: 0x14EB8, symSize: 0x0 } - { offset: 0x77EC, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$identifierForVendor_block_invoke', symObjAddr: 0x6914, symBinAddr: 0xA914, symSize: 0x84 }
- { offset: 0x8195, size: 0x8, addend: 0x0, symName: _logQueue, symObjAddr: 0x3E68, symBinAddr: 0x14EB0, symSize: 0x0 } - { offset: 0x7839, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$name_block_invoke', symObjAddr: 0x6998, symBinAddr: 0xA998, symSize: 0x68 }
- { offset: 0x81BA, size: 0x8, addend: 0x0, symName: _kMaxFileSize, symObjAddr: 0xEB0, symBinAddr: 0x14CF8, symSize: 0x0 } - { offset: 0x7886, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$systemVersion_block_invoke', symObjAddr: 0x6A00, symBinAddr: 0xAA00, symSize: 0x68 }
- { offset: 0x81CF, size: 0x8, addend: 0x0, symName: _logCount, symObjAddr: 0x3E78, symBinAddr: 0x14EC0, symSize: 0x0 } - { offset: 0x78D3, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$batteryState_block_invoke', symObjAddr: 0x6A68, symBinAddr: 0xAA68, symSize: 0x74 }
- { offset: 0x82ED, size: 0x8, addend: 0x0, symName: ___XSLogSetupLogWithFilePath_block_invoke, symObjAddr: 0x11C, symBinAddr: 0xA1FC, symSize: 0x88 } - { offset: 0x793C, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$batteryLevel_block_invoke', symObjAddr: 0x6ADC, symBinAddr: 0xAADC, symSize: 0x68 }
- { offset: 0x8337, size: 0x8, addend: 0x0, symName: _setupLogFileHandle, symObjAddr: 0x1A4, symBinAddr: 0xA284, symSize: 0x184 } - { offset: 0x7989, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$systemUptime_block_invoke', symObjAddr: 0x6B44, symBinAddr: 0xAB44, symSize: 0x8C }
- { offset: 0x835B, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFileName, symObjAddr: 0x394, symBinAddr: 0xA408, symSize: 0x98 } - { offset: 0x79F2, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$physicalMemory_block_invoke', symObjAddr: 0x6BD0, symBinAddr: 0xABD0, symSize: 0x78 }
- { offset: 0x838D, size: 0x8, addend: 0x0, symName: _getLogFilePath, symObjAddr: 0x42C, symBinAddr: 0xA4A0, symSize: 0x100 } - { offset: 0x7A60, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$processorCount_block_invoke', symObjAddr: 0x6C48, symBinAddr: 0xAC48, symSize: 0x78 }
- { offset: 0x83DF, size: 0x8, addend: 0x0, symName: _XSLogRedirectNSLog, symObjAddr: 0x52C, symBinAddr: 0xA5A0, symSize: 0xC4 } - { offset: 0x7ACE, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$operatingSystemVersion_block_invoke', symObjAddr: 0x6CC0, symBinAddr: 0xACC0, symSize: 0x68 }
- { offset: 0x8411, size: 0x8, addend: 0x0, symName: _XSLogMessage, symObjAddr: 0x5F0, symBinAddr: 0xA664, symSize: 0x118 } - { offset: 0x7B1F, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIWindow$safeAreaInsets_block_invoke', symObjAddr: 0x6D28, symBinAddr: 0xAD28, symSize: 0x164 }
- { offset: 0x8452, size: 0x8, addend: 0x0, symName: ___XSLogMessage_block_invoke, symObjAddr: 0x708, symBinAddr: 0xA77C, symSize: 0x2D0 } - { offset: 0x7B9C, size: 0x8, addend: 0x0, symName: _UIEdgeInsetsMake, symObjAddr: 0x6E8C, symBinAddr: 0xAE8C, symSize: 0x4C }
- { offset: 0x84DE, size: 0x8, addend: 0x0, symName: _checkAndRollLogFile, symObjAddr: 0x9D8, symBinAddr: 0xAA4C, symSize: 0x29C } - { offset: 0x7BFC, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$brightness_block_invoke', symObjAddr: 0x6ED8, symBinAddr: 0xAED8, symSize: 0x7C }
- { offset: 0x8CEF, size: 0x8, addend: 0x0, symName: '+[XHookSettingsManager sharedManager]', symObjAddr: 0x0, symBinAddr: 0xACE8, symSize: 0x90 } - { offset: 0x7C6A, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$bounds_block_invoke', symObjAddr: 0x6F54, symBinAddr: 0xAF54, symSize: 0x130 }
- { offset: 0x8CFC, size: 0x8, addend: 0x0, symName: '+[XHookSettingsManager sharedManager]', symObjAddr: 0x0, symBinAddr: 0xACE8, symSize: 0x90 } - { offset: 0x7D06, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$scale_block_invoke', symObjAddr: 0x7084, symBinAddr: 0xB084, symSize: 0x7C }
- { offset: 0x8D25, size: 0x8, addend: 0x0, symName: _sharedManager.manager, symObjAddr: 0x6E40, symBinAddr: 0x14EC8, symSize: 0x0 } - { offset: 0x7D74, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$nativeBounds_block_invoke', symObjAddr: 0x7100, symBinAddr: 0xB100, symSize: 0x130 }
- { offset: 0x8D3A, size: 0x8, addend: 0x0, symName: _sharedManager.onceToken, symObjAddr: 0x6E48, symBinAddr: 0x14ED0, symSize: 0x0 } - { offset: 0x7E10, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$AVAudioSession$outputVolume_block_invoke', symObjAddr: 0x7230, symBinAddr: 0xB230, symSize: 0x7C }
- { offset: 0x9246, size: 0x8, addend: 0x0, symName: '___37+[XHookSettingsManager sharedManager]_block_invoke', symObjAddr: 0x90, symBinAddr: 0xAD78, symSize: 0x58 } - { offset: 0x7E7E, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreenMode$size_block_invoke', symObjAddr: 0x72AC, symBinAddr: 0xB2AC, symSize: 0x11C }
- { offset: 0x926E, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager init]', symObjAddr: 0xE8, symBinAddr: 0xADD0, symSize: 0xB4 } - { offset: 0x7F19, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$_block_invoke', symObjAddr: 0x73C8, symBinAddr: 0xB3C8, symSize: 0xB4 }
- { offset: 0x92A4, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager resetToDefaults]', symObjAddr: 0x19C, symBinAddr: 0xAE84, symSize: 0x188 } - { offset: 0x7F81, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s, symObjAddr: 0x747C, symBinAddr: 0xB47C, symSize: 0x3C }
- { offset: 0x92D6, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseString:defaultValue:]', symObjAddr: 0x324, symBinAddr: 0xB00C, symSize: 0xEC } - { offset: 0x7FA5, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s, symObjAddr: 0x74B8, symBinAddr: 0xB4B8, symSize: 0x30 }
- { offset: 0x9328, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseInteger:defaultValue:]', symObjAddr: 0x410, symBinAddr: 0xB0F8, symSize: 0x104 } - { offset: 0x7FC1, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$_block_invoke.318', symObjAddr: 0x74E8, symBinAddr: 0xB4E8, symSize: 0xB4 }
- { offset: 0x937A, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseFloat:defaultValue:]', symObjAddr: 0x514, symBinAddr: 0xB1FC, symSize: 0x104 } - { offset: 0x8029, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$fileExistsAtPath$_block_invoke', symObjAddr: 0x759C, symBinAddr: 0xB59C, symSize: 0xA0 }
- { offset: 0x93CC, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseDouble:defaultValue:]', symObjAddr: 0x618, symBinAddr: 0xB300, symSize: 0x104 } - { offset: 0x80B3, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSLocale$currentLocale_block_invoke', symObjAddr: 0x763C, symBinAddr: 0xB63C, symSize: 0xB4 }
- { offset: 0x941E, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseULL:defaultValue:]', symObjAddr: 0x71C, symBinAddr: 0xB404, symSize: 0x104 } - { offset: 0x8121, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSLocale$systemLocale_block_invoke', symObjAddr: 0x76F0, symBinAddr: 0xB6F0, symSize: 0xB4 }
- { offset: 0x9470, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseUUID:]', symObjAddr: 0x820, symBinAddr: 0xB508, symSize: 0xC0 } - { offset: 0x818F, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$localTimeZone_block_invoke', symObjAddr: 0x77A4, symBinAddr: 0xB7A4, symSize: 0xB8 }
- { offset: 0x94B4, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseDictionary:]', symObjAddr: 0x8E0, symBinAddr: 0xB5C8, symSize: 0xB8 } - { offset: 0x81FD, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$systemTimeZone_block_invoke', symObjAddr: 0x785C, symBinAddr: 0xB85C, symSize: 0xB8 }
- { offset: 0x94F8, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseArray:]', symObjAddr: 0x998, symBinAddr: 0xB680, symSize: 0xB8 } - { offset: 0x826B, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$defaultTimeZone_block_invoke', symObjAddr: 0x7914, symBinAddr: 0xB914, symSize: 0xB8 }
- { offset: 0x953C, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager loadSettingsFromPath:]', symObjAddr: 0xA50, symBinAddr: 0xB738, symSize: 0x304 } - { offset: 0x82D9, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIStatusBarManager$statusBarFrame_block_invoke', symObjAddr: 0x79CC, symBinAddr: 0xB9CC, symSize: 0xE4 }
- { offset: 0x95DD, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseSettings:]', symObjAddr: 0xD54, symBinAddr: 0xBA3C, symSize: 0xAB8 } - { offset: 0x8365, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSMutableURLRequest$initWithURL$_block_invoke', symObjAddr: 0x7AB0, symBinAddr: 0xBAB0, symSize: 0x6C }
- { offset: 0x962B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager cleanup]', symObjAddr: 0x180C, symBinAddr: 0xC4F4, symSize: 0x30 } - { offset: 0x83B0, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$_block_invoke', symObjAddr: 0x7B1C, symBinAddr: 0xBB1C, symSize: 0x68 }
- { offset: 0x965D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager shouldHookApp:]', symObjAddr: 0x183C, symBinAddr: 0xC524, symSize: 0xAC } - { offset: 0x8401, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSURLSession$sessionWithConfiguration$_block_invoke', symObjAddr: 0x7B84, symBinAddr: 0xBB84, symSize: 0xE0 }
- { offset: 0x96A1, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager isLoaded]', symObjAddr: 0x18E8, symBinAddr: 0xC5D0, symSize: 0x20 } - { offset: 0x844C, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSURLSession$dataTaskWithRequest$completionHandler$_block_invoke', symObjAddr: 0x7C64, symBinAddr: 0xBC64, symSize: 0x6C }
- { offset: 0x96D7, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager idfa]', symObjAddr: 0x1908, symBinAddr: 0xC5F0, symSize: 0x1C } - { offset: 0x8497, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$evaluateJavaScript$completionHandler$_block_invoke', symObjAddr: 0x7CD0, symBinAddr: 0xBCD0, symSize: 0x68 }
- { offset: 0x970D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager idfv]', symObjAddr: 0x1924, symBinAddr: 0xC60C, symSize: 0x1C } - { offset: 0x84E8, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$setCustomUserAgent$_block_invoke', symObjAddr: 0x7D38, symBinAddr: 0xBD38, symSize: 0x68 }
- { offset: 0x9743, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager deviceName]', symObjAddr: 0x1940, symBinAddr: 0xC628, symSize: 0x1C } - { offset: 0x8539, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$customUserAgent_block_invoke', symObjAddr: 0x7DA0, symBinAddr: 0xBDA0, symSize: 0x68 }
- { offset: 0x9779, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager osVersion]', symObjAddr: 0x195C, symBinAddr: 0xC644, symSize: 0x1C } - { offset: 0x858A, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology_block_invoke', symObjAddr: 0x7E08, symBinAddr: 0xBE08, symSize: 0x26C }
- { offset: 0x97AF, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager productStr]', symObjAddr: 0x1978, symBinAddr: 0xC660, symSize: 0x1C } - { offset: 0x8632, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders_block_invoke', symObjAddr: 0x8074, symBinAddr: 0xC074, symSize: 0x48C }
- { offset: 0x97E5, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager hwModel]', symObjAddr: 0x1994, symBinAddr: 0xC67C, symSize: 0x1C } - { offset: 0x86DA, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$_block_invoke', symObjAddr: 0x8500, symBinAddr: 0xC500, symSize: 0x164 }
- { offset: 0x981B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager trackingStatus]', symObjAddr: 0x19B0, symBinAddr: 0xC698, symSize: 0x1C } - { offset: 0x877F, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b, symObjAddr: 0x8664, symBinAddr: 0xC664, symSize: 0x3C }
- { offset: 0x9851, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager physicalMemory]', symObjAddr: 0x19CC, symBinAddr: 0xC6B4, symSize: 0x1C } - { offset: 0x87A3, size: 0x8, addend: 0x0, symName: _randomRadiansPerSecond, symObjAddr: 0x86A0, symBinAddr: 0xC6A0, symSize: 0x48 }
- { offset: 0x9887, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager cpuCore]', symObjAddr: 0x19E8, symBinAddr: 0xC6D0, symSize: 0x1C } - { offset: 0x87CD, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$uname_block_invoke', symObjAddr: 0x86E8, symBinAddr: 0xC6E8, symSize: 0xB4 }
- { offset: 0x98BD, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager systemUptimeOffset]', symObjAddr: 0x1A04, symBinAddr: 0xC6EC, symSize: 0x1C } - { offset: 0x8836, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctl_block_invoke', symObjAddr: 0x879C, symBinAddr: 0xC79C, symSize: 0x7C }
- { offset: 0x98F3, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager kernBootTimeOffset]', symObjAddr: 0x1A20, symBinAddr: 0xC708, symSize: 0x1C } - { offset: 0x889E, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctl_block_invoke_2', symObjAddr: 0x8818, symBinAddr: 0xC818, symSize: 0x6C }
- { offset: 0x9929, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager batteryState]', symObjAddr: 0x1A3C, symBinAddr: 0xC724, symSize: 0x1C } - { offset: 0x88EF, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctlbyname_block_invoke', symObjAddr: 0x8884, symBinAddr: 0xC884, symSize: 0xC4 }
- { offset: 0x995F, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager batteryLevel]', symObjAddr: 0x1A58, symBinAddr: 0xC740, symSize: 0x1C } - { offset: 0x8955, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctlbyname_block_invoke_2', symObjAddr: 0x8948, symBinAddr: 0xC948, symSize: 0xC4 }
- { offset: 0x9995, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenBrightness]', symObjAddr: 0x1A74, symBinAddr: 0xC75C, symSize: 0x1C } - { offset: 0x89BB, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$getifaddrs_block_invoke', symObjAddr: 0x8A0C, symBinAddr: 0xCA0C, symSize: 0x90 }
- { offset: 0x99CB, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenScale]', symObjAddr: 0x1A90, symBinAddr: 0xC778, symSize: 0x1C } - { offset: 0x8A0C, size: 0x8, addend: 0x0, symName: _modifyInterfaceIP, symObjAddr: 0x8A9C, symBinAddr: 0xCA9C, symSize: 0x170 }
- { offset: 0x9A01, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenBounds]', symObjAddr: 0x1AAC, symBinAddr: 0xC794, symSize: 0x1C } - { offset: 0x8A9F, size: 0x8, addend: 0x0, symName: _createInterface, symObjAddr: 0x8C0C, symBinAddr: 0xCC0C, symSize: 0x3F8 }
- { offset: 0x9A37, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager safeAreaInsets]', symObjAddr: 0x1AC8, symBinAddr: 0xC7B0, symSize: 0x1C } - { offset: 0x8B48, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x9004, symBinAddr: 0xD004, symSize: 0xC }
- { offset: 0x9A6D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager diskSize]', symObjAddr: 0x1AE4, symBinAddr: 0xC7CC, symSize: 0x1C } - { offset: 0x8B62, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x9010, symBinAddr: 0xD010, symSize: 0xC }
- { offset: 0x9AA3, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager diskFreeSize]', symObjAddr: 0x1B00, symBinAddr: 0xC7E8, symSize: 0x1C } - { offset: 0x8B7C, size: 0x8, addend: 0x0, symName: _cleanup, symObjAddr: 0x901C, symBinAddr: 0xD01C, symSize: 0x3C }
- { offset: 0x9AD9, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager outputVolume]', symObjAddr: 0x1B1C, symBinAddr: 0xC804, symSize: 0x1C } - { offset: 0x8B92, size: 0x8, addend: 0x0, symName: ___GLOBAL_init_65535, symObjAddr: 0x9634, symBinAddr: 0xD058, symSize: 0x34 }
- { offset: 0x9B0F, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager userAgent]', symObjAddr: 0x1B38, symBinAddr: 0xC820, symSize: 0x1C } - { offset: 0xA668, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xD08C, symSize: 0x11C }
- { offset: 0x9B45, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager networkInterfacesInfo]', symObjAddr: 0x1B54, symBinAddr: 0xC83C, symSize: 0x1C } - { offset: 0xA681, size: 0x8, addend: 0x0, symName: _kLogFilePath, symObjAddr: 0xEA8, symBinAddr: 0x18530, symSize: 0x0 }
- { offset: 0x9B7B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager simInfo]', symObjAddr: 0x1B70, symBinAddr: 0xC858, symSize: 0x1C } - { offset: 0xA6E8, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xD08C, symSize: 0x11C }
- { offset: 0x9BB1, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager locale]', symObjAddr: 0x1B8C, symBinAddr: 0xC874, symSize: 0x1C } - { offset: 0xA709, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath.onceToken, symObjAddr: 0x3E60, symBinAddr: 0x186E8, symSize: 0x0 }
- { offset: 0x9BE7, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager timeZone]', symObjAddr: 0x1BA8, symBinAddr: 0xC890, symSize: 0x1C } - { offset: 0xA7AE, size: 0x8, addend: 0x0, symName: _logFileHandle, symObjAddr: 0x3E70, symBinAddr: 0x186F8, symSize: 0x0 }
- { offset: 0x9C1D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager apps]', symObjAddr: 0x1BC4, symBinAddr: 0xC8AC, symSize: 0x1C } - { offset: 0xA82E, size: 0x8, addend: 0x0, symName: _logQueue, symObjAddr: 0x3E68, symBinAddr: 0x186F0, symSize: 0x0 }
- { offset: 0x9C53, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager .cxx_destruct]', symObjAddr: 0x1BE0, symBinAddr: 0xC8C8, symSize: 0x10C } - { offset: 0xA853, size: 0x8, addend: 0x0, symName: _kMaxFileSize, symObjAddr: 0xEB0, symBinAddr: 0x18538, symSize: 0x0 }
- { offset: 0xA868, size: 0x8, addend: 0x0, symName: _logCount, symObjAddr: 0x3E78, symBinAddr: 0x18700, symSize: 0x0 }
- { offset: 0xA986, size: 0x8, addend: 0x0, symName: ___XSLogSetupLogWithFilePath_block_invoke, symObjAddr: 0x11C, symBinAddr: 0xD1A8, symSize: 0x88 }
- { offset: 0xA9D0, size: 0x8, addend: 0x0, symName: _setupLogFileHandle, symObjAddr: 0x1A4, symBinAddr: 0xD230, symSize: 0x184 }
- { offset: 0xA9F4, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFileName, symObjAddr: 0x394, symBinAddr: 0xD3B4, symSize: 0x98 }
- { offset: 0xAA26, size: 0x8, addend: 0x0, symName: _getLogFilePath, symObjAddr: 0x42C, symBinAddr: 0xD44C, symSize: 0x100 }
- { offset: 0xAA78, size: 0x8, addend: 0x0, symName: _XSLogRedirectNSLog, symObjAddr: 0x52C, symBinAddr: 0xD54C, symSize: 0xC4 }
- { offset: 0xAAAA, size: 0x8, addend: 0x0, symName: _XSLogMessage, symObjAddr: 0x5F0, symBinAddr: 0xD610, symSize: 0x118 }
- { offset: 0xAAEB, size: 0x8, addend: 0x0, symName: ___XSLogMessage_block_invoke, symObjAddr: 0x708, symBinAddr: 0xD728, symSize: 0x2D0 }
- { offset: 0xAB77, size: 0x8, addend: 0x0, symName: _checkAndRollLogFile, symObjAddr: 0x9D8, symBinAddr: 0xD9F8, symSize: 0x29C }
... ...

View File

@ -1 +1 @@
117 80

View File

@ -4,7 +4,7 @@
#import <SpringBoard/SBApplication.h> #import <SpringBoard/SBApplication.h>
#import <SpringBoard/SBWorkspace.h> #import <SpringBoard/SBWorkspace.h>
#import <SpringBoard/SBApplicationController.h> #import <SpringBoard/SBApplicationController.h>
#import <unistd.h> // 为了 getpid()
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import <objc/runtime.h> #import <objc/runtime.h>
@ -18,15 +18,6 @@ __attribute__((constructor)) static void SetupXSLog() {
XSLogRedirectNSLog(); XSLogRedirectNSLog();
} }
// 一次性服务器启动封装
static void startServerOnce(void) {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSLog(@"[AppRunMan] start app server (pid=%d)", getpid());
startSimpleServer();
});
}
@interface UIWindow (FloatingWindow) @interface UIWindow (FloatingWindow)
@end @end
@ -50,6 +41,8 @@ static void startServerOnce(void) {
objc_setAssociatedObject(self, @selector(addFloatingWindow), floatingWindow, OBJC_ASSOCIATION_RETAIN_NONATOMIC); objc_setAssociatedObject(self, @selector(addFloatingWindow), floatingWindow, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
} }
@end @end
%group all %group all
@ -60,18 +53,17 @@ static void startServerOnce(void) {
{ {
%orig; %orig;
// 延迟启动服务器让系统UI完全加载 // 延迟启动服务器让系统UI完全加载
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)),
dispatch_get_main_queue(), ^{ dispatch_get_main_queue(), ^{
// 改为一次性启动 startSimpleServer();
startServerOnce();
}); });
@autoreleasepool { @autoreleasepool {
// 延迟添加悬浮窗,给系统UI足够的启动时间 // 延迟添加悬浮窗,给系统UI足够的启动时间
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)),
dispatch_get_main_queue(), ^{ dispatch_get_main_queue(), ^{
// 添加保护机制 // 添加保护机制
@try { @try {
if (@available(iOS 13.0, *)) { if (@available(iOS 13.0, *)) {
// iOS 13+ 使用 UIWindowScene // iOS 13+ 使用 UIWindowScene
@ -109,6 +101,7 @@ static void startServerOnce(void) {
// 清理悬浮窗 // 清理悬浮窗
} }
%end %end
/* /*
@ -122,16 +115,15 @@ static void startServerOnce(void) {
return dict; return dict;
} }
%end %end
*/ */
%end %end
%ctor {
// 使用一次性保护,避免 dylib 被重复装载时重复执行 %ctor{
static dispatch_once_t onceToken; NSLog(@"start app server");
dispatch_once(&onceToken, ^{ %init(all);
NSLog(@"[AppRunMan] %ctor init (pid=%d)", getpid());
%init(all);
});
} }

View File

@ -18,7 +18,6 @@
@interface FloatingWindow () { @interface FloatingWindow () {
NSMutableArray *loadTimestamps; NSMutableArray *loadTimestamps;
NSMutableArray *showTimestamps; NSMutableArray *showTimestamps;
NSTimer *updateTimer;
} }
@end @end
@ -41,7 +40,7 @@
action:@selector(detectPan:)]; action:@selector(detectPan:)];
[self addGestureRecognizer:panRecognizer]; [self addGestureRecognizer:panRecognizer];
self.backgroundColor = [UIColor grayColor]; // self.backgroundColor = RGB(193, 41, 48); // RGB(85, 172, 119);
self.layer.cornerRadius = 10; self.layer.cornerRadius = 10;
self.clipsToBounds = YES; self.clipsToBounds = YES;
@ -52,68 +51,13 @@
loadTimestamps = [[NSMutableArray alloc] init]; loadTimestamps = [[NSMutableArray alloc] init];
showTimestamps = [[NSMutableArray alloc] init]; showTimestamps = [[NSMutableArray alloc] init];
[self startUpdatingCounts]; //
} }
return self; return self;
} }
- (void)dealloc { - (void)dealloc {
[[MyEventBus sharedInstance] unregisterSubscriber:self]; [[MyEventBus sharedInstance] unregisterSubscriber:self];
[self stopUpdatingCounts]; //
}
//
- (void)startUpdatingCounts {
updateTimer = [NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(updateCounts)
userInfo:nil
repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:updateTimer forMode:NSRunLoopCommonModes];
}
//
- (void)stopUpdatingCounts {
if ([updateTimer isValid]) {
[updateTimer invalidate];
updateTimer = nil;
}
}
//
- (void)updateCounts {
NSString *loadDir = @"/User/Documents/ad/load";
NSString *showDir = @"/User/Documents/ad/show";
NSInteger loadCount = [self countAndCleanFilesInDirectory:loadDir];
NSInteger showCount = [self countAndCleanFilesInDirectory:showDir];
dispatch_async(dispatch_get_main_queue(), ^{
self.infoLabel.text = [NSString stringWithFormat:@"S:%@ / L:%@", @(showCount), @(loadCount)];
[self updateBackgroundColorByShowCount:showCount];
});
}
//
- (NSInteger)countAndCleanFilesInDirectory:(NSString *)directoryPath {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *files = [fileManager contentsOfDirectoryAtPath:directoryPath error:nil];
NSDate *oneHourAgo = [NSDate dateWithTimeIntervalSinceNow:-3600];
NSInteger count = 0;
for (NSString *file in files) {
NSString *filePath = [directoryPath stringByAppendingPathComponent:file];
NSDictionary *attributes = [fileManager attributesOfItemAtPath:filePath error:nil];
NSDate *modificationDate = attributes[NSFileModificationDate];
if ([modificationDate compare:oneHourAgo] == NSOrderedDescending) {
count++;
} else {
[fileManager removeItemAtPath:filePath error:nil]; //
}
}
return count;
} }
// //
@ -129,7 +73,6 @@
[timestamps removeAllObjects]; [timestamps removeAllObjects];
[timestamps addObjectsFromArray:validTimestamps]; [timestamps addObjectsFromArray:validTimestamps];
} }
// //
- (void)updateBackgroundColorByShowCount:(NSInteger)showCount { - (void)updateBackgroundColorByShowCount:(NSInteger)showCount {
UIColor *color; UIColor *color;
@ -266,6 +209,48 @@
self.deviceTypeLabel.text = @"unknow"; self.deviceTypeLabel.text = @"unknow";
} }
- (void)onEventUpdateInfo:(id)data {
__weak typeof(self) weakSelf = self;
if (data) {
dispatch_async(dispatch_get_main_queue(), ^{
NSDictionary *dic = data;
int loadNum = 0;
int showNum = 0;
int r = 25;
int g = 118;
int b = 210;
NSNumber *load = dic[@"loadCount"];
if (load && ![load isEqual:[NSNull null]]) {
loadNum = [load intValue];
}
NSNumber *show = dic[@"showCount"];
if (show && ![show isEqual:[NSNull null]]) {
showNum = [show intValue];
}
NSNumber *color_r = dic[@"color_r"];
if (color_r && ![color_r isEqual:[NSNull null]]) {
r = [color_r intValue];
}
NSNumber *color_g = dic[@"color_g"];
if (color_g && ![color_g isEqual:[NSNull null]]) {
g = [color_g intValue];
}
NSNumber *color_b = dic[@"color_b"];
if (color_b && ![color_b isEqual:[NSNull null]]) {
b = [color_b intValue];
}
self.backgroundColor = RGB(r, g, b); // RGB(85, 172, 119);
self.infoLabel.text = [NSString stringWithFormat:@"S:%@ / L:%@", @(showNum), @(loadNum)];
});
}
}
- (void)onEventUpdateStatus:(id)data { - (void)onEventUpdateStatus:(id)data {
__weak typeof(self) weakSelf = self; __weak typeof(self) weakSelf = self;

View File

@ -23,8 +23,4 @@
+(instancetype)sharedInstance; +(instancetype)sharedInstance;
- (BOOL)isHeartbeatActive;
- (void)restartHeartbeat;
- (void)stopHeartbeat;
@end @end

View File

@ -93,22 +93,6 @@
dispatch_resume(_timer); dispatch_resume(_timer);
} }
- (BOOL)isHeartbeatActive {
//
return _timer != nil;
}
- (void)restartHeartbeat {
//
[self stopHeartbeat];
[self start];
}
- (void)stopHeartbeat {
//
[self stop];
}
- (void) checkxxx { - (void) checkxxx {
NSDate *last = [[XSPhoneConfig sharedInstance] GetLastOverTime]; NSDate *last = [[XSPhoneConfig sharedInstance] GetLastOverTime];
NSDate *date2 = [NSDate date]; NSDate *date2 = [NSDate date];
@ -124,7 +108,7 @@
} }
- (void)ping { - (void) ping {
@try { @try {
if (!self->iphone || !self->http) return; if (!self->iphone || !self->http) return;
@ -135,10 +119,23 @@
} }
NSString *url = [NSString stringWithFormat:@"%@/ios/top_selection/heartbeat", server]; NSString *url = [NSString stringWithFormat:@"%@/ios/top_selection/heartbeat", server];
if (!url) {
NSLog(@"Invalid URL for heartbeat"); /**
return; {
} "deviceId": "string",
"ip": "string",
"appId": "string",
"apps": [
"string"
],
"name": "string",
"message": "string",
"status": "string",
"life": true
}
*/
//self.status = [[XSConsole sharedInstance] status];
//self.appId = [[XSJsGlobalContext sharedInstance] get:@"ad_appid"];
dispatch_async(self->_workQueue, ^{ dispatch_async(self->_workQueue, ^{
if ([self.status isEqualToString:@"运行中"]) { if ([self.status isEqualToString:@"运行中"]) {
@ -156,25 +153,47 @@
} }
}); });
self.name = self->iphone.IPhoneName ?: @""; self.name = self->iphone.IPhoneName;
self.deviceId = self->iphone.DeviceId ?: @""; self.deviceId = self->iphone.DeviceId;
self.ip = [[XSPhoneInfo sharedInstance] IPAddress] ?: @""; self.ip = [[XSPhoneInfo sharedInstance] IPAddress];
self.remoteIp = [[XSPhoneInfo sharedInstance] remoteIp] ?: @""; self.remoteIp = [[XSPhoneInfo sharedInstance] remoteIp];
self.diskSize = [[XSPhoneInfo sharedInstance] IPhoneStatus] ?: @""; self.diskSize = [[XSPhoneInfo sharedInstance] IPhoneStatus];
self.message = @"251202-nt-02"; self.message = @"251118-nt-newapi";
//
NSDictionary *heartbeatData = [self constructHeartbeatData]; NSDictionary *heartbeatData = [self constructHeartbeatData];
if (!heartbeatData) { if (!heartbeatData) {
NSLog(@"Failed to construct heartbeat data"); NSLog(@"Failed to construct heartbeat data");
return; return;
} }
/*
pushInfo(1,
[XSHelper dic2Json:dic],
^(NSString *data) {
if (data) {
NSLog(@"XS- log: %@", data);
[[XSPhoneConfig sharedInstance] SetLastOverTime: [NSDate date]];
} else {
NSLog(@"XS- heart beat error");
//[self checkxxx];
}
},^(NSError *err) {
NSLog(@"XS- %@", err);
//[self checkxxx];
});
*/
//
[self sendHeartbeat:heartbeatData toURL:url]; [self sendHeartbeat:heartbeatData toURL:url];
//
// [self checkAndPerformTasks];
} @catch (NSException *exception) { } @catch (NSException *exception) {
NSLog(@"XS- app run man ping error: %@", exception); NSLog(@"XS- app run man ping error: %@", exception);
} @finally { } @finally {
NSLog(@"XS- ping end"); NSLog(@"XS- ping end");
} }
} }
- (void)sendHeartbeat:(NSDictionary *)data toURL:(NSString *)url { - (void)sendHeartbeat:(NSDictionary *)data toURL:(NSString *)url {

View File

@ -113,60 +113,54 @@
} }
- (void)executeTask:(NSDictionary *)dic { - (void) executeTask: (NSDictionary*)dic {
if (!dic || ![dic objectForKey:@"cmd"]) { if ([dic objectForKey:@"cmd"]) {
NSLog(@"Invalid task dictionary"); NSString *cmd = dic[@"cmd"];
return; NSString *taskId = dic[@"taskId"];
} if ([cmd isEqual:@"EDIT_NAME"]) {
NSString *cmd = dic[@"cmd"]; [self executeEditName:taskId data:dic[@"cmdData"]];
NSString *taskId = dic[@"taskId"]; return;
if (!cmd || !taskId) { }
NSLog(@"Missing command or taskId"); if ([cmd isEqual:@"UPLOAD_APPS"]) {
return; [self executeUploadApps:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"EDIT_NAME"]) { }
[self executeEditName:taskId data:dic[@"cmdData"]]; if ([cmd isEqual:@"START"]) {
return; [self executeStart:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"UPLOAD_APPS"]) { }
[self executeUploadApps:taskId data:dic[@"cmdData"]]; if ([cmd isEqual:@"STOP"]) {
return; [self executeStop:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"START"]) { }
[self executeStart:taskId data:dic[@"cmdData"]]; if ([cmd isEqual:@"SCREENSHOT"]) {
return; [self executeScreenshot:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"STOP"]) { }
[self executeStop:taskId data:dic[@"cmdData"]]; if ([cmd isEqual:@"UNLOCK"]) {
return; [self executeUnlock:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"SCREENSHOT"]) { }
[self executeScreenshot:taskId data:dic[@"cmdData"]]; if ([cmd isEqual:@"RESTART_SYSTEM"]) {
return; [self executeRestart:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"UNLOCK"]) { }
[self executeUnlock:taskId data:dic[@"cmdData"]]; if ([cmd isEqual:@"RESTART"]) {
return; [self executeReboot:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"RESTART_SYSTEM"]) { }
[self executeRestart:taskId data:dic[@"cmdData"]]; if ([cmd isEqual:@"TOUCH"]) {
return; [self executeTouch:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"RESTART"]) { }
[self executeReboot:taskId data:dic[@"cmdData"]]; if ([cmd isEqual:@"KEY"]) {
return; [self executeKey:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"TOUCH"]) { }
[self executeTouch:taskId data:dic[@"cmdData"]]; if ([cmd isEqual:@"UPDATE_KEY"]) {
return; [self executeUpdateKey:taskId data:dic[@"cmdData"]];
} return;
if ([cmd isEqual:@"KEY"]) { }
[self executeKey:taskId data:dic[@"cmdData"]];
return;
}
if ([cmd isEqual:@"UPDATE_KEY"]) {
[self executeUpdateKey:taskId data:dic[@"cmdData"]];
return;
} }
} }

View File

@ -14,6 +14,8 @@
#import "XSPhoneConfig.h" #import "XSPhoneConfig.h"
#import "XSPhoneInfo.h" #import "XSPhoneInfo.h"
void pushAdTaskLog(AdTaskLogData *data) { void pushAdTaskLog(AdTaskLogData *data) {
NSDictionary *dic = @{ NSDictionary *dic = @{
@"taskId": data->taskId, @"taskId": data->taskId,
@ -86,15 +88,8 @@ BOOL needAdContinue(NSString *appid, NSString *idfa, NSNumber *maxEcpm) {
return [dic[@"data"] isEqual:@(true)]; return [dic[@"data"] isEqual:@(true)];
} }
void getChangeInfoWithRetry(NSString *idfa, ChangeDataSaveCallback callback, error_callback errorCallback, int retryCount) {
if (retryCount <= 0) {
NSLog(@"getChangeInfo failed after maximum retries");
if (errorCallback) {
errorCallback([NSError errorWithDomain:@"getChangeInfo" code:-1 userInfo:@{NSLocalizedDescriptionKey: @"Maximum retry attempts reached"}]);
}
return;
}
void getChangeInfo(NSString *idfa, ChangeDataSaveCallback callback, error_callback errorCallback) {
XSPhoneConfig *config = [XSPhoneConfig sharedInstance]; XSPhoneConfig *config = [XSPhoneConfig sharedInstance];
NSString *url = [config GetFullServerURL:@"ios/top_selection/get_change_data_json"]; NSString *url = [config GetFullServerURL:@"ios/top_selection/get_change_data_json"];
XSHttpHelper *http = [[XSHttpHelper alloc] init]; XSHttpHelper *http = [[XSHttpHelper alloc] init];
@ -104,51 +99,26 @@ void getChangeInfoWithRetry(NSString *idfa, ChangeDataSaveCallback callback, err
}; };
NSString *json = [XSHelper dic2Json:dic]; NSString *json = [XSHelper dic2Json:dic];
NSLog(@"getChangeInfo: Attempting request, retries left: %d", retryCount);
[http doPOST:url json:json withCallback:^(NSData *jsonData) { [http doPOST:url json:json withCallback:^(NSData *jsonData) {
NSError *jsonError = nil; NSDictionary *data = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];
NSDictionary *data = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&jsonError];
if (jsonError) {
NSLog(@"getChangeInfo: JSON parsing error: %@, retrying...", jsonError);
//
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
getChangeInfoWithRetry(idfa, callback, errorCallback, retryCount - 1);
});
return;
}
if (data && [data objectForKey:@"data"]) { if (data && [data objectForKey:@"data"]) {
NSDictionary *_data = data[@"data"]; NSDictionary *_data = data[@"data"];
if (_data && ![_data isEqual:[NSNull null]]) { if(_data && ![_data isEqual:[NSNull null]]) {
NSLog(@"getChangeInfo: Successfully received data");
callback(_data); callback(_data);
} else {
NSLog(@"getChangeInfo: Invalid data received, retrying...");
//
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
getChangeInfoWithRetry(idfa, callback, errorCallback, retryCount - 1);
});
} }
} else { } else {
NSLog(@"getChangeInfo: No data received, retrying..."); if(errorCallback) {
// errorCallback(nil);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ }
getChangeInfoWithRetry(idfa, callback, errorCallback, retryCount - 1);
});
} }
} withError:^(NSError *err) { } withError:^(NSError *err) {
NSLog(@"getChangeInfo error: %@, retrying... (%d retries left)", err, retryCount - 1); NSLog(@"XS- log- get data: %@", err);
// if(errorCallback) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ errorCallback(err);
getChangeInfoWithRetry(idfa, callback, errorCallback, retryCount - 1); }
});
}];
}
// 3 }];
void getChangeInfo(NSString *idfa, ChangeDataSaveCallback callback, error_callback errorCallback) {
getChangeInfoWithRetry(idfa, callback, errorCallback, 3);
} }
void _newgetChangeInfo(NSString *idfa, ChangeDataSaveCallback callback, error_callback errorCallback) { void _newgetChangeInfo(NSString *idfa, ChangeDataSaveCallback callback, error_callback errorCallback) {
@ -181,109 +151,60 @@ void _newgetChangeInfo(NSString *idfa, ChangeDataSaveCallback callback, error_ca
}]; }];
} }
static dispatch_queue_t XSFileIOQueue() {
static dispatch_queue_t q;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
q = dispatch_queue_create("com.xs.fileio.queue", DISPATCH_QUEUE_SERIAL);
});
return q;
}
static id XSFilterJSONValue(id obj) {
if (obj == [NSNull null]) return nil;
if ([obj isKindOfClass:[NSDictionary class]]) {
NSMutableDictionary *md = [NSMutableDictionary dictionary];
[(NSDictionary *)obj enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop) {
if (![key isKindOfClass:[NSString class]]) return;
id v = XSFilterJSONValue(value);
if (v) md[key] = v;
}];
return md;
}
if ([obj isKindOfClass:[NSArray class]]) {
NSMutableArray *ma = [NSMutableArray array];
for (id v in (NSArray *)obj) {
id nv = XSFilterJSONValue(v);
[ma addObject:nv ?: [NSNull null]];
}
return ma;
}
//
if ([obj isKindOfClass:[NSString class]] ||
[obj isKindOfClass:[NSNumber class]]) {
return obj;
}
//
return [obj description];
}
BOOL saveChangeDataFile(NSDictionary *data) { BOOL saveChangeDataFile(NSDictionary *data) {
if (!data || ![data isKindOfClass:[NSDictionary class]]) { if (!data || ![data isKindOfClass:[NSDictionary class]]) {
NSLog(@"[saveChangeDataFile] Invalid data input: %@", data); NSLog(@"Invalid data input");
return NO; return NO;
} }
__block BOOL result = NO; @try {
__block NSError *writeError = nil; NSString *bundleId = @"org.xyzshell.NotNil";
NSString *plistPath = [NSString stringWithFormat:@"/var/mobile/Library/Preferences/%@.plist", bundleId];
dispatch_sync(XSFileIOQueue(), ^{
@try { // 使线
NSString *jsonPath = @"/var/mobile/Documents/changeapp.json"; @synchronized(NSFileManager.defaultManager) {
NSString *dirPath = [jsonPath stringByDeletingLastPathComponent]; NSMutableDictionary *tempDic = [NSMutableDictionary new];
NSError *dirErr = nil; //
if (![[NSFileManager defaultManager] fileExistsAtPath:dirPath]) { [data enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[[NSFileManager defaultManager] createDirectoryAtPath:dirPath if (![key isKindOfClass:[NSString class]]) return;
withIntermediateDirectories:YES
attributes:@{NSFileProtectionKey: NSFileProtectionNone} if (obj == [NSNull null]) {
error:&dirErr]; tempDic[key] = nil;
if (dirErr) { } else if ([obj isKindOfClass:[NSDictionary class]]) {
NSLog(@"[saveChangeDataFile] Failed to create directory %@, error: %@", dirPath, dirErr); NSMutableDictionary *newDic = [NSMutableDictionary new];
return; [(NSDictionary *)obj enumerateKeysAndObjectsUsingBlock:^(id key1, id obj1, BOOL *stop1) {
if (![key1 isKindOfClass:[NSString class]]) return;
newDic[key1] = (obj1 == [NSNull null]) ? nil : obj1;
}];
tempDic[key] = [newDic copy];
} else {
tempDic[key] = obj;
}
}];
//
NSError *error;
NSString *dirPath = [plistPath stringByDeletingLastPathComponent];
if (![NSFileManager.defaultManager fileExistsAtPath:dirPath]) {
if (![NSFileManager.defaultManager createDirectoryAtPath:dirPath
withIntermediateDirectories:YES
attributes:nil
error:&error]) {
NSLog(@"Failed to create directory: %@", error);
return NO;
} }
} }
NSDictionary *filtered = XSFilterJSONValue(data); //
if (!filtered || ![NSJSONSerialization isValidJSONObject:filtered]) { BOOL y = [tempDic writeToFile:plistPath atomically:YES];
NSLog(@"[saveChangeDataFile] JSON object invalid after filtering: %@", filtered); NSLog(@"XS- save change file: %@", @(y));
return; return y;
}
NSError *jsonError = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:filtered
options:0
error:&jsonError];
if (jsonError || !jsonData) {
NSLog(@"[saveChangeDataFile] Error serializing to JSON: %@", jsonError);
return;
}
NSURL *fileURL = [NSURL fileURLWithPath:jsonPath];
result = [jsonData writeToURL:fileURL
options:NSDataWritingAtomic
error:&writeError];
NSString *idfa = data[@"idfa"];
NSLog(@"XS- save change file: %@; idfa:%@; path:%@",
@(result), idfa, jsonPath);
/*
if (!result) {
struct rlimit limit;
getrlimit(RLIMIT_NOFILE, &limit);
NSLog(@"soft limit: %llu, hard limit: %llu", limit.rlim_cur, limit.rlim_max);
}
*/
} @catch (NSException *exception) {
NSLog(@"[saveChangeDataFile] Exception: %@", exception);
result = NO;
} }
}); } @catch (NSException *exception) {
NSLog(@"Error saving change data: %@", exception);
if (writeError) { return NO;
NSLog(@"[saveChangeDataFile] Write error: %@", writeError);
} }
return result;
} }
AdLoadInfo getAdLoadInfo(NSDictionary *request) { AdLoadInfo getAdLoadInfo(NSDictionary *request) {
@ -415,6 +336,7 @@ void logMessage(NSString *message) {
} }
} }
void uncaughtExceptionHandler(NSException *exception) { void uncaughtExceptionHandler(NSException *exception) {
NSArray *callStack = [exception callStackSymbols]; NSArray *callStack = [exception callStackSymbols];
NSString *reason = [exception reason]; NSString *reason = [exception reason];
@ -431,7 +353,6 @@ void uncaughtExceptionHandler(NSException *exception) {
} }
void signalHandler(int signal) { void signalHandler(int signal) {
/*
NSMutableString *crashLog = [NSMutableString string]; NSMutableString *crashLog = [NSMutableString string];
[crashLog appendFormat:@"Signal %d was raised.\n", signal]; [crashLog appendFormat:@"Signal %d was raised.\n", signal];
@ -445,19 +366,11 @@ void signalHandler(int signal) {
free(strs); free(strs);
NSLog(@"SpringBoard crash:%@", crashLog); NSLog(@"Crash: %@", crashLog);
*/ logMessage(crashLog);
const char *signalName = strsignal(signal);
write(STDERR_FILENO, "Signal received: ", 17);
write(STDERR_FILENO, signalName, strlen(signalName));
write(STDERR_FILENO, "\n", 1);
// 线
//
_exit(signal);
// //
// pushIphoneLog(crashLog); pushIphoneLog(crashLog);
} }
void registerSignalHandler(void) { void registerSignalHandler(void) {

View File

@ -29,7 +29,6 @@ BOOL myadTaskManualStop = NO;
NSString *dataId; NSString *dataId;
NSString *remoteIp; NSString *remoteIp;
NSString *country; NSString *country;
dispatch_source_t _appendCheckTimer; //
} }
@ -109,7 +108,7 @@ BOOL myadTaskManualStop = NO;
__weak typeof(self) weakSelf = self; __weak typeof(self) weakSelf = self;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(beforeSec * NSEC_PER_SEC)), dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(beforeSec * NSEC_PER_SEC)),
self.manQueue, ^{ self.manQueue, ^{
[weakSelf touchAppTask:0];
}); });
} }
return close; return close;
@ -120,15 +119,7 @@ BOOL myadTaskManualStop = NO;
} }
- (void)setRemoteInfo { - (void)setRemoteInfo {
if (self->country != nil && ![self->country isEqual:@""]) {
NSLog(@"Country info already set, skipping remote info update.");
return; //
}
NSString *url = @"https://ipapi.co/json/"; NSString *url = @"https://ipapi.co/json/";
if (!url) {
NSLog(@"Invalid URL for remote info");
return;
}
XSHttpHelper *http = [[XSHttpHelper alloc] init]; XSHttpHelper *http = [[XSHttpHelper alloc] init];
__weak typeof(self) weakSelf = self; __weak typeof(self) weakSelf = self;
[http doGET:url withCallback:^(NSData *data) { [http doGET:url withCallback:^(NSData *data) {
@ -145,10 +136,6 @@ BOOL myadTaskManualStop = NO;
} }
NSString *isoCode = dic[@"country_code"]; NSString *isoCode = dic[@"country_code"];
NSString *ip = dic[@"ip"]; NSString *ip = dic[@"ip"];
if (!isoCode || !ip) {
NSLog(@"Invalid data received for remote info");
return;
}
__strong typeof(weakSelf) strongSelf = weakSelf; __strong typeof(weakSelf) strongSelf = weakSelf;
if (!strongSelf) return; if (!strongSelf) return;
@ -208,76 +195,55 @@ BOOL myadTaskManualStop = NO;
}]; }];
} }
// append
- (void)checkAppendFile {
NSString *appendDirPath = @"/var/mobile/Documents/ad/append";
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL isDir = NO;
if ([fileManager fileExistsAtPath:appendDirPath isDirectory:&isDir] && isDir) {
NSArray *files = [fileManager contentsOfDirectoryAtPath:appendDirPath error:nil];
if (files.count > 0) {
BOOL allDeleted = YES;
for (NSString *file in files) {
NSString *filePath = [appendDirPath stringByAppendingPathComponent:file];
NSError *error = nil;
[fileManager removeItemAtPath:filePath error:&error];
if (error) {
NSLog(@"Failed to delete file: %@, error: %@", filePath, error);
allDeleted = NO;
}
}
if (allDeleted) {
NSLog(@"append directory has files, deleted all, calling onEnd");
[self onEnd:nil];
}
}
}
}
- (BOOL)onEnd:(NSDictionary *)dic { - (BOOL)onEnd:(NSDictionary *)dic {
@autoreleasepool { NSNumber *maxEcpm = dic[@"max_ecpm"];
if (self->taskAppId) { int sec = self->adAfter / 1000;
[self appKill:self->taskAppId]; __weak typeof(self) weakSelf = self;
} if([maxEcpm doubleValue] <= 0.0) {
[self startApp]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, sec * NSEC_PER_SEC), self.manQueue, ^{
@autoreleasepool {
[weakSelf startApp];
}
});
return NO;
} }
BOOL res = needAdContinue(self->taskAppId, self->_lastIdfa, maxEcpm);
if(res) {
return YES;
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, sec * NSEC_PER_SEC), self.manQueue, ^{
@autoreleasepool {
[weakSelf startApp];
}
});
return NO; return NO;
} }
- (void)startApp { - (void)startApp {
@autoreleasepool { @autoreleasepool {
if (!self->running) { if(!self->running){
return; return;
} }
self->lastRun = [NSDate date]; self->lastRun = [NSDate date];
if (self->country == nil || [self->country isEqual:NULL] || [self->country isEqual:@""]) {
NSDate *startTime = [NSDate date]; [self setRemoteInfo];
NSLog(@"getChangeInfo started at: %@", startTime); self->lastGetCountry = [NSDate date];
__weak typeof(self) weakSelf = self; } else {
getChangeInfo(self->_lastIdfa ?: @"", ^(NSDictionary *dic) { NSDate *curRunTime = [NSDate date];
if (!dic) { NSTimeInterval elapsed = [curRunTime timeIntervalSinceDate:self->lastGetCountry];
NSLog(@"getChangeInfo returned nil dictionary"); if (elapsed >= 300) {
return; [self setRemoteInfo];
self->lastGetCountry = [NSDate date];
} }
NSDate *endTime = [NSDate date]; }
NSTimeInterval duration = [endTime timeIntervalSinceDate:startTime];
NSLog(@"getChangeInfo completed at: %@, duration: %.2f seconds", endTime, duration); __weak typeof(self) weakSelf = self;
getChangeInfo(self->_lastIdfa, ^(NSDictionary *dic) {
dispatch_async(weakSelf.manQueue, ^{ dispatch_async(weakSelf.manQueue, ^{
[weakSelf onChangeInfo:dic]; [weakSelf onChangeInfo:dic];
}); });
}, ^(NSError *err) { }, ^(NSError *err) {
NSDate *endTime = [NSDate date];
NSTimeInterval duration = [endTime timeIntervalSinceDate:startTime];
NSLog(@"getChangeInfo completed at: %@, duration: %.2f seconds", endTime, duration);
NSLog(@"XS- startTask NSError is null, %@", err); NSLog(@"XS- startTask NSError is null, %@", err);
[weakSelf showStatus:[NSString stringWithFormat:@"getChangeInfo error after 5s restart: %@", err.description]];
// App
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), weakSelf.manQueue, ^{
__strong typeof(weakSelf) strongSelf = weakSelf;
if (strongSelf && strongSelf->running) { //
[strongSelf startApp];
}
});
}); });
} }
} }
@ -299,27 +265,9 @@ BOOL myadTaskManualStop = NO;
dispatch_source_set_event_handler(_timer, ^{ dispatch_source_set_event_handler(_timer, ^{
@autoreleasepool { @autoreleasepool {
[weakSelf proc]; [weakSelf proc];
//
if (![[IPhoneHertbeat sharedInstance] isHeartbeatActive]) {
NSLog(@"Heartbeat inactive, restarting...");
[[IPhoneHertbeat sharedInstance] restartHeartbeat];
}
} }
}); });
dispatch_resume(_timer); dispatch_resume(_timer);
// append
if (_appendCheckTimer) {
dispatch_source_cancel(_appendCheckTimer);
_appendCheckTimer = nil;
}
_appendCheckTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, self.manQueue);
dispatch_source_set_timer(_appendCheckTimer, dispatch_time(DISPATCH_TIME_NOW, 0), 1 * NSEC_PER_SEC, 0);
dispatch_source_set_event_handler(_appendCheckTimer, ^{
[weakSelf checkAppendFile];
});
dispatch_resume(_appendCheckTimer);
[[MyEventBus sharedInstance] postEvent:@"UpdateRunStatus" withObject:@(YES)]; [[MyEventBus sharedInstance] postEvent:@"UpdateRunStatus" withObject:@(YES)];
} }
@ -331,17 +279,22 @@ BOOL myadTaskManualStop = NO;
NSLog(@"XS- MyAdTaskManager proc"); NSLog(@"XS- MyAdTaskManager proc");
NSDate* curRunTime = [NSDate date]; NSDate* curRunTime = [NSDate date];
NSTimeInterval elapsed = [curRunTime timeIntervalSinceDate:self->lastRun]; NSTimeInterval elapsed = [curRunTime timeIntervalSinceDate:self->lastRun];
BOOL washParam = [[XSPhoneConfig sharedInstance] WashParam];
if (elapsed >= 80) { if (elapsed >= 30) {
//[self onStop]; //[self onStop];
[self startApp]; [self start];
} } else {
if (!washParam) {
NSString* appId = [ self frontMostAppId]; NSString* appId = [ self frontMostAppId];
if (![appId isEqual: self->taskAppId]) { if (![appId isEqual: self->taskAppId]) {
// //
NSTimeInterval currentTime = [NSDate timeIntervalSinceReferenceDate];
if (currentTime - self.lastAppSwitchTime < 30) { // 30
NSLog(@"XS- App switching throttled. Last switch was %.0f seconds ago.", currentTime - self.lastAppSwitchTime);
return;
}
[self appKill:appId]; [self appKill:appId];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), self.manQueue, ^{ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), self.manQueue, ^{
[self appRun:self->taskAppId]; [self appRun:self->taskAppId];
@ -349,7 +302,6 @@ BOOL myadTaskManualStop = NO;
}); });
} }
} }
} }
- (NSString *)toggle { - (NSString *)toggle {
@ -369,13 +321,6 @@ BOOL myadTaskManualStop = NO;
dispatch_source_cancel(_timer); dispatch_source_cancel(_timer);
_timer = nil; _timer = nil;
} }
// append
if (_appendCheckTimer) {
dispatch_source_cancel(_appendCheckTimer);
_appendCheckTimer = nil;
}
[[IPhoneHertbeat sharedInstance] stopHeartbeat]; //
[[MyEventBus sharedInstance] postEvent:@"UpdateRunStatus" withObject:@(NO)]; [[MyEventBus sharedInstance] postEvent:@"UpdateRunStatus" withObject:@(NO)];
} }
@ -453,21 +398,16 @@ BOOL myadTaskManualStop = NO;
__strong typeof(weakSelf) strongSelf = weakSelf; __strong typeof(weakSelf) strongSelf = weakSelf;
if (!strongSelf) return; if (!strongSelf) return;
void (^saveBlock)(void) = ^{ saveChangeDataFile(dic);
if (saveChangeDataFile(dic)) { strongSelf->running = YES;
//
strongSelf->running = YES; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC),
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), strongSelf.manQueue, ^{
strongSelf.manQueue, ^{ __strong typeof(weakSelf) strongSelf2 = weakSelf;
__strong typeof(weakSelf) strongSelf2 = weakSelf; if (!strongSelf2) return;
if (!strongSelf2) return;
[strongSelf2 appRun:strongSelf2->taskAppId]; [strongSelf2 appRun:strongSelf2->taskAppId];
}); });
} else {
NSLog(@"XS- saveChangeDataFile failed");
}
};
saveBlock();
}]; }];
} }
@ -545,38 +485,96 @@ BOOL myadTaskManualStop = NO;
}); });
} }
- (void)tap:(int)i x:(int)x y:(int)y {
}
- (void)restart:(OnEndCallback)callback { - (void)restart:(OnEndCallback)callback {
@synchronized (self) { __weak typeof(self) weakSelf = self;
__weak typeof(self) weakSelf = self; dispatch_async(self.manQueue, ^{
dispatch_async(self.manQueue, ^{ @try {
@try { __strong typeof(weakSelf) strongSelf = weakSelf;
__strong typeof(weakSelf) strongSelf = weakSelf; if (!strongSelf) return;
if (!strongSelf) return;
[weakSelf appKill:@"com.apple.AppStore"];
[weakSelf appKill:@"com.apple.AppStore"]; [weakSelf appKill:@"com.apple.mobilesafari"];
[weakSelf appKill:@"com.apple.mobilesafari"]; if (strongSelf->taskAppId && ![strongSelf->taskAppId isEqual:[NSNull null]] && [strongSelf->taskAppId length] > 0) {
if (strongSelf->taskAppId && ![strongSelf->taskAppId isEqual:[NSNull null]] && [strongSelf->taskAppId length] > 0) { [weakSelf appKill:strongSelf->taskAppId];
[weakSelf appKill:strongSelf->taskAppId]; [weakSelf unlock];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), strongSelf.manQueue, ^{
[weakSelf unlock]; [weakSelf unlock];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), strongSelf.manQueue, ^{ [weakSelf resetApp:strongSelf->taskAppId callback:callback];
[weakSelf unlock]; });
[weakSelf resetApp:strongSelf->taskAppId callback:callback];
});
}
} @catch (NSException *exception) {
NSLog(@"Error in restart: %@", exception);
} }
}); } @catch (NSException *exception) {
} NSLog(@"Error in restart: %@", exception);
}
});
} }
- (void)rndTouchApp { - (void)rndTouchApp {
int times = [XSHelper random:2 and:4]; int times = [XSHelper random:2 and:4];
[self _rndTouchAppRecursive:0 totalTimes:times];
} }
- (void)_rndTouchAppRecursive:(int)currentIndex totalTimes:(int)times {
if (currentIndex >= times) {
return;
}
int x = [XSHelper random:40 and:screen_w - 20];
int y = [XSHelper random:50 and:screen_h - 240];
NSString* appId = [self frontMostAppId];
if ([appId isEqual:self->taskAppId]) {
[self tap:1 x:x y:y];
__weak typeof(self) weakSelf = self;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.002 * NSEC_PER_SEC)),
self.manQueue, ^{
[weakSelf _rndTouchAppRecursive:currentIndex + 1 totalTimes:times];
});
}
}
- (void)touchAppTask:(int)beforeTouch {
__weak typeof(self) weakSelf = self;
if (beforeTouch > 0) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(beforeTouch * NSEC_PER_SEC)), self.manQueue, ^{
[self rndTouchApp];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), self.manQueue, ^{
int x = [XSHelper random:40 and:screen_w - 20];
int y = [XSHelper random:50 and:screen_h - 240];
[self tap:1 x:x y:y];
NSString* appId = [ self frontMostAppId];
if (![appId isEqual: self->taskAppId]) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), self.manQueue, ^{
[self appRun:self->taskAppId];
});
} else {
[self appRun:self->taskAppId];
}
});
});
} else {
[self rndTouchApp];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), self.manQueue, ^{
int x = [XSHelper random:40 and:screen_w - 20];
int y = [XSHelper random:50 and:screen_h - 240];
[self tap:1 x:x y:y];
NSString* appId = [ self frontMostAppId];
if (![appId isEqual: self->taskAppId]) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), self.manQueue, ^{
[self appRun:self->taskAppId];
});
} else {
[self appRun:self->taskAppId];
}
});
}
}
- (NSString*)getStr:(NSString *)key dic:(NSDictionary*)dic { - (NSString*)getStr:(NSString *)key dic:(NSDictionary*)dic {
NSLog(@"getStr: %@", key); NSLog(@"getStr: %@", key);

View File

@ -35,12 +35,21 @@ void startSimpleServer(void) {
// //
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
[[IPhoneHertbeat sharedInstance] start]; [[IPhoneHertbeat sharedInstance] start];
// [[IosSystemCmd sharedInstance] start]; [[IosSystemCmd sharedInstance] start];
}); });
// //
dispatch_async(serverQueue, ^{ dispatch_async(serverQueue, ^{
@autoreleasepool { @autoreleasepool {
// ID
//
pushIphoneLog(@"on start simple server!!!");
//
pushIphoneLog(@"on start simple server -ok");
// //
// MessagePortServer *server = [[MessagePortServer alloc] init]; // MessagePortServer *server = [[MessagePortServer alloc] init];
// [server startServer]; // [server startServer];

View File

@ -22,27 +22,44 @@
/** /**
*/ */
SBApplication* XSGetFrontMostApplication(void) { SBApplication* XSGetFrontMostApplication(void)
{
//TODO: might cause problem here. Both _accessibilityFrontMostApplication failed or front most application springboard will cause app be nil.
__block id app = nil; __block id app = nil;
NSLog(@"XS- getFrontMostApplication"); NSLog(@"XS- getFrontMostApplication");
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_sync(dispatch_get_main_queue(), ^{
@try { @try{
SpringBoard *springboard = (SpringBoard *)[UIApplication sharedApplication]; SpringBoard *springboard = (SpringBoard *)[UIApplication sharedApplication];
//SpringBoard *springboard = (SpringBoard*)[%c(SpringBoard) sharedApplication];
if ([springboard respondsToSelector:@selector(_accessibilityFrontMostApplication)]) { if ([springboard respondsToSelector:@selector(_accessibilityFrontMostApplication)]) {
app = [springboard _accessibilityFrontMostApplication]; app = [springboard performSelector:@selector(_accessibilityFrontMostApplication)];
NSLog(@"XS- Simulated home button press, %@", app);
} }
} @catch (NSException *exception) { // app = [springboard _accessibilityFrontMostApplication];
NSLog(@"XS- Debug: %@", exception.reason); //NSLog(@"com.zjx.springboard: app: %@, id: %@", app, [app displayIdentifier]);
}
@catch (NSException *exception) {
NSLog(@"XS-: Debug: %@", exception.reason);
} }
dispatch_semaphore_signal(semaphore); dispatch_semaphore_signal(semaphore);
}); });
// 5
dispatch_time_t timeout = dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC);
if (dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC)) != 0) { // 5
NSLog(@"XSGetFrontMostApplication timeout"); long result = dispatch_semaphore_wait(semaphore, timeout);
if (result == 0) {
//
NSLog(@"XSGetFrontMostApplication end");
} else {
//
NSLog(@"XSGetFrontMostApplication 等待超时");
} }
return app; return app;
} }
@ -172,27 +189,9 @@ int kill2(NSString *appexe) {
} }
int XSKillAppByName(NSString *pkgName) { int XSKillAppByName(NSString *pkgName){
NSString *appexe = XSGetAppExecutable(pkgName); NSString* appexe = XSGetAppExecutable(pkgName);
if (!appexe) { return kill2(appexe);
NSLog(@"App executable not found for package: %@", pkgName);
return -1;
}
// NSString *cmd = [NSString stringWithFormat:@"/usr/bin/killall -9 %@", appexe];
const char *cmdStr = [appexe UTF8String];
// char *argv[] = {"/usr/bin/killall", "-9", (char *)app, NULL};
char *appStr = strdup(cmdStr);
// int r = c(appStr, NULL, NULL);
char *argv[] = {
"/usr/bin/killall",
"-9",
appStr,
NULL
};
int r = XSRuncmd(argv); // waitpid
free(appStr);
return r;
} }
@ -691,31 +690,45 @@ void XSCleanSafari(void) {
void XSCleanKeychain(void) { void XSCleanKeychain(void) {
NSFileManager* man = [NSFileManager defaultManager]; NSFileManager* man = [NSFileManager defaultManager];
if ([man fileExistsAtPath:@"/var/Keychains/keychain-2.db"]) { if ([man fileExistsAtPath:@"/var/Keychains/keychain-2.db"]) {
/*
char *cpCmd = "/usr/bin/cp";
if ([man fileExistsAtPath:@"/bin/cp"]) {
cpCmd = "/bin/cp";
}
char *cmds[] = {
cpCmd,
"/var/Keychains/keychain-2.db",
"/tmp/",
NULL
};
*/
// XSRuncmd(cmds);
XSSystem("cp /var/Keychains/keychain-2.db /tmp/"); XSSystem("cp /var/Keychains/keychain-2.db /tmp/");
sqlite3* ppDb = NULL; sqlite3* ppDb;
char cmd[256]; char cmd[256];
int rc = sqlite3_open("/tmp/keychain-2.db", &ppDb); if (0 == sqlite3_open("/tmp/keychain-2.db", &ppDb)) {
if (rc == SQLITE_OK && ppDb) {
strcpy(cmd, "DELETE FROM cert WHERE agrp<>'apple' and agrp not like '%apple%' and agrp <> 'ichat' and agrp <>'lockdown-identities'"); strcpy(cmd, "DELETE FROM cert WHERE agrp<>'apple' and agrp not like '%apple%' and agrp <> 'ichat' and agrp <>'lockdown-identities'");
sqlite3_exec(ppDb, cmd, 0, 0, 0); sqlite3_exec(ppDb, cmd, 0, 0, 0);
strcpy(cmd, "DELETE FROM keys WHERE agrp<>'apple' and agrp not like '%apple%' and agrp <> 'ichat' and agrp <>'lockdown-identities'"); strcpy(cmd, "DELETE FROM keys WHERE agrp<>'apple' and agrp not like '%apple%' and agrp <> 'ichat' and agrp <>'lockdown-identities'");
sqlite3_exec(ppDb, cmd, 0, 0, 0); sqlite3_exec(ppDb, cmd, 0, 0, 0);
strcpy(cmd, "DELETE FROM inet WHERE agrp<>'apple' and agrp not like '%apple%' and agrp <> 'ichat' and agrp <>'lockdown-identities'"); strcpy(cmd, "DELETE FROM inet WHERE agrp<>'apple' and agrp not like '%apple%' and agrp <> 'ichat' and agrp <>'lockdown-identities'");
sqlite3_exec(ppDb, cmd, 0, 0, 0); sqlite3_exec(ppDb, cmd, 0, 0, 0);
/*
// /private/var/tmp/keychain-2.db char *cmds1[] = {
sqlite3_close(ppDb); cpCmd,
ppDb = NULL; "/tmp/keychain-2.*",
"/var/Keychains/",
NULL
};
*/
//XSRuncmd(cmds1);
XSSystem("cp /tmp/keychain-2.* /var/Keychains/"); XSSystem("cp /tmp/keychain-2.* /var/Keychains/");
} else {
//
if (ppDb) {
sqlite3_close(ppDb);
ppDb = NULL;
}
NSLog(@"XSCleanKeychain: sqlite3_open failed: %d", rc);
} }
//free(cpCmd);
} }
} }
@ -1165,69 +1178,63 @@ BOOL verifyEntitlement(NSString *entitlementName) {
} }
pid_t system2(const char *command, int *infp, int *outfp) { pid_t system2(const char * command, int * infp, int * outfp)
if (!command || strlen(command) == 0) { {
NSLog(@"system2: Invalid command");
return -1;
}
int p_stdin[2]; int p_stdin[2];
int p_stdout[2]; int p_stdout[2];
pid_t pid; pid_t pid;
if (pipe(p_stdin) == -1) { if (pipe(p_stdin) == -1)
NSLog(@"system2: Failed to create stdin pipe: %s", strerror(errno));
return -1; return -1;
}
if (pipe(p_stdout) == -1) { if (pipe(p_stdout) == -1) {
NSLog(@"system2: Failed to create stdout pipe: %s", strerror(errno));
close(p_stdin[0]); close(p_stdin[0]);
close(p_stdin[1]); close(p_stdin[1]);
return -1; return -1;
} }
posix_spawn_file_actions_t actions; pid = fork();
posix_spawn_file_actions_init(&actions);
posix_spawn_file_actions_adddup2(&actions, p_stdin[0], STDIN_FILENO);
posix_spawn_file_actions_adddup2(&actions, p_stdout[1], STDOUT_FILENO);
//
posix_spawn_file_actions_addclose(&actions, p_stdin[1]);
posix_spawn_file_actions_addclose(&actions, p_stdout[0]);
char *argv[] = {"/bin/sh", "-c", (char *)command, NULL}; if (pid < 0) {
int status = posix_spawn(&pid, "/bin/sh", &actions, NULL, argv, environ); close(p_stdin[0]);
posix_spawn_file_actions_destroy(&actions);
//
close(p_stdin[0]); //
close(p_stdout[1]); //
if (status != 0) {
NSLog(@"system2: posix_spawn failed with status %d", status);
close(p_stdin[1]); close(p_stdin[1]);
close(p_stdout[0]); close(p_stdout[0]);
return -1; close(p_stdout[1]);
} return pid;
} else if (pid == 0) {
//
if (infp) {
*infp = p_stdin[1]; // stdin
} else {
close(p_stdin[1]); close(p_stdin[1]);
} dup2(p_stdin[0], 0);
if (outfp) {
*outfp = p_stdout[0]; // stdout
} else {
close(p_stdout[0]); close(p_stdout[0]);
dup2(p_stdout[1], 1);
dup2(open("/dev/null", O_RDONLY), 2);
/// Close all other descriptors for the safety sake.
for (int i = 3; i < 4096; ++i)
close(i);
setsid();
execl("/bin/sh", "sh", "-c", command, NULL);
_exit(1);
} }
if (pid > 0) { close(p_stdin[0]);
int status = 0; close(p_stdout[1]);
waitpid(pid, &status, 0);
} if (infp == NULL) {
close(p_stdin[1]);
} else {
*infp = p_stdin[1];
}
if (outfp == NULL) {
close(p_stdout[0]);
} else {
*outfp = p_stdout[0];
}
if (pid > 0)
{
waitpid(pid, NULL, 0);
}
return pid; return pid;
} }

View File

@ -44,6 +44,7 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
@interface XSHttpHelper () { @interface XSHttpHelper () {
@private NSString *apikey; @private NSString *apikey;
@private NSURLSession *_session; // session
} }
@ -56,7 +57,11 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
if (self = [super init]) { if (self = [super init]) {
apikey = [[XSPhoneConfig sharedInstance] ApiKey]; apikey = [[XSPhoneConfig sharedInstance] ApiKey];
self.timeoutInterval = 15.0; // 15 self.timeoutInterval = 15.0; // 15
// session // NSURLSession
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
configuration.timeoutIntervalForRequest = self.timeoutInterval;
configuration.timeoutIntervalForResource = self.timeoutInterval;
self->_session = [NSURLSession sessionWithConfiguration:configuration delegate:[[SSLBypassDelegate alloc] init] delegateQueue:nil];
return self; return self;
} }
return nil; return nil;
@ -75,13 +80,8 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:self->apikey forHTTPHeaderField:@"apikey"]; [request setValue:self->apikey forHTTPHeaderField:@"apikey"];
// session // 使session
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; self.dataTask = [self->_session dataTaskWithRequest:request
configuration.timeoutIntervalForRequest = self.timeoutInterval;
configuration.timeoutIntervalForResource = self.timeoutInterval;
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:[[SSLBypassDelegate alloc] init] delegateQueue:nil];
self.dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{ {
NSLog(@"XS- http get res"); NSLog(@"XS- http get res");
@ -144,13 +144,8 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
NSData *bodyData = [XSHelper str2Data:json]; NSData *bodyData = [XSHelper str2Data:json];
[request setHTTPBody:bodyData]; [request setHTTPBody:bodyData];
// session // 使session
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; self.postDataTask = [self->_session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
configuration.timeoutIntervalForRequest = self.timeoutInterval;
configuration.timeoutIntervalForResource = self.timeoutInterval;
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:[[SSLBypassDelegate alloc] init] delegateQueue:nil];
self.postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) { if (error) {
NSLog(@"XS- post error : %@", error); NSLog(@"XS- post error : %@", error);
errorCallback(error); errorCallback(error);

View File

@ -1,87 +0,0 @@
#!/bin/bash
# 执行命令
command="dpg -i /User/Downloads/251128-nt-01.deb"
# 直接展开IP命令
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.82" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.212" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.208" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.75" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.193" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.164" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.158" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.181" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.80" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.251" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.73" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.245" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.242" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.142" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.126" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.132" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.192" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.197" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.80" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.118" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.253" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.216" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.177" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.218" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.235" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.196" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.202" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.134" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.222" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.225" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.241" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.148" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.227" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.139" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.104" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.71" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.244" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.102" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.166" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.221" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.161" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.117" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.224" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.94" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.235" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.172" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.88" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.189" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.135" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.117" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.195" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.236" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.77" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.135" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.90" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.136" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.184" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.79" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.96" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.138" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.212" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.105" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.110" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.249" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.248" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.210.211" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.92" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.150" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.227" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.206.186" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.81" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.247" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.182" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.216" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.120" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.88" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.201.202" "$command" &
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@172.25.208.250" "$command" &
wait # 等待所有后台进程完成
echo "All commands executed"

View File

@ -1,41 +0,0 @@
import paramiko
# 设置SSH连接参数
port = 22
username = 'root'
password = 'alpine'
def execute_command(hostname: str, command: str):
# 创建SSH客户端
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接SSH服务端
client.connect(hostname, port, username, password)
# 执行命令
stdin, stdout, stderr = client.exec_command(command)
output = stdout.read().decode('utf-8')
error = stderr.read().decode('utf-8')
print(f"主机 {hostname} 执行命令: {command}")
if output:
print("输出:", output)
if error:
print("错误:", error)
# 关闭连接
client.close()
if __name__ == "__main__":
ips1 = []
with open("./ips.txt", 'r') as f:
ips1 = [i.strip() for i in f.readlines()]
command = 'ls -l' # 替换为实际要执行的命令
for hostname in ips1:
try:
print(hostname)
execute_command(hostname, command)
except Exception as e:
print(e)

View File

@ -14,7 +14,7 @@ TWEAK_NAME = OhNo
OhNo_FRAMEWORKS = CoreLocation CFNetwork CoreTelephony Security OhNo_FRAMEWORKS = CoreLocation CFNetwork CoreTelephony Security
OhNo_FILES = Tweak.x XSLog.m XHookSettingsManager.m OhNo_FILES = Tweak.x XSLog.m
OhNo_CFLAGS = -Wno-error -Wno-module-import-in-extern-c -fobjc-arc OhNo_CFLAGS = -Wno-error -Wno-module-import-in-extern-c -fobjc-arc

28
ios-change-info/MyTweak.h Normal file
View File

@ -0,0 +1,28 @@
#import <Metal/Metal.h>
#import <objc/runtime.h>
@interface CustomMTLDevice : NSObject <MTLDevice>
@property (nonatomic, strong) id<MTLDevice> originalDevice;
@property (nonatomic, strong) NSString *customName;
- (instancetype)initWithOriginalDevice:(id<MTLDevice>)device customName:(NSString *)name;
@end
@implementation CustomMTLDevice
- (instancetype)initWithOriginalDevice:(id<MTLDevice>)device customName:(NSString *)name {
if (self = [super init]) {
_originalDevice = device;
_customName = name;
}
return self;
}
- (NSString *)name {
return self.customName ?: [self.originalDevice name];
}
- (id)forwardingTargetForSelector:(SEL)aSelector {
return self.originalDevice;
}
@end

File diff suppressed because it is too large Load Diff

View File

@ -1,70 +0,0 @@
//
// XHookSettingsManager.h
// 配置管理器 - 头文件
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface XHookSettingsManager : NSObject
@property (nonatomic, assign, readonly) BOOL isLoaded;
// 单例
+ (instancetype)sharedManager;
// 加载配置
- (BOOL)loadSettingsFromPath:(NSString *)path;
- (void)cleanup;
// 设备信息
@property (nonatomic, strong, readonly) NSUUID *idfa;
@property (nonatomic, strong, readonly) NSUUID *idfv;
@property (nonatomic, copy, readonly) NSString *deviceName;
@property (nonatomic, copy, readonly) NSString *osVersion;
@property (nonatomic, copy, readonly) NSString *productStr;
@property (nonatomic, copy, readonly) NSString *hwModel;
@property (nonatomic, assign, readonly) NSUInteger trackingStatus;
// 系统信息
@property (nonatomic, assign, readonly) unsigned long long physicalMemory;
@property (nonatomic, assign, readonly) NSUInteger cpuCore;
@property (nonatomic, assign, readonly) double systemUptimeOffset;
@property (nonatomic, assign, readonly) NSInteger kernBootTimeOffset;
// 电池信息
@property (nonatomic, assign, readonly) UIDeviceBatteryState batteryState;
@property (nonatomic, assign, readonly) float batteryLevel;
// 屏幕信息
@property (nonatomic, assign, readonly) CGFloat screenBrightness;
@property (nonatomic, assign, readonly) CGFloat screenScale;
@property (nonatomic, strong, readonly) NSDictionary *screenBounds;
@property (nonatomic, strong, readonly) NSDictionary *safeAreaInsets;
// 磁盘信息
@property (nonatomic, assign, readonly) unsigned long long diskSize;
@property (nonatomic, assign, readonly) unsigned long long diskFreeSize;
// 音频
@property (nonatomic, assign, readonly) float outputVolume;
// 网络信息
@property (nonatomic, copy, readonly) NSString *userAgent;
@property (nonatomic, strong, readonly) NSDictionary *networkInterfacesInfo;
@property (nonatomic, strong, readonly) NSDictionary *simInfo;
// 本地化
@property (nonatomic, copy, readonly) NSString *locale;
@property (nonatomic, copy, readonly) NSString *timeZone;
// 应用列表
@property (nonatomic, strong, readonly) NSArray *apps;
- (BOOL)shouldHookApp:(NSString *)bundleIdentifier;
@end
// 便捷宏
#define XHookSettings [XHookSettingsManager sharedManager]

View File

@ -1,232 +0,0 @@
//
// XHookSettingsManager.m
// -
//
#import "XHookSettingsManager.h"
@implementation XHookSettingsManager
+ (instancetype)sharedManager {
static XHookSettingsManager *manager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
manager = [[XHookSettingsManager alloc] init];
});
return manager;
}
- (instancetype)init {
self = [super init];
if (self) {
[self resetToDefaults];
}
return self;
}
- (void)resetToDefaults {
_isLoaded = NO;
//
_idfa = nil;
_idfv = nil;
_deviceName = nil;
_osVersion = nil;
_productStr = @"iPhone14,2";
_hwModel = nil;
_trackingStatus = 3; //
//
_physicalMemory = 0;
_cpuCore = 0;
_systemUptimeOffset = -1.0;
_kernBootTimeOffset = 0;
//
_batteryState = UIDeviceBatteryStateUnknown;
_batteryLevel = -1.0f;
//
_screenBrightness = -1.0;
_screenScale = -1.0;
_screenBounds = nil;
_safeAreaInsets = nil;
//
_diskSize = 0;
_diskFreeSize = 0;
//
_outputVolume = -1.0f;
//
_userAgent = nil;
_networkInterfacesInfo = nil;
_simInfo = nil;
//
_locale = nil;
_timeZone = nil;
//
_apps = nil;
}
#pragma mark -
- (NSString *)parseString:(id)value defaultValue:(NSString *)defaultValue {
if ([value isKindOfClass:[NSString class]]) {
return value;
}
return defaultValue;
}
- (NSInteger)parseInteger:(id)value defaultValue:(NSInteger)defaultValue {
if ([value isKindOfClass:[NSString class]]) {
return [value integerValue];
} else if ([value isKindOfClass:[NSNumber class]]) {
return [value integerValue];
}
return defaultValue;
}
- (float)parseFloat:(id)value defaultValue:(float)defaultValue {
if ([value isKindOfClass:[NSString class]]) {
return [value floatValue];
} else if ([value isKindOfClass:[NSNumber class]]) {
return [value floatValue];
}
return defaultValue;
}
- (double)parseDouble:(id)value defaultValue:(double)defaultValue {
if ([value isKindOfClass:[NSString class]]) {
return [value doubleValue];
} else if ([value isKindOfClass:[NSNumber class]]) {
return [value doubleValue];
}
return defaultValue;
}
- (unsigned long long)parseULL:(id)value defaultValue:(unsigned long long)defaultValue {
if ([value isKindOfClass:[NSString class]]) {
return [value longLongValue];
} else if ([value isKindOfClass:[NSNumber class]]) {
return [value unsignedLongLongValue];
}
return defaultValue;
}
- (NSUUID *)parseUUID:(id)value {
if ([value isKindOfClass:[NSString class]]) {
return [[NSUUID alloc] initWithUUIDString:value];
}
return nil;
}
- (NSDictionary *)parseDictionary:(id)value {
if ([value isKindOfClass:[NSDictionary class]]) {
return value;
}
return nil;
}
- (NSArray *)parseArray:(id)value {
if ([value isKindOfClass:[NSArray class]]) {
return value;
}
return nil;
}
#pragma mark -
- (BOOL)loadSettingsFromPath:(NSString *)path {
@try {
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:path]) {
return NO;
}
NSData *jsonData = [NSData dataWithContentsOfFile:path];
if (!jsonData) {
return NO;
}
NSError *error = nil;
NSDictionary *settings = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];
if (error || !settings || ![settings isKindOfClass:[NSDictionary class]]) {
NSLog(@"XHookSettingsManager: Error parsing JSON: %@", error);
return NO;
}
//
[self parseSettings:settings];
_isLoaded = YES;
return YES;
} @catch (NSException *exception) {
NSLog(@"XHookSettingsManager: Exception loading settings: %@", exception);
return NO;
}
}
- (void)parseSettings:(NSDictionary *)settings {
//
_idfa = [self parseUUID:settings[@"idfa"]];
_idfv = [self parseUUID:settings[@"idfv"]];
_deviceName = [self parseString:settings[@"deviceName"] defaultValue:nil];
_osVersion = [self parseString:settings[@"osVersion"] defaultValue:nil];
_productStr = [self parseString:settings[@"productStr"] defaultValue:@"iPhone14,2"];
_hwModel = [self parseString:settings[@"hwModel"] defaultValue:nil];
_trackingStatus = [self parseInteger:settings[@"trackingStatus"] defaultValue:3];
//
_physicalMemory = [self parseULL:settings[@"physicalMemory"] defaultValue:0];
_cpuCore = [self parseInteger:settings[@"cpuCore"] defaultValue:0];
_systemUptimeOffset = [self parseDouble:settings[@"systemUptime"] defaultValue:-1.0];
_kernBootTimeOffset = [self parseInteger:settings[@"kernBootTime"] defaultValue:0];
//
NSInteger batteryStateVal = [self parseInteger:settings[@"batteryState"] defaultValue:-1];
_batteryState = (batteryStateVal >= 0) ? (UIDeviceBatteryState)batteryStateVal : UIDeviceBatteryStateUnknown;
_batteryLevel = [self parseFloat:settings[@"batteryLevel"] defaultValue:-1.0f];
//
_screenBrightness = [self parseDouble:settings[@"screenBrightness"] defaultValue:-1.0];
_screenScale = [self parseDouble:settings[@"screenScale"] defaultValue:-1.0];
_screenBounds = [self parseDictionary:settings[@"screenBounds"]];
_safeAreaInsets = [self parseDictionary:settings[@"safeAreaInsets"]];
//
_diskSize = [self parseULL:settings[@"diskSize"] defaultValue:0];
_diskFreeSize = [self parseULL:settings[@"diskFreeSize"] defaultValue:0];
//
_outputVolume = [self parseFloat:settings[@"outputVolume"] defaultValue:-1.0f];
//
_userAgent = [self parseString:settings[@"userAgent"] defaultValue:nil];
_networkInterfacesInfo = [self parseDictionary:settings[@"networkInterfacesInfo"]];
_simInfo = [self parseDictionary:settings[@"simInfo"]];
//
_locale = [self parseString:settings[@"locale"] defaultValue:nil];
_timeZone = [self parseString:settings[@"timeZone"] defaultValue:nil];
//
_apps = [self parseArray:settings[@"apps"]];
}
- (void)cleanup {
[self resetToDefaults];
}
#pragma mark -
- (BOOL)shouldHookApp:(NSString *)bundleIdentifier {
if (!bundleIdentifier || !_apps) return NO;
return [_apps containsObject:bundleIdentifier];
}
@end

16
ips.txt
View File

@ -1,15 +1 @@
172.29.107.25 192.168.31.103
172.29.107.12
172.29.107.13
172.29.107.20
172.29.107.30
172.29.107.28
172.29.107.16
172.29.107.32
172.29.107.11
172.29.107.26
172.29.107.27
172.29.107.23
172.29.107.14
172.29.107.17
172.25.202.160

View File

@ -3,20 +3,20 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>IpDevName</key> <key>IpDevName</key>
<string>ImagePixel</string> <string>CineLookStudio</string>
<key>MainServerURL</key> <key>MainServerURL</key>
<string>http://192.168.40.8:8080</string> <string>http://192.168.40.8:8080</string>
<key>PackageName</key> <key>PackageName</key>
<string>com.imagePixelFactory.imagePixelFactory</string> <string>com.cineLookStudio.cineLookStudio</string>
<key>ServerURL</key> <key>ServerURL</key>
<string>https://nks-api.i.explore-sun.com</string> <string>https://nks-api.i.explore-sun.com</string>
<key>WashParam</key> <key>WashParam</key>
<false/> <false/>
<key>deviceId</key> <key>deviceId</key>
<string>8DCA89B4-6D3F-4FAA-8388-61758B11B555</string> <string>6256EAE6-38C2-4110-8150-58F9C7918B4E</string>
<key>lastReboot</key> <key>lastReboot</key>
<integer>1761185614</integer> <integer>1762077063</integer>
<key>senderId</key> <key>senderId</key>
<integer>4294968678</integer> <integer>4294967950</integer>
</dict> </dict>
</plist> </plist>

View File

@ -9,7 +9,7 @@ username = 'root'
password = 'alpine' password = 'alpine'
# packagename = 'com.funny.prank.call' # packagename = 'com.funny.prank.call'
def moveRemote(hostname:str, name:str,pkg:str, serverurl:str, wash:bool=False): def moveRemote(hostname:str, packagename:str,serverurl:str):
# 创建SSH传输通道 # 创建SSH传输通道
transport = paramiko.Transport((hostname, port)) transport = paramiko.Transport((hostname, port))
transport.set_keepalive(5) transport.set_keepalive(5)
@ -28,10 +28,10 @@ def moveRemote(hostname:str, name:str,pkg:str, serverurl:str, wash:bool=False):
with open(local_path, 'rb') as fp: with open(local_path, 'rb') as fp:
configPlist = plistlib.load(fp) configPlist = plistlib.load(fp)
configPlist['IpDevName'] = name configPlist['IpDevName'] = packagename
configPlist['ServerURL'] = serverurl configPlist['ServerURL'] = serverurl
configPlist['PackageName'] = pkg configPlist['PackageName'] = 'com.cineLookStudio.cineLookStudio'
configPlist['WashParam'] = wash configPlist['WashParam'] = False
configPlist['MainServerURL'] = "http://192.168.40.8:8080" configPlist['MainServerURL'] = "http://192.168.40.8:8080"
with open(local_path, 'wb') as fp: with open(local_path, 'wb') as fp:
@ -57,6 +57,6 @@ if __name__ == "__main__":
for it in ips1: for it in ips1:
try: try:
print(it) print(it)
moveRemote(it,"ImagePixel", 'com.imagePixelFactory.imagePixelFactory', "https://nks-api.i.explore-sun.com", False) moveRemote(it,"CineLookStudio", "https://nks-api.i.explore-sun.com")
except Exception as e: except Exception as e:
print(e) print(e)

View File

@ -1,42 +0,0 @@
#!/bin/bash
# 函数复制文件到所有IP机器
# 用法: copy_to_ips <source_file> <destination_path>
copy_to_ips() {
local source_file=$1
local dest_path=$2
while IFS= read -r ip; do
ip=$(echo "$ip" | tr -d '\r') # 移除DOS换行符
if [ -n "$ip" ]; then
echo "Copying $source_file to $ip:$dest_path"
sshpass -p alpine scp -o StrictHostKeyChecking=no "$source_file" "root@$ip:$dest_path"
fi
done < ips.txt
}
# 函数在所有IP机器上执行命令
# 用法: execute_on_ips <command>
execute_on_ips() {
local command=$1
if [ ! -f ips.txt ]; then
echo "Error: ips.txt not found"
return 1
fi
echo "Total lines in ips.txt: $(wc -l < ips.txt)"
while IFS= read -r ip; do
ip=$(echo "$ip" | tr -d '\r') # 移除DOS换行符
echo "Read IP: '$ip'"
if [ -n "$ip" ]; then
echo "Processing IP: $ip"
echo "Executing on $ip: $command"
sshpass -p alpine ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 "root@$ip" "$command" || echo "Failed to execute on $ip"
else
echo "Skipping empty line"
fi
done < ips.txt
echo "Finished processing all IPs"
}
# 示例用法(可注释掉)
# copy_to_ips ./251128-nt-01.deb /User/Downlodas
execute_on_ips "killall -9 SpringBoard"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -3,7 +3,7 @@ import socket
data = """ data = """
{ {
"url": "/start", "url": "/adtask/show"
} }
""".encode('utf-8') """.encode('utf-8')

View File

@ -1,42 +0,0 @@
import paramiko
# 设置SSH连接参数
port = 22
username = 'root'
password = 'alpine'
def upload_file(hostname: str, local_path: str, remote_path: str):
# 创建SSH传输通道
transport = paramiko.Transport((hostname, port))
transport.set_keepalive(5)
# 连接SSH服务端以用户名和密码进行认证
transport.connect(username=username, password=password)
# 创建SFTP客户端
sftp = paramiko.SFTPClient.from_transport(transport)
# 上传本地文件到远程主机
sftp.put(local_path, remote_path)
print(f"文件 {local_path} 已上传到 {hostname}:{remote_path}")
# 关闭SFTP连接
sftp.close()
# 关闭SSH传输通道
transport.close()
if __name__ == "__main__":
ips1 = []
with open("./ips.txt", 'r') as f:
ips1 = [i.strip() for i in f.readlines()]
local_path = 'local_file.txt' # 本地文件路径
remote_path = '/remote/path/to/file.txt' # 远程文件路径
for hostname in ips1:
try:
print(hostname)
upload_file(hostname, local_path, remote_path)
except Exception as e:
print(e)