Compare commits
10 Commits
437cdc5b1b
...
0d9c1b0408
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d9c1b0408 | ||
|
|
a04260863e | ||
|
|
354bfd5cb9 | ||
|
|
7df8da9213 | ||
|
|
8c7bd97be9 | ||
|
|
9664d82f73 | ||
|
|
a742b2e811 | ||
|
|
8829cb877b | ||
|
|
8f30ad7e5b | ||
|
|
0fe8a37050 |
@ -6,5 +6,5 @@ Author: XYZShell
|
||||
Section: Utilities
|
||||
Tag: role::developer
|
||||
Architecture: iphoneos-arm
|
||||
Version: 0.0.7-10-80+debug
|
||||
Installed-Size: 1696
|
||||
Version: 0.0.7-10-117+debug
|
||||
Installed-Size: 1700
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
./packages/com.xyzshell.ioscontrol_0.0.7-10-80+debug_iphoneos-arm.deb
|
||||
./packages/com.xyzshell.ioscontrol_0.0.7-10-117+debug_iphoneos-arm.deb
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@ -2,201 +2,192 @@
|
||||
triple: 'arm64-apple-darwin'
|
||||
binary-path: '/Users/mac/workspaces/projects/ios-change/old-ios-hook/.theos/obj/debug/arm64/OhNo.dylib'
|
||||
relocations:
|
||||
- { offset: 0x7D, size: 0x8, addend: 0x0, symName: _settings, symBinAddr: 0x16070, symSize: 0x0 }
|
||||
- { offset: 0xF0, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x26FC0, symBinAddr: 0x15EA8, symSize: 0x0 }
|
||||
- { offset: 0x163, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x26FC8, symBinAddr: 0x15EB0, symSize: 0x0 }
|
||||
- { offset: 0x1FD, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x26FD0, symBinAddr: 0x15EB8, symSize: 0x0 }
|
||||
- { offset: 0x27B, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x26FD8, symBinAddr: 0x15EC0, symSize: 0x0 }
|
||||
- { offset: 0x2B7, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$identifierForVendor', symObjAddr: 0x26FE0, symBinAddr: 0x15EC8, symSize: 0x0 }
|
||||
- { offset: 0x492, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$name', symObjAddr: 0x26FE8, symBinAddr: 0x15ED0, symSize: 0x0 }
|
||||
- { offset: 0x4BC, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$model', symObjAddr: 0x26FF0, symBinAddr: 0x15ED8, symSize: 0x0 }
|
||||
- { offset: 0x4D1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$localizedModel', symObjAddr: 0x26FF8, symBinAddr: 0x15EE0, symSize: 0x0 }
|
||||
- { offset: 0x4E6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$systemName', symObjAddr: 0x27000, symBinAddr: 0x15EE8, symSize: 0x0 }
|
||||
- { offset: 0x4FB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$systemVersion', symObjAddr: 0x27008, symBinAddr: 0x15EF0, symSize: 0x0 }
|
||||
- { offset: 0x510, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$batteryState', symObjAddr: 0x27010, symBinAddr: 0x15EF8, symSize: 0x0 }
|
||||
- { offset: 0x53A, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$batteryLevel', symObjAddr: 0x27018, symBinAddr: 0x15F00, symSize: 0x0 }
|
||||
- { offset: 0x564, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$orientation', symObjAddr: 0x27020, symBinAddr: 0x15F08, symSize: 0x0 }
|
||||
- { offset: 0x58E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$systemUptime', symObjAddr: 0x27028, symBinAddr: 0x15F10, symSize: 0x0 }
|
||||
- { offset: 0x738, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$physicalMemory', symObjAddr: 0x27030, symBinAddr: 0x15F18, symSize: 0x0 }
|
||||
- { offset: 0x762, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$processorCount', symObjAddr: 0x27038, symBinAddr: 0x15F20, symSize: 0x0 }
|
||||
- { offset: 0x78C, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x27040, symBinAddr: 0x15F28, 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$ohno$UIScreen$brightness', symObjAddr: 0x27050, symBinAddr: 0x15F38, symSize: 0x0 }
|
||||
- { offset: 0x2513, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$bounds', symObjAddr: 0x27058, symBinAddr: 0x15F40, symSize: 0x0 }
|
||||
- { offset: 0x253D, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$scale', symObjAddr: 0x27060, symBinAddr: 0x15F48, symSize: 0x0 }
|
||||
- { offset: 0x2552, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$nativeBounds', symObjAddr: 0x27068, symBinAddr: 0x15F50, symSize: 0x0 }
|
||||
- { offset: 0x2567, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$isCaptured', symObjAddr: 0x27070, symBinAddr: 0x15F58, 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$ohno$AVAudioSession$outputVolume', symObjAddr: 0x27080, symBinAddr: 0x15F68, symSize: 0x0 }
|
||||
- { offset: 0x25F5, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreenMode$size', symObjAddr: 0x27088, symBinAddr: 0x15F70, symSize: 0x0 }
|
||||
- { offset: 0x2624, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x27090, symBinAddr: 0x15F78, symSize: 0x0 }
|
||||
- { offset: 0x274E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSFileManager$fileExistsAtPath$', symObjAddr: 0x27098, symBinAddr: 0x15F80, symSize: 0x0 }
|
||||
- { offset: 0x277D, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$preferredLanguages', symObjAddr: 0x270A0, symBinAddr: 0x15F88, symSize: 0x0 }
|
||||
- { offset: 0x27A7, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$currentLocale', symObjAddr: 0x270A8, symBinAddr: 0x15F90, symSize: 0x0 }
|
||||
- { offset: 0x27E6, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$systemLocale', symObjAddr: 0x270B0, symBinAddr: 0x15F98, symSize: 0x0 }
|
||||
- { offset: 0x27FB, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$localTimeZone', symObjAddr: 0x270B8, symBinAddr: 0x15FA0, symSize: 0x0 }
|
||||
- { offset: 0x2854, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$systemTimeZone', symObjAddr: 0x270C0, symBinAddr: 0x15FA8, symSize: 0x0 }
|
||||
- { offset: 0x2869, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$defaultTimeZone', symObjAddr: 0x270C8, symBinAddr: 0x15FB0, symSize: 0x0 }
|
||||
- { offset: 0x287E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIStatusBarManager$statusBarFrame', symObjAddr: 0x270D0, symBinAddr: 0x15FB8, symSize: 0x0 }
|
||||
- { offset: 0x28EA, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSMutableURLRequest$initWithURL$', symObjAddr: 0x270D8, symBinAddr: 0x15FC0, symSize: 0x0 }
|
||||
- { offset: 0x2B87, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x270E0, symBinAddr: 0x15FC8, symSize: 0x0 }
|
||||
- { offset: 0x2BBC, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x270E8, symBinAddr: 0x15FD0, symSize: 0x0 }
|
||||
- { offset: 0x32F0, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x270F0, symBinAddr: 0x15FD8, symSize: 0x0 }
|
||||
- { offset: 0x3542, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x270F8, symBinAddr: 0x15FE0, symSize: 0x0 }
|
||||
- { offset: 0x51A6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$setCustomUserAgent$', symObjAddr: 0x27100, symBinAddr: 0x15FE8, symSize: 0x0 }
|
||||
- { offset: 0x51D1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$customUserAgent', symObjAddr: 0x27108, symBinAddr: 0x15FF0, symSize: 0x0 }
|
||||
- { offset: 0x51FB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x27110, symBinAddr: 0x15FF8, symSize: 0x0 }
|
||||
- { offset: 0x53AB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x27118, symBinAddr: 0x16000, symSize: 0x0 }
|
||||
- { offset: 0x53C0, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x27120, symBinAddr: 0x16008, symSize: 0x0 }
|
||||
- { offset: 0x590C, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$uname', symObjAddr: 0x27128, symBinAddr: 0x16010, symSize: 0x0 }
|
||||
- { offset: 0x598E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$sysctl', symObjAddr: 0x27130, symBinAddr: 0x16018, symSize: 0x0 }
|
||||
- { offset: 0x59E7, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$sysctlbyname', symObjAddr: 0x27138, symBinAddr: 0x16020, symSize: 0x0 }
|
||||
- { offset: 0x5A21, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$clock_gettime', symObjAddr: 0x27140, symBinAddr: 0x16028, symSize: 0x0 }
|
||||
- { offset: 0x5AC1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$getifaddrs', symObjAddr: 0x27148, symBinAddr: 0x16030, symSize: 0x0 }
|
||||
- { offset: 0x5B9F, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$SCNetworkReachabilityGetFlags', symObjAddr: 0x27150, symBinAddr: 0x16038, symSize: 0x0 }
|
||||
- { offset: 0x5C50, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x27158, symBinAddr: 0x16040, symSize: 0x0 }
|
||||
- { offset: 0x5C72, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x27160, symBinAddr: 0x16048, symSize: 0x0 }
|
||||
- { offset: 0x5E40, size: 0x8, addend: 0x0, symName: _SetupXSLog, symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x24 }
|
||||
- { offset: 0x5E55, size: 0x8, addend: 0x0, symName: _str2uuid, symObjAddr: 0x24, symBinAddr: 0x4024, symSize: 0x64 }
|
||||
- { offset: 0x5E7D, size: 0x8, addend: 0x0, symName: _str2int, symObjAddr: 0x88, symBinAddr: 0x4088, symSize: 0x58 }
|
||||
- { offset: 0x5EA5, size: 0x8, addend: 0x0, symName: _str2float, symObjAddr: 0xE0, symBinAddr: 0x40E0, symSize: 0x54 }
|
||||
- { offset: 0x5ECD, size: 0x8, addend: 0x0, symName: _str2double, symObjAddr: 0x134, symBinAddr: 0x4134, symSize: 0x54 }
|
||||
- { offset: 0x5EF5, size: 0x8, addend: 0x0, symName: _str2ull, symObjAddr: 0x188, symBinAddr: 0x4188, symSize: 0x58 }
|
||||
- { offset: 0x5F1D, size: 0x8, addend: 0x0, symName: _tryGetVal, symObjAddr: 0x1E0, symBinAddr: 0x41E0, symSize: 0x190 }
|
||||
- { offset: 0x5F77, size: 0x8, addend: 0x0, symName: _str2chars, symObjAddr: 0x370, symBinAddr: 0x4370, symSize: 0x6C }
|
||||
- { offset: 0x5FAD, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData rotationRate]', symObjAddr: 0x3DC, symBinAddr: 0x43DC, symSize: 0x44 }
|
||||
- { offset: 0x5FE4, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData customRotationRate]', symObjAddr: 0x420, symBinAddr: 0x4420, symSize: 0x40 }
|
||||
- { offset: 0x601B, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData setCustomRotationRate:]', symObjAddr: 0x460, symBinAddr: 0x4460, symSize: 0x40 }
|
||||
- { offset: 0x605A, size: 0x8, addend: 0x0, symName: __logosLocalCtor_9b794672, symObjAddr: 0x4A0, symBinAddr: 0x44A0, symSize: 0xD0C }
|
||||
- { offset: 0x62FD, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x11AC, symBinAddr: 0x51AC, symSize: 0x130 }
|
||||
- { offset: 0x635E, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x12DC, symBinAddr: 0x52DC, symSize: 0x1BC }
|
||||
- { offset: 0x63C5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x1498, symBinAddr: 0x5498, symSize: 0x158 }
|
||||
- { offset: 0x640E, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x15F0, symBinAddr: 0x55F0, symSize: 0xF4 }
|
||||
- { offset: 0x6457, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$identifierForVendor', symObjAddr: 0x16E4, symBinAddr: 0x56E4, symSize: 0x158 }
|
||||
- { offset: 0x64A0, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$name', symObjAddr: 0x183C, symBinAddr: 0x583C, symSize: 0x158 }
|
||||
- { offset: 0x64E9, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$model', symObjAddr: 0x1994, symBinAddr: 0x5994, symSize: 0x34 }
|
||||
- { offset: 0x651F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$localizedModel', symObjAddr: 0x19C8, symBinAddr: 0x59C8, symSize: 0x34 }
|
||||
- { offset: 0x6555, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$systemName', symObjAddr: 0x19FC, symBinAddr: 0x59FC, symSize: 0x34 }
|
||||
- { offset: 0x658B, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$systemVersion', symObjAddr: 0x1A30, symBinAddr: 0x5A30, symSize: 0x158 }
|
||||
- { offset: 0x65D4, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$batteryState', symObjAddr: 0x1B88, symBinAddr: 0x5B88, symSize: 0xF0 }
|
||||
- { offset: 0x661D, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$batteryLevel', symObjAddr: 0x1C78, symBinAddr: 0x5C78, symSize: 0xF0 }
|
||||
- { offset: 0x6666, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$orientation', symObjAddr: 0x1D68, symBinAddr: 0x5D68, symSize: 0x18 }
|
||||
- { offset: 0x669C, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$systemUptime', symObjAddr: 0x1D80, symBinAddr: 0x5D80, symSize: 0xF0 }
|
||||
- { offset: 0x66E5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$physicalMemory', symObjAddr: 0x1E70, symBinAddr: 0x5E70, symSize: 0x110 }
|
||||
- { offset: 0x672F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$processorCount', symObjAddr: 0x1F80, symBinAddr: 0x5F80, symSize: 0xF0 }
|
||||
- { offset: 0x677C, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x2070, symBinAddr: 0x6070, symSize: 0x614 }
|
||||
- { offset: 0x680A, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIWindow$safeAreaInsets', symObjAddr: 0x2684, symBinAddr: 0x6684, symSize: 0x214 }
|
||||
- { offset: 0x6858, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$brightness', symObjAddr: 0x2898, symBinAddr: 0x6898, symSize: 0xF0 }
|
||||
- { offset: 0x68A5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$bounds', symObjAddr: 0x2988, symBinAddr: 0x6988, symSize: 0x12C }
|
||||
- { offset: 0x68F3, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$scale', symObjAddr: 0x2AB4, symBinAddr: 0x6AB4, symSize: 0xF0 }
|
||||
- { offset: 0x6940, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$nativeBounds', symObjAddr: 0x2BA4, symBinAddr: 0x6BA4, symSize: 0x12C }
|
||||
- { offset: 0x698E, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$isCaptured', symObjAddr: 0x2CD0, symBinAddr: 0x6CD0, symSize: 0x1C }
|
||||
- { offset: 0x69C7, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$mirroredScreen', symObjAddr: 0x2CEC, symBinAddr: 0x6CEC, symSize: 0x18 }
|
||||
- { offset: 0x6A00, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$AVAudioSession$outputVolume', symObjAddr: 0x2D04, symBinAddr: 0x6D04, symSize: 0xF0 }
|
||||
- { offset: 0x6A4D, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreenMode$size', symObjAddr: 0x2DF4, symBinAddr: 0x6DF4, symSize: 0x104 }
|
||||
- { offset: 0x6A9B, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x2EF8, symBinAddr: 0x6EF8, symSize: 0x248 }
|
||||
- { offset: 0x6B1F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSFileManager$fileExistsAtPath$', symObjAddr: 0x3140, symBinAddr: 0x7140, symSize: 0x3A0 }
|
||||
- { offset: 0x6B8A, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$preferredLanguages', symObjAddr: 0x34E0, symBinAddr: 0x74E0, symSize: 0x88 }
|
||||
- { offset: 0x6BC3, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$currentLocale', symObjAddr: 0x3568, symBinAddr: 0x7568, symSize: 0x138 }
|
||||
- { offset: 0x6C10, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$systemLocale', symObjAddr: 0x36A0, symBinAddr: 0x76A0, symSize: 0x138 }
|
||||
- { offset: 0x6C5D, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$localTimeZone', symObjAddr: 0x37D8, symBinAddr: 0x77D8, symSize: 0x138 }
|
||||
- { offset: 0x6CAA, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$systemTimeZone', symObjAddr: 0x3910, symBinAddr: 0x7910, symSize: 0x138 }
|
||||
- { offset: 0x6CF7, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$defaultTimeZone', symObjAddr: 0x3A48, symBinAddr: 0x7A48, symSize: 0x138 }
|
||||
- { offset: 0x6D44, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIStatusBarManager$statusBarFrame', symObjAddr: 0x3B80, symBinAddr: 0x7B80, symSize: 0x12C }
|
||||
- { offset: 0x6D92, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSMutableURLRequest$initWithURL$', symObjAddr: 0x3CAC, symBinAddr: 0x7CAC, symSize: 0x134 }
|
||||
- { offset: 0x6DDA, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x3DE0, symBinAddr: 0x7DE0, symSize: 0x18C }
|
||||
- { offset: 0x6E42, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x3F6C, symBinAddr: 0x7F6C, symSize: 0xF4 }
|
||||
- { offset: 0x6E8A, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x4060, symBinAddr: 0x8060, symSize: 0x134 }
|
||||
- { offset: 0x6EF0, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x4194, symBinAddr: 0x8194, symSize: 0x1F0 }
|
||||
- { offset: 0x6F58, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$setCustomUserAgent$', symObjAddr: 0x4384, symBinAddr: 0x8384, symSize: 0x140 }
|
||||
- { offset: 0x6FB1, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$customUserAgent', symObjAddr: 0x44C4, symBinAddr: 0x84C4, symSize: 0x12C }
|
||||
- { offset: 0x6FFE, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x45F0, symBinAddr: 0x85F0, symSize: 0x170 }
|
||||
- { offset: 0x7055, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x4760, symBinAddr: 0x8760, symSize: 0x170 }
|
||||
- { offset: 0x70AC, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x48D0, symBinAddr: 0x88D0, symSize: 0x150 }
|
||||
- { offset: 0x710E, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$uname', symObjAddr: 0x4A20, symBinAddr: 0x8A20, symSize: 0x88 }
|
||||
- { offset: 0x7147, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$sysctl', symObjAddr: 0x4AA8, symBinAddr: 0x8AA8, symSize: 0x410 }
|
||||
- { offset: 0x7234, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$sysctlbyname', symObjAddr: 0x4EB8, symBinAddr: 0x8EB8, symSize: 0x428 }
|
||||
- { offset: 0x7332, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$clock_gettime', symObjAddr: 0x52E0, symBinAddr: 0x92E0, symSize: 0x5C }
|
||||
- { offset: 0x737A, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$getifaddrs', symObjAddr: 0x533C, symBinAddr: 0x933C, symSize: 0x698 }
|
||||
- { offset: 0x7500, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$SCNetworkReachabilityGetFlags', symObjAddr: 0x59D4, symBinAddr: 0x99D4, symSize: 0x84 }
|
||||
- { offset: 0x7548, size: 0x8, addend: 0x0, symName: __logosLocalDtor_fefd86ea, symObjAddr: 0x5A58, symBinAddr: 0x9A58, symSize: 0x28 }
|
||||
- { offset: 0x758C, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$trackingAuthorizationStatus_block_invoke', symObjAddr: 0x5A80, symBinAddr: 0x9A80, symSize: 0x80 }
|
||||
- { offset: 0x75D9, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32r, symObjAddr: 0x5B00, symBinAddr: 0x9B00, symSize: 0x38 }
|
||||
- { offset: 0x75FD, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32r, symObjAddr: 0x5B38, symBinAddr: 0x9B38, symSize: 0x2C }
|
||||
- { offset: 0x7619, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke', symObjAddr: 0x5B64, symBinAddr: 0x9B64, symSize: 0x80 }
|
||||
- { offset: 0x7666, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke_2', symObjAddr: 0x5BE4, symBinAddr: 0x9BE4, symSize: 0x58 }
|
||||
- { offset: 0x76B6, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b40r, symObjAddr: 0x5C3C, symBinAddr: 0x9C3C, symSize: 0x58 }
|
||||
- { offset: 0x76DA, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40r, symObjAddr: 0x5C94, symBinAddr: 0x9C94, symSize: 0x40 }
|
||||
- { offset: 0x76F6, size: 0x8, addend: 0x0, symName: ___Block_byref_object_copy_, symObjAddr: 0x5CD4, symBinAddr: 0x9CD4, symSize: 0x54 }
|
||||
- { offset: 0x771A, size: 0x8, addend: 0x0, symName: ___Block_byref_object_dispose_, symObjAddr: 0x5D28, symBinAddr: 0x9D28, symSize: 0x2C }
|
||||
- { offset: 0x7736, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$ASIdentifierManager$advertisingIdentifier_block_invoke', symObjAddr: 0x5D54, symBinAddr: 0x9D54, symSize: 0x80 }
|
||||
- { offset: 0x7783, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled_block_invoke', symObjAddr: 0x5DD4, symBinAddr: 0x9DD4, symSize: 0x9C }
|
||||
- { offset: 0x77EC, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$identifierForVendor_block_invoke', symObjAddr: 0x5E70, symBinAddr: 0x9E70, symSize: 0x80 }
|
||||
- { offset: 0x7839, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$name_block_invoke', symObjAddr: 0x5EF0, symBinAddr: 0x9EF0, symSize: 0x64 }
|
||||
- { offset: 0x7886, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$systemVersion_block_invoke', symObjAddr: 0x5F54, symBinAddr: 0x9F54, symSize: 0x64 }
|
||||
- { offset: 0x78D3, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$batteryState_block_invoke', symObjAddr: 0x5FB8, symBinAddr: 0x9FB8, symSize: 0x70 }
|
||||
- { offset: 0x793C, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$batteryLevel_block_invoke', symObjAddr: 0x6028, symBinAddr: 0xA028, symSize: 0x64 }
|
||||
- { offset: 0x7989, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$systemUptime_block_invoke', symObjAddr: 0x608C, symBinAddr: 0xA08C, symSize: 0x88 }
|
||||
- { offset: 0x79F2, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$physicalMemory_block_invoke', symObjAddr: 0x6114, symBinAddr: 0xA114, symSize: 0x74 }
|
||||
- { offset: 0x7A60, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$processorCount_block_invoke', symObjAddr: 0x6188, symBinAddr: 0xA188, symSize: 0x74 }
|
||||
- { offset: 0x7ACE, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$operatingSystemVersion_block_invoke', symObjAddr: 0x61FC, symBinAddr: 0xA1FC, symSize: 0x64 }
|
||||
- { offset: 0x7B1F, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIWindow$safeAreaInsets_block_invoke', symObjAddr: 0x6260, symBinAddr: 0xA260, symSize: 0x160 }
|
||||
- { offset: 0x7B9C, size: 0x8, addend: 0x0, symName: _UIEdgeInsetsMake, symObjAddr: 0x63C0, symBinAddr: 0xA3C0, symSize: 0x4C }
|
||||
- { offset: 0x7BFC, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$brightness_block_invoke', symObjAddr: 0x640C, symBinAddr: 0xA40C, symSize: 0x78 }
|
||||
- { offset: 0x7C6A, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$bounds_block_invoke', symObjAddr: 0x6484, symBinAddr: 0xA484, symSize: 0x12C }
|
||||
- { offset: 0x7D06, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$scale_block_invoke', symObjAddr: 0x65B0, symBinAddr: 0xA5B0, symSize: 0x78 }
|
||||
- { offset: 0x7D74, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$nativeBounds_block_invoke', symObjAddr: 0x6628, symBinAddr: 0xA628, symSize: 0x12C }
|
||||
- { offset: 0x7E10, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$AVAudioSession$outputVolume_block_invoke', symObjAddr: 0x6754, symBinAddr: 0xA754, symSize: 0x78 }
|
||||
- { offset: 0x7E7E, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreenMode$size_block_invoke', symObjAddr: 0x67CC, symBinAddr: 0xA7CC, symSize: 0x118 }
|
||||
- { offset: 0x7F19, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$_block_invoke', symObjAddr: 0x68E4, symBinAddr: 0xA8E4, symSize: 0xB0 }
|
||||
- { offset: 0x7F81, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s, symObjAddr: 0x6994, symBinAddr: 0xA994, symSize: 0x38 }
|
||||
- { offset: 0x7FA5, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s, symObjAddr: 0x69CC, symBinAddr: 0xA9CC, symSize: 0x2C }
|
||||
- { offset: 0x7FC1, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$_block_invoke.254', symObjAddr: 0x69F8, symBinAddr: 0xA9F8, symSize: 0xB0 }
|
||||
- { offset: 0x8029, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$fileExistsAtPath$_block_invoke', symObjAddr: 0x6AA8, symBinAddr: 0xAAA8, symSize: 0x9C }
|
||||
- { offset: 0x80B3, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSLocale$currentLocale_block_invoke', symObjAddr: 0x6B44, symBinAddr: 0xAB44, symSize: 0xB0 }
|
||||
- { offset: 0x8121, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSLocale$systemLocale_block_invoke', symObjAddr: 0x6BF4, symBinAddr: 0xABF4, symSize: 0xB0 }
|
||||
- { offset: 0x818F, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$localTimeZone_block_invoke', symObjAddr: 0x6CA4, symBinAddr: 0xACA4, symSize: 0xB4 }
|
||||
- { offset: 0x81FD, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$systemTimeZone_block_invoke', symObjAddr: 0x6D58, symBinAddr: 0xAD58, symSize: 0xB4 }
|
||||
- { offset: 0x826B, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$defaultTimeZone_block_invoke', symObjAddr: 0x6E0C, symBinAddr: 0xAE0C, symSize: 0xB4 }
|
||||
- { offset: 0x82D9, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIStatusBarManager$statusBarFrame_block_invoke', symObjAddr: 0x6EC0, symBinAddr: 0xAEC0, symSize: 0xE0 }
|
||||
- { offset: 0x8365, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSMutableURLRequest$initWithURL$_block_invoke', symObjAddr: 0x6FA0, symBinAddr: 0xAFA0, symSize: 0x68 }
|
||||
- { offset: 0x83B0, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$_block_invoke', symObjAddr: 0x7008, symBinAddr: 0xB008, symSize: 0x64 }
|
||||
- { offset: 0x8401, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSURLSession$sessionWithConfiguration$_block_invoke', symObjAddr: 0x706C, symBinAddr: 0xB06C, symSize: 0xDC }
|
||||
- { offset: 0x844C, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSURLSession$dataTaskWithRequest$completionHandler$_block_invoke', symObjAddr: 0x7148, symBinAddr: 0xB148, symSize: 0x68 }
|
||||
- { offset: 0x8497, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$evaluateJavaScript$completionHandler$_block_invoke', symObjAddr: 0x71B0, symBinAddr: 0xB1B0, symSize: 0x64 }
|
||||
- { offset: 0x84E8, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$setCustomUserAgent$_block_invoke', symObjAddr: 0x7214, symBinAddr: 0xB214, symSize: 0x64 }
|
||||
- { offset: 0x8539, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$customUserAgent_block_invoke', symObjAddr: 0x7278, symBinAddr: 0xB278, symSize: 0x64 }
|
||||
- { offset: 0x858A, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology_block_invoke', symObjAddr: 0x72DC, symBinAddr: 0xB2DC, symSize: 0x268 }
|
||||
- { offset: 0x8632, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders_block_invoke', symObjAddr: 0x7544, symBinAddr: 0xB544, symSize: 0x488 }
|
||||
- { offset: 0x86DA, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$_block_invoke', symObjAddr: 0x79CC, symBinAddr: 0xB9CC, symSize: 0x15C }
|
||||
- { offset: 0x877F, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b, symObjAddr: 0x7B28, symBinAddr: 0xBB28, symSize: 0x38 }
|
||||
- { offset: 0x87A3, size: 0x8, addend: 0x0, symName: _randomRadiansPerSecond, symObjAddr: 0x7B60, symBinAddr: 0xBB60, symSize: 0x44 }
|
||||
- { offset: 0x87CD, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$uname_block_invoke', symObjAddr: 0x7BA4, symBinAddr: 0xBBA4, symSize: 0xB0 }
|
||||
- { offset: 0x8836, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctl_block_invoke', symObjAddr: 0x7C54, symBinAddr: 0xBC54, symSize: 0x78 }
|
||||
- { offset: 0x889E, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctl_block_invoke_2', symObjAddr: 0x7CCC, symBinAddr: 0xBCCC, symSize: 0x68 }
|
||||
- { offset: 0x88EF, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctlbyname_block_invoke', symObjAddr: 0x7D34, symBinAddr: 0xBD34, symSize: 0xC0 }
|
||||
- { offset: 0x8955, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctlbyname_block_invoke_2', symObjAddr: 0x7DF4, symBinAddr: 0xBDF4, symSize: 0xC0 }
|
||||
- { offset: 0x89BB, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$getifaddrs_block_invoke', symObjAddr: 0x7EB4, symBinAddr: 0xBEB4, symSize: 0x8C }
|
||||
- { offset: 0x8A0C, size: 0x8, addend: 0x0, symName: _modifyInterfaceIP, symObjAddr: 0x7F40, symBinAddr: 0xBF40, symSize: 0x16C }
|
||||
- { offset: 0x8A9F, size: 0x8, addend: 0x0, symName: _createInterface, symObjAddr: 0x80AC, symBinAddr: 0xC0AC, symSize: 0x3F4 }
|
||||
- { offset: 0x8B48, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x84A0, symBinAddr: 0xC4A0, symSize: 0xC }
|
||||
- { offset: 0x8B62, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x84AC, symBinAddr: 0xC4AC, symSize: 0xC }
|
||||
- { offset: 0x8B7C, size: 0x8, addend: 0x0, symName: _cleanup, symObjAddr: 0x84B8, symBinAddr: 0xC4B8, symSize: 0x38 }
|
||||
- { offset: 0x8B92, size: 0x8, addend: 0x0, symName: ___GLOBAL_init_65535, symObjAddr: 0x8AA0, symBinAddr: 0xC4F0, symSize: 0x28 }
|
||||
- { offset: 0xA668, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xC518, symSize: 0x100 }
|
||||
- { offset: 0xA681, size: 0x8, addend: 0x0, symName: _kLogFilePath, symObjAddr: 0xE38, symBinAddr: 0x15E90, symSize: 0x0 }
|
||||
- { offset: 0xA6E8, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xC518, symSize: 0x100 }
|
||||
- { offset: 0xA709, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath.onceToken, symObjAddr: 0x3DE8, symBinAddr: 0x16050, symSize: 0x0 }
|
||||
- { offset: 0xA7AE, size: 0x8, addend: 0x0, symName: _logFileHandle, symObjAddr: 0x3DF8, symBinAddr: 0x16060, symSize: 0x0 }
|
||||
- { offset: 0xA82E, size: 0x8, addend: 0x0, symName: _logQueue, symObjAddr: 0x3DF0, symBinAddr: 0x16058, symSize: 0x0 }
|
||||
- { 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 }
|
||||
- { offset: 0x51, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x1EEA0, symBinAddr: 0x121B0, symSize: 0x0 }
|
||||
- { offset: 0xE9, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x1EEA8, symBinAddr: 0x121B8, symSize: 0x0 }
|
||||
- { offset: 0x183, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x1EEB0, symBinAddr: 0x121C0, symSize: 0x0 }
|
||||
- { offset: 0x218, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x1EEB8, symBinAddr: 0x121C8, symSize: 0x0 }
|
||||
- { offset: 0x254, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$identifierForVendor', symObjAddr: 0x1EEC0, symBinAddr: 0x121D0, symSize: 0x0 }
|
||||
- { offset: 0x441, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$name', symObjAddr: 0x1EEC8, symBinAddr: 0x121D8, symSize: 0x0 }
|
||||
- { offset: 0x46B, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$model', symObjAddr: 0x1EED0, symBinAddr: 0x121E0, symSize: 0x0 }
|
||||
- { offset: 0x480, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$localizedModel', symObjAddr: 0x1EED8, symBinAddr: 0x121E8, symSize: 0x0 }
|
||||
- { offset: 0x495, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$systemName', symObjAddr: 0x1EEE0, symBinAddr: 0x121F0, symSize: 0x0 }
|
||||
- { offset: 0x4AA, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$systemVersion', symObjAddr: 0x1EEE8, symBinAddr: 0x121F8, symSize: 0x0 }
|
||||
- { offset: 0x4BF, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$batteryState', symObjAddr: 0x1EEF0, symBinAddr: 0x12200, symSize: 0x0 }
|
||||
- { offset: 0x4E9, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$batteryLevel', symObjAddr: 0x1EEF8, symBinAddr: 0x12208, symSize: 0x0 }
|
||||
- { offset: 0x513, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$orientation', symObjAddr: 0x1EF00, symBinAddr: 0x12210, symSize: 0x0 }
|
||||
- { offset: 0x53D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$systemUptime', symObjAddr: 0x1EF08, symBinAddr: 0x12218, symSize: 0x0 }
|
||||
- { offset: 0x709, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$physicalMemory', symObjAddr: 0x1EF10, symBinAddr: 0x12220, symSize: 0x0 }
|
||||
- { offset: 0x733, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$processorCount', symObjAddr: 0x1EF18, symBinAddr: 0x12228, symSize: 0x0 }
|
||||
- { offset: 0x75D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x1EF20, symBinAddr: 0x12230, symSize: 0x0 }
|
||||
- { offset: 0x787, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIWindow$safeAreaInsets', symObjAddr: 0x1EF28, symBinAddr: 0x12238, symSize: 0x0 }
|
||||
- { offset: 0x24B5, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$brightness', symObjAddr: 0x1EF30, symBinAddr: 0x12240, symSize: 0x0 }
|
||||
- { offset: 0x24E4, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$bounds', symObjAddr: 0x1EF38, symBinAddr: 0x12248, symSize: 0x0 }
|
||||
- { offset: 0x250E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$scale', symObjAddr: 0x1EF40, symBinAddr: 0x12250, symSize: 0x0 }
|
||||
- { offset: 0x2523, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$nativeBounds', symObjAddr: 0x1EF48, symBinAddr: 0x12258, symSize: 0x0 }
|
||||
- { offset: 0x2538, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$isCaptured', symObjAddr: 0x1EF50, symBinAddr: 0x12260, symSize: 0x0 }
|
||||
- { offset: 0x2562, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$mirroredScreen', symObjAddr: 0x1EF58, symBinAddr: 0x12268, symSize: 0x0 }
|
||||
- { offset: 0x258C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreenMode$size', symObjAddr: 0x1EF60, symBinAddr: 0x12270, symSize: 0x0 }
|
||||
- { offset: 0x25BB, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIStatusBarManager$statusBarFrame', symObjAddr: 0x1EF68, symBinAddr: 0x12278, symSize: 0x0 }
|
||||
- { offset: 0x2627, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$AVAudioSession$outputVolume', symObjAddr: 0x1EF70, symBinAddr: 0x12280, symSize: 0x0 }
|
||||
- { offset: 0x299C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x1EF78, symBinAddr: 0x12288, symSize: 0x0 }
|
||||
- { offset: 0x2AC6, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSFileManager$fileExistsAtPath$', symObjAddr: 0x1EF80, symBinAddr: 0x12290, symSize: 0x0 }
|
||||
- { offset: 0x2AF5, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$preferredLanguages', symObjAddr: 0x1EF88, symBinAddr: 0x12298, symSize: 0x0 }
|
||||
- { offset: 0x2B1F, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$currentLocale', symObjAddr: 0x1EF90, symBinAddr: 0x122A0, symSize: 0x0 }
|
||||
- { offset: 0x2B5E, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$systemLocale', symObjAddr: 0x1EF98, symBinAddr: 0x122A8, symSize: 0x0 }
|
||||
- { offset: 0x2B73, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$localTimeZone', symObjAddr: 0x1EFA0, symBinAddr: 0x122B0, symSize: 0x0 }
|
||||
- { offset: 0x2BCC, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$systemTimeZone', symObjAddr: 0x1EFA8, symBinAddr: 0x122B8, symSize: 0x0 }
|
||||
- { offset: 0x2BE1, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$defaultTimeZone', symObjAddr: 0x1EFB0, symBinAddr: 0x122C0, symSize: 0x0 }
|
||||
- { offset: 0x2BF6, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSMutableURLRequest$initWithURL$', symObjAddr: 0x1EFB8, symBinAddr: 0x122C8, symSize: 0x0 }
|
||||
- { offset: 0x2E93, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x1EFC0, symBinAddr: 0x122D0, symSize: 0x0 }
|
||||
- { offset: 0x2EC8, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x1EFC8, symBinAddr: 0x122D8, symSize: 0x0 }
|
||||
- { offset: 0x35FC, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x1EFD0, symBinAddr: 0x122E0, symSize: 0x0 }
|
||||
- { offset: 0x384E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x1EFD8, symBinAddr: 0x122E8, symSize: 0x0 }
|
||||
- { offset: 0x54B2, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$setCustomUserAgent$', symObjAddr: 0x1EFE0, symBinAddr: 0x122F0, symSize: 0x0 }
|
||||
- { offset: 0x54DD, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$customUserAgent', symObjAddr: 0x1EFE8, symBinAddr: 0x122F8, symSize: 0x0 }
|
||||
- { offset: 0x5507, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x1EFF0, symBinAddr: 0x12300, symSize: 0x0 }
|
||||
- { offset: 0x56B7, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x1EFF8, symBinAddr: 0x12308, symSize: 0x0 }
|
||||
- { offset: 0x56CC, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x1F000, symBinAddr: 0x12310, symSize: 0x0 }
|
||||
- { offset: 0x5C18, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$uname', symObjAddr: 0x1F008, symBinAddr: 0x12318, symSize: 0x0 }
|
||||
- { offset: 0x5C9A, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$sysctl', symObjAddr: 0x1F010, symBinAddr: 0x12320, symSize: 0x0 }
|
||||
- { offset: 0x5CF3, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$sysctlbyname', symObjAddr: 0x1F018, symBinAddr: 0x12328, symSize: 0x0 }
|
||||
- { offset: 0x5D2D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$clock_gettime', symObjAddr: 0x1F020, symBinAddr: 0x12330, symSize: 0x0 }
|
||||
- { offset: 0x5DCD, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$getifaddrs', symObjAddr: 0x1F028, symBinAddr: 0x12338, symSize: 0x0 }
|
||||
- { offset: 0x5EAB, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$SCNetworkReachabilityGetFlags', symObjAddr: 0x1F030, symBinAddr: 0x12340, symSize: 0x0 }
|
||||
- { offset: 0x5F5C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x1F038, symBinAddr: 0x12348, symSize: 0x0 }
|
||||
- { offset: 0x5F7E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x1F040, symBinAddr: 0x12350, symSize: 0x0 }
|
||||
- { offset: 0x6166, size: 0x8, addend: 0x0, symName: _SetupXSLog, symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x24 }
|
||||
- { offset: 0x617B, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData rotationRate]', symObjAddr: 0x24, symBinAddr: 0x4024, symSize: 0x44 }
|
||||
- { offset: 0x61B2, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData customRotationRate]', symObjAddr: 0x68, symBinAddr: 0x4068, symSize: 0x40 }
|
||||
- { offset: 0x61E9, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData setCustomRotationRate:]', symObjAddr: 0xA8, symBinAddr: 0x40A8, symSize: 0x40 }
|
||||
- { offset: 0x6228, size: 0x8, addend: 0x0, symName: __logosLocalCtor_e9c95796, symObjAddr: 0xE8, symBinAddr: 0x40E8, symSize: 0xD38 }
|
||||
- { offset: 0x64AB, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0xE20, symBinAddr: 0x4E20, symSize: 0x80 }
|
||||
- { offset: 0x6515, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0xEA0, symBinAddr: 0x4EA0, symSize: 0x150 }
|
||||
- { offset: 0x6577, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0xFF0, symBinAddr: 0x4FF0, symSize: 0x110 }
|
||||
- { offset: 0x65BB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x1100, symBinAddr: 0x5100, symSize: 0x70 }
|
||||
- { offset: 0x65FF, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$identifierForVendor', symObjAddr: 0x1170, symBinAddr: 0x5170, symSize: 0x110 }
|
||||
- { offset: 0x6643, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$name', symObjAddr: 0x1280, symBinAddr: 0x5280, symSize: 0x110 }
|
||||
- { offset: 0x6687, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$model', symObjAddr: 0x1390, symBinAddr: 0x5390, symSize: 0x34 }
|
||||
- { offset: 0x66BD, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$localizedModel', symObjAddr: 0x13C4, symBinAddr: 0x53C4, symSize: 0x34 }
|
||||
- { offset: 0x66F3, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$systemName', symObjAddr: 0x13F8, symBinAddr: 0x53F8, symSize: 0x34 }
|
||||
- { offset: 0x6729, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$systemVersion', symObjAddr: 0x142C, symBinAddr: 0x542C, symSize: 0x110 }
|
||||
- { offset: 0x676D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$batteryState', symObjAddr: 0x153C, symBinAddr: 0x553C, symSize: 0x9C }
|
||||
- { offset: 0x67B1, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$batteryLevel', symObjAddr: 0x15D8, symBinAddr: 0x55D8, symSize: 0xA0 }
|
||||
- { offset: 0x67F5, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$orientation', symObjAddr: 0x1678, symBinAddr: 0x5678, symSize: 0x18 }
|
||||
- { offset: 0x682B, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$systemUptime', symObjAddr: 0x1690, symBinAddr: 0x5690, symSize: 0xA4 }
|
||||
- { offset: 0x687D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$physicalMemory', symObjAddr: 0x1734, symBinAddr: 0x5734, symSize: 0xA0 }
|
||||
- { offset: 0x68C1, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$processorCount', symObjAddr: 0x17D4, symBinAddr: 0x57D4, symSize: 0xA0 }
|
||||
- { offset: 0x6905, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x1874, symBinAddr: 0x5874, symSize: 0x468 }
|
||||
- { offset: 0x6987, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIWindow$safeAreaInsets', symObjAddr: 0x1CDC, symBinAddr: 0x5CDC, symSize: 0x170 }
|
||||
- { offset: 0x6A04, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$brightness', symObjAddr: 0x1E4C, symBinAddr: 0x5E4C, symSize: 0xA0 }
|
||||
- { offset: 0x6A48, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$bounds', symObjAddr: 0x1EEC, symBinAddr: 0x5EEC, symSize: 0x174 }
|
||||
- { offset: 0x6AB7, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$scale', symObjAddr: 0x2060, symBinAddr: 0x6060, symSize: 0xA0 }
|
||||
- { offset: 0x6AFB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$nativeBounds', symObjAddr: 0x2100, symBinAddr: 0x6100, symSize: 0x174 }
|
||||
- { offset: 0x6B6A, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$isCaptured', symObjAddr: 0x2274, symBinAddr: 0x6274, symSize: 0x1C }
|
||||
- { offset: 0x6BA0, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$mirroredScreen', symObjAddr: 0x2290, symBinAddr: 0x6290, symSize: 0x18 }
|
||||
- { offset: 0x6BD6, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreenMode$size', symObjAddr: 0x22A8, symBinAddr: 0x62A8, symSize: 0x154 }
|
||||
- { offset: 0x6C44, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIStatusBarManager$statusBarFrame', symObjAddr: 0x23FC, symBinAddr: 0x63FC, symSize: 0x190 }
|
||||
- { offset: 0x6CB3, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$AVAudioSession$outputVolume', symObjAddr: 0x258C, symBinAddr: 0x658C, symSize: 0xA0 }
|
||||
- { offset: 0x6CFB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x262C, symBinAddr: 0x662C, symSize: 0x280 }
|
||||
- { offset: 0x6D9D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSFileManager$fileExistsAtPath$', symObjAddr: 0x28AC, symBinAddr: 0x68AC, symSize: 0x37C }
|
||||
- { offset: 0x6E08, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$preferredLanguages', symObjAddr: 0x2C28, symBinAddr: 0x6C28, symSize: 0x7C }
|
||||
- { offset: 0x6E41, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$currentLocale', symObjAddr: 0x2CA4, symBinAddr: 0x6CA4, symSize: 0xD4 }
|
||||
- { offset: 0x6E89, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$systemLocale', symObjAddr: 0x2D78, symBinAddr: 0x6D78, symSize: 0xD4 }
|
||||
- { offset: 0x6ED1, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$localTimeZone', symObjAddr: 0x2E4C, symBinAddr: 0x6E4C, symSize: 0xD8 }
|
||||
- { offset: 0x6F19, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$systemTimeZone', symObjAddr: 0x2F24, symBinAddr: 0x6F24, symSize: 0xD8 }
|
||||
- { offset: 0x6F61, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$defaultTimeZone', symObjAddr: 0x2FFC, symBinAddr: 0x6FFC, symSize: 0xD8 }
|
||||
- { offset: 0x6FA9, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSMutableURLRequest$initWithURL$', symObjAddr: 0x30D4, symBinAddr: 0x70D4, symSize: 0x13C }
|
||||
- { offset: 0x7006, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x3210, symBinAddr: 0x7210, symSize: 0x13C }
|
||||
- { offset: 0x707D, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x334C, symBinAddr: 0x734C, symSize: 0x160 }
|
||||
- { offset: 0x70D4, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x34AC, symBinAddr: 0x74AC, symSize: 0x134 }
|
||||
- { offset: 0x7149, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x35E0, symBinAddr: 0x75E0, symSize: 0x100 }
|
||||
- { offset: 0x71AB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$setCustomUserAgent$', symObjAddr: 0x36E0, symBinAddr: 0x76E0, symSize: 0xEC }
|
||||
- { offset: 0x71FE, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$customUserAgent', symObjAddr: 0x37CC, symBinAddr: 0x77CC, symSize: 0x110 }
|
||||
- { offset: 0x7246, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x38DC, symBinAddr: 0x78DC, symSize: 0x3AC }
|
||||
- { offset: 0x72ED, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x3C88, symBinAddr: 0x7C88, symSize: 0x6C8 }
|
||||
- { offset: 0x7394, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x4350, symBinAddr: 0x8350, symSize: 0x150 }
|
||||
- { offset: 0x73F6, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$uname', symObjAddr: 0x44A0, symBinAddr: 0x84A0, symSize: 0xFC }
|
||||
- { offset: 0x745C, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$sysctl', symObjAddr: 0x459C, symBinAddr: 0x859C, symSize: 0x350 }
|
||||
- { offset: 0x7559, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$sysctlbyname', symObjAddr: 0x48EC, symBinAddr: 0x88EC, symSize: 0x2B4 }
|
||||
- { offset: 0x768F, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$clock_gettime', symObjAddr: 0x4BA0, symBinAddr: 0x8BA0, symSize: 0x50 }
|
||||
- { offset: 0x76D7, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$getifaddrs', symObjAddr: 0x4BF0, symBinAddr: 0x8BF0, symSize: 0x614 }
|
||||
- { offset: 0x7857, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$SCNetworkReachabilityGetFlags', symObjAddr: 0x5204, symBinAddr: 0x9204, symSize: 0x78 }
|
||||
- { offset: 0x789F, size: 0x8, addend: 0x0, symName: __logosLocalDtor_2e2d985c, symObjAddr: 0x527C, symBinAddr: 0x927C, symSize: 0x64 }
|
||||
- { offset: 0x78E3, size: 0x8, addend: 0x0, symName: '____logos_meta_method$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke', symObjAddr: 0x52E0, symBinAddr: 0x92E0, symSize: 0x50 }
|
||||
- { offset: 0x792D, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b, symObjAddr: 0x5330, symBinAddr: 0x9330, symSize: 0x38 }
|
||||
- { offset: 0x7951, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s, symObjAddr: 0x5368, symBinAddr: 0x9368, symSize: 0x2C }
|
||||
- { offset: 0x796D, size: 0x8, addend: 0x0, symName: _UIEdgeInsetsMake, symObjAddr: 0x5394, symBinAddr: 0x9394, symSize: 0x4C }
|
||||
- { offset: 0x79CD, size: 0x8, addend: 0x0, symName: _CGRectMake, symObjAddr: 0x53E0, symBinAddr: 0x93E0, symSize: 0x4C }
|
||||
- { offset: 0x7A33, size: 0x8, addend: 0x0, symName: _CGSizeMake, symObjAddr: 0x542C, symBinAddr: 0x942C, symSize: 0x2C }
|
||||
- { offset: 0x7A7B, size: 0x8, addend: 0x0, symName: '____logos_method$XHooks$NSFileManager$fileExistsAtPath$_block_invoke', symObjAddr: 0x5458, symBinAddr: 0x9458, symSize: 0x9C }
|
||||
- { offset: 0x7B05, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s, symObjAddr: 0x54F4, symBinAddr: 0x94F4, symSize: 0x38 }
|
||||
- { offset: 0x7B29, size: 0x8, addend: 0x0, symName: '____logos_method$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$_block_invoke', symObjAddr: 0x552C, symBinAddr: 0x952C, symSize: 0x10C }
|
||||
- { offset: 0x7BAF, size: 0x8, addend: 0x0, symName: _randomRadiansPerSecond, symObjAddr: 0x5638, symBinAddr: 0x9638, symSize: 0x44 }
|
||||
- { offset: 0x7BD9, size: 0x8, addend: 0x0, symName: _modifyInterfaceIP, symObjAddr: 0x567C, symBinAddr: 0x967C, symSize: 0x140 }
|
||||
- { offset: 0x7C6C, size: 0x8, addend: 0x0, symName: _createInterface, symObjAddr: 0x57BC, symBinAddr: 0x97BC, symSize: 0x3C8 }
|
||||
- { offset: 0x7D15, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x5B84, symBinAddr: 0x9B84, symSize: 0xC }
|
||||
- { offset: 0x7D2F, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x5B90, symBinAddr: 0x9B90, symSize: 0xC }
|
||||
- { offset: 0x7D49, size: 0x8, addend: 0x0, symName: ___GLOBAL_init_65535, symObjAddr: 0x5D6C, symBinAddr: 0x9B9C, symSize: 0x28 }
|
||||
- { offset: 0x7FCF, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0x9BC4, symSize: 0x100 }
|
||||
- { offset: 0x7FE8, size: 0x8, addend: 0x0, symName: _kLogFilePath, symObjAddr: 0xE38, symBinAddr: 0x12198, symSize: 0x0 }
|
||||
- { offset: 0x804F, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0x9BC4, symSize: 0x100 }
|
||||
- { offset: 0x8070, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath.onceToken, symObjAddr: 0x3DE8, symBinAddr: 0x12358, symSize: 0x0 }
|
||||
- { offset: 0x8115, size: 0x8, addend: 0x0, symName: _logFileHandle, symObjAddr: 0x3DF8, symBinAddr: 0x12368, symSize: 0x0 }
|
||||
- { offset: 0x8195, size: 0x8, addend: 0x0, symName: _logQueue, symObjAddr: 0x3DF0, symBinAddr: 0x12360, symSize: 0x0 }
|
||||
- { offset: 0x81BA, size: 0x8, addend: 0x0, symName: _kMaxFileSize, symObjAddr: 0xE40, symBinAddr: 0x121A0, symSize: 0x0 }
|
||||
- { offset: 0x81CF, size: 0x8, addend: 0x0, symName: _logCount, symObjAddr: 0x3E00, symBinAddr: 0x12370, symSize: 0x0 }
|
||||
- { offset: 0x82ED, size: 0x8, addend: 0x0, symName: ___XSLogSetupLogWithFilePath_block_invoke, symObjAddr: 0x100, symBinAddr: 0x9CC4, symSize: 0x84 }
|
||||
- { offset: 0x8337, size: 0x8, addend: 0x0, symName: _setupLogFileHandle, symObjAddr: 0x184, symBinAddr: 0x9D48, symSize: 0x180 }
|
||||
- { offset: 0x835B, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFileName, symObjAddr: 0x368, symBinAddr: 0x9EC8, symSize: 0x94 }
|
||||
- { offset: 0x838D, size: 0x8, addend: 0x0, symName: _getLogFilePath, symObjAddr: 0x3FC, symBinAddr: 0x9F5C, symSize: 0xEC }
|
||||
- { offset: 0x83DF, size: 0x8, addend: 0x0, symName: _XSLogRedirectNSLog, symObjAddr: 0x4E8, symBinAddr: 0xA048, symSize: 0xC0 }
|
||||
- { offset: 0x8411, size: 0x8, addend: 0x0, symName: _XSLogMessage, symObjAddr: 0x5A8, symBinAddr: 0xA108, symSize: 0xFC }
|
||||
- { offset: 0x8452, size: 0x8, addend: 0x0, symName: ___XSLogMessage_block_invoke, symObjAddr: 0x6A4, symBinAddr: 0xA204, symSize: 0x2CC }
|
||||
- { offset: 0x84DE, size: 0x8, addend: 0x0, symName: _checkAndRollLogFile, symObjAddr: 0x970, symBinAddr: 0xA4D0, symSize: 0x298 }
|
||||
- { offset: 0x8CEF, size: 0x8, addend: 0x0, symName: '+[XHookSettingsManager sharedManager]', symObjAddr: 0x0, symBinAddr: 0xA768, symSize: 0x7C }
|
||||
- { offset: 0x8CFC, size: 0x8, addend: 0x0, symName: '+[XHookSettingsManager sharedManager]', symObjAddr: 0x0, symBinAddr: 0xA768, symSize: 0x7C }
|
||||
- { offset: 0x8D25, size: 0x8, addend: 0x0, symName: _sharedManager.manager, symObjAddr: 0x6DA8, symBinAddr: 0x12378, symSize: 0x0 }
|
||||
- { offset: 0x8D3A, size: 0x8, addend: 0x0, symName: _sharedManager.onceToken, symObjAddr: 0x6DB0, symBinAddr: 0x12380, symSize: 0x0 }
|
||||
- { offset: 0x9246, size: 0x8, addend: 0x0, symName: '___37+[XHookSettingsManager sharedManager]_block_invoke', symObjAddr: 0x7C, symBinAddr: 0xA7E4, symSize: 0x54 }
|
||||
- { offset: 0x926E, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager init]', symObjAddr: 0xD0, symBinAddr: 0xA838, symSize: 0xB0 }
|
||||
- { offset: 0x92A4, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager resetToDefaults]', symObjAddr: 0x180, symBinAddr: 0xA8E8, symSize: 0x184 }
|
||||
- { offset: 0x92D6, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseString:defaultValue:]', symObjAddr: 0x304, symBinAddr: 0xAA6C, symSize: 0xD8 }
|
||||
- { offset: 0x9328, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseInteger:defaultValue:]', symObjAddr: 0x3DC, symBinAddr: 0xAB44, symSize: 0x100 }
|
||||
- { offset: 0x937A, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseFloat:defaultValue:]', symObjAddr: 0x4DC, symBinAddr: 0xAC44, symSize: 0x100 }
|
||||
- { offset: 0x93CC, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseDouble:defaultValue:]', symObjAddr: 0x5DC, symBinAddr: 0xAD44, symSize: 0x100 }
|
||||
- { offset: 0x941E, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseULL:defaultValue:]', symObjAddr: 0x6DC, symBinAddr: 0xAE44, symSize: 0x100 }
|
||||
- { offset: 0x9470, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseUUID:]', symObjAddr: 0x7DC, symBinAddr: 0xAF44, symSize: 0xAC }
|
||||
- { offset: 0x94B4, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseDictionary:]', symObjAddr: 0x888, symBinAddr: 0xAFF0, symSize: 0xA4 }
|
||||
- { offset: 0x94F8, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseArray:]', symObjAddr: 0x92C, symBinAddr: 0xB094, symSize: 0xA4 }
|
||||
- { offset: 0x953C, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager loadSettingsFromPath:]', symObjAddr: 0x9D0, symBinAddr: 0xB138, symSize: 0x300 }
|
||||
- { offset: 0x95DD, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseSettings:]', symObjAddr: 0xCD0, symBinAddr: 0xB438, symSize: 0xAB4 }
|
||||
- { offset: 0x962B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager cleanup]', symObjAddr: 0x1784, symBinAddr: 0xBEEC, symSize: 0x2C }
|
||||
- { offset: 0x965D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager shouldHookApp:]', symObjAddr: 0x17B0, symBinAddr: 0xBF18, symSize: 0xA8 }
|
||||
- { offset: 0x96A1, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager isLoaded]', symObjAddr: 0x1858, symBinAddr: 0xBFC0, symSize: 0x20 }
|
||||
- { offset: 0x96D7, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager idfa]', symObjAddr: 0x1878, symBinAddr: 0xBFE0, symSize: 0x1C }
|
||||
- { offset: 0x970D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager idfv]', symObjAddr: 0x1894, symBinAddr: 0xBFFC, symSize: 0x1C }
|
||||
- { offset: 0x9743, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager deviceName]', symObjAddr: 0x18B0, symBinAddr: 0xC018, symSize: 0x1C }
|
||||
- { offset: 0x9779, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager osVersion]', symObjAddr: 0x18CC, symBinAddr: 0xC034, symSize: 0x1C }
|
||||
- { offset: 0x97AF, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager productStr]', symObjAddr: 0x18E8, symBinAddr: 0xC050, symSize: 0x1C }
|
||||
- { offset: 0x97E5, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager hwModel]', symObjAddr: 0x1904, symBinAddr: 0xC06C, symSize: 0x1C }
|
||||
- { offset: 0x981B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager trackingStatus]', symObjAddr: 0x1920, symBinAddr: 0xC088, symSize: 0x1C }
|
||||
- { offset: 0x9851, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager physicalMemory]', symObjAddr: 0x193C, symBinAddr: 0xC0A4, symSize: 0x1C }
|
||||
- { offset: 0x9887, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager cpuCore]', symObjAddr: 0x1958, symBinAddr: 0xC0C0, symSize: 0x1C }
|
||||
- { offset: 0x98BD, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager systemUptimeOffset]', symObjAddr: 0x1974, symBinAddr: 0xC0DC, symSize: 0x1C }
|
||||
- { offset: 0x98F3, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager kernBootTimeOffset]', symObjAddr: 0x1990, symBinAddr: 0xC0F8, symSize: 0x1C }
|
||||
- { offset: 0x9929, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager batteryState]', symObjAddr: 0x19AC, symBinAddr: 0xC114, symSize: 0x1C }
|
||||
- { offset: 0x995F, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager batteryLevel]', symObjAddr: 0x19C8, symBinAddr: 0xC130, symSize: 0x1C }
|
||||
- { offset: 0x9995, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenBrightness]', symObjAddr: 0x19E4, symBinAddr: 0xC14C, symSize: 0x1C }
|
||||
- { offset: 0x99CB, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenScale]', symObjAddr: 0x1A00, symBinAddr: 0xC168, symSize: 0x1C }
|
||||
- { offset: 0x9A01, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenBounds]', symObjAddr: 0x1A1C, symBinAddr: 0xC184, symSize: 0x1C }
|
||||
- { offset: 0x9A37, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager safeAreaInsets]', symObjAddr: 0x1A38, symBinAddr: 0xC1A0, symSize: 0x1C }
|
||||
- { offset: 0x9A6D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager diskSize]', symObjAddr: 0x1A54, symBinAddr: 0xC1BC, symSize: 0x1C }
|
||||
- { offset: 0x9AA3, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager diskFreeSize]', symObjAddr: 0x1A70, symBinAddr: 0xC1D8, symSize: 0x1C }
|
||||
- { offset: 0x9AD9, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager outputVolume]', symObjAddr: 0x1A8C, symBinAddr: 0xC1F4, symSize: 0x1C }
|
||||
- { offset: 0x9B0F, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager userAgent]', symObjAddr: 0x1AA8, symBinAddr: 0xC210, symSize: 0x1C }
|
||||
- { offset: 0x9B45, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager networkInterfacesInfo]', symObjAddr: 0x1AC4, symBinAddr: 0xC22C, symSize: 0x1C }
|
||||
- { offset: 0x9B7B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager simInfo]', symObjAddr: 0x1AE0, symBinAddr: 0xC248, symSize: 0x1C }
|
||||
- { offset: 0x9BB1, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager locale]', symObjAddr: 0x1AFC, symBinAddr: 0xC264, symSize: 0x1C }
|
||||
- { offset: 0x9BE7, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager timeZone]', symObjAddr: 0x1B18, symBinAddr: 0xC280, symSize: 0x1C }
|
||||
- { offset: 0x9C1D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager apps]', symObjAddr: 0x1B34, symBinAddr: 0xC29C, symSize: 0x1C }
|
||||
- { offset: 0x9C53, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager .cxx_destruct]', symObjAddr: 0x1B50, symBinAddr: 0xC2B8, symSize: 0x108 }
|
||||
...
|
||||
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@ -2,201 +2,192 @@
|
||||
triple: 'arm64e-apple-darwin'
|
||||
binary-path: '/Users/mac/workspaces/projects/ios-change/old-ios-hook/.theos/obj/debug/arm64e/OhNo.dylib'
|
||||
relocations:
|
||||
- { offset: 0x7D, size: 0x8, addend: 0x0, symName: _settings, symBinAddr: 0x18708, symSize: 0x0 }
|
||||
- { offset: 0xF0, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x27C38, symBinAddr: 0x18540, symSize: 0x0 }
|
||||
- { offset: 0x163, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x27C40, symBinAddr: 0x18548, symSize: 0x0 }
|
||||
- { offset: 0x1FD, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x27C48, symBinAddr: 0x18550, symSize: 0x0 }
|
||||
- { offset: 0x27B, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x27C50, symBinAddr: 0x18558, symSize: 0x0 }
|
||||
- { offset: 0x2B7, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$identifierForVendor', symObjAddr: 0x27C58, symBinAddr: 0x18560, symSize: 0x0 }
|
||||
- { offset: 0x492, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$name', symObjAddr: 0x27C60, symBinAddr: 0x18568, symSize: 0x0 }
|
||||
- { offset: 0x4BC, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$model', symObjAddr: 0x27C68, symBinAddr: 0x18570, symSize: 0x0 }
|
||||
- { offset: 0x4D1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$localizedModel', symObjAddr: 0x27C70, symBinAddr: 0x18578, symSize: 0x0 }
|
||||
- { offset: 0x4E6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$systemName', symObjAddr: 0x27C78, symBinAddr: 0x18580, symSize: 0x0 }
|
||||
- { offset: 0x4FB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$systemVersion', symObjAddr: 0x27C80, symBinAddr: 0x18588, symSize: 0x0 }
|
||||
- { offset: 0x510, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$batteryState', symObjAddr: 0x27C88, symBinAddr: 0x18590, symSize: 0x0 }
|
||||
- { offset: 0x53A, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$batteryLevel', symObjAddr: 0x27C90, symBinAddr: 0x18598, symSize: 0x0 }
|
||||
- { offset: 0x564, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIDevice$orientation', symObjAddr: 0x27C98, symBinAddr: 0x185A0, symSize: 0x0 }
|
||||
- { offset: 0x58E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$systemUptime', symObjAddr: 0x27CA0, symBinAddr: 0x185A8, symSize: 0x0 }
|
||||
- { offset: 0x738, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$physicalMemory', symObjAddr: 0x27CA8, symBinAddr: 0x185B0, symSize: 0x0 }
|
||||
- { offset: 0x762, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$processorCount', symObjAddr: 0x27CB0, symBinAddr: 0x185B8, symSize: 0x0 }
|
||||
- { offset: 0x78C, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x27CB8, symBinAddr: 0x185C0, 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$ohno$UIScreen$brightness', symObjAddr: 0x27CC8, symBinAddr: 0x185D0, symSize: 0x0 }
|
||||
- { offset: 0x2513, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$bounds', symObjAddr: 0x27CD0, symBinAddr: 0x185D8, symSize: 0x0 }
|
||||
- { offset: 0x253D, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$scale', symObjAddr: 0x27CD8, symBinAddr: 0x185E0, symSize: 0x0 }
|
||||
- { offset: 0x2552, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$nativeBounds', symObjAddr: 0x27CE0, symBinAddr: 0x185E8, symSize: 0x0 }
|
||||
- { offset: 0x2567, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreen$isCaptured', symObjAddr: 0x27CE8, symBinAddr: 0x185F0, 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$ohno$AVAudioSession$outputVolume', symObjAddr: 0x27CF8, symBinAddr: 0x18600, symSize: 0x0 }
|
||||
- { offset: 0x25F5, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIScreenMode$size', symObjAddr: 0x27D00, symBinAddr: 0x18608, symSize: 0x0 }
|
||||
- { offset: 0x2624, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x27D08, symBinAddr: 0x18610, symSize: 0x0 }
|
||||
- { offset: 0x274E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSFileManager$fileExistsAtPath$', symObjAddr: 0x27D10, symBinAddr: 0x18618, symSize: 0x0 }
|
||||
- { offset: 0x277D, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$preferredLanguages', symObjAddr: 0x27D18, symBinAddr: 0x18620, symSize: 0x0 }
|
||||
- { offset: 0x27A7, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$currentLocale', symObjAddr: 0x27D20, symBinAddr: 0x18628, symSize: 0x0 }
|
||||
- { offset: 0x27E6, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSLocale$systemLocale', symObjAddr: 0x27D28, symBinAddr: 0x18630, symSize: 0x0 }
|
||||
- { offset: 0x27FB, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$localTimeZone', symObjAddr: 0x27D30, symBinAddr: 0x18638, symSize: 0x0 }
|
||||
- { offset: 0x2854, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$systemTimeZone', symObjAddr: 0x27D38, symBinAddr: 0x18640, symSize: 0x0 }
|
||||
- { offset: 0x2869, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSTimeZone$defaultTimeZone', symObjAddr: 0x27D40, symBinAddr: 0x18648, symSize: 0x0 }
|
||||
- { offset: 0x287E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIStatusBarManager$statusBarFrame', symObjAddr: 0x27D48, symBinAddr: 0x18650, symSize: 0x0 }
|
||||
- { offset: 0x28EA, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSMutableURLRequest$initWithURL$', symObjAddr: 0x27D50, symBinAddr: 0x18658, symSize: 0x0 }
|
||||
- { offset: 0x2B87, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x27D58, symBinAddr: 0x18660, symSize: 0x0 }
|
||||
- { offset: 0x2BBC, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$ohno$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x27D60, symBinAddr: 0x18668, symSize: 0x0 }
|
||||
- { offset: 0x32F0, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x27D68, symBinAddr: 0x18670, symSize: 0x0 }
|
||||
- { offset: 0x3542, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x27D70, symBinAddr: 0x18678, symSize: 0x0 }
|
||||
- { offset: 0x51A6, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$setCustomUserAgent$', symObjAddr: 0x27D78, symBinAddr: 0x18680, symSize: 0x0 }
|
||||
- { offset: 0x51D1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$WKWebView$customUserAgent', symObjAddr: 0x27D80, symBinAddr: 0x18688, symSize: 0x0 }
|
||||
- { offset: 0x51FB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x27D88, symBinAddr: 0x18690, symSize: 0x0 }
|
||||
- { offset: 0x53AB, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x27D90, symBinAddr: 0x18698, symSize: 0x0 }
|
||||
- { offset: 0x53C0, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x27D98, symBinAddr: 0x186A0, symSize: 0x0 }
|
||||
- { offset: 0x590C, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$uname', symObjAddr: 0x27DA0, symBinAddr: 0x186A8, symSize: 0x0 }
|
||||
- { offset: 0x598E, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$sysctl', symObjAddr: 0x27DA8, symBinAddr: 0x186B0, symSize: 0x0 }
|
||||
- { offset: 0x59E7, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$sysctlbyname', symObjAddr: 0x27DB0, symBinAddr: 0x186B8, symSize: 0x0 }
|
||||
- { offset: 0x5A21, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$clock_gettime', symObjAddr: 0x27DB8, symBinAddr: 0x186C0, symSize: 0x0 }
|
||||
- { offset: 0x5AC1, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$getifaddrs', symObjAddr: 0x27DC0, symBinAddr: 0x186C8, symSize: 0x0 }
|
||||
- { offset: 0x5B9F, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$SCNetworkReachabilityGetFlags', symObjAddr: 0x27DC8, symBinAddr: 0x186D0, symSize: 0x0 }
|
||||
- { offset: 0x5C50, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x27DD0, symBinAddr: 0x186D8, symSize: 0x0 }
|
||||
- { offset: 0x5C72, size: 0x8, addend: 0x0, symName: '__logos_orig$ohno$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x27DD8, symBinAddr: 0x186E0, symSize: 0x0 }
|
||||
- { offset: 0x5E40, size: 0x8, addend: 0x0, symName: _SetupXSLog, symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x28 }
|
||||
- { offset: 0x5E55, size: 0x8, addend: 0x0, symName: _str2uuid, symObjAddr: 0x28, symBinAddr: 0x4028, symSize: 0x78 }
|
||||
- { offset: 0x5E7D, size: 0x8, addend: 0x0, symName: _str2int, symObjAddr: 0xA0, symBinAddr: 0x40A0, symSize: 0x5C }
|
||||
- { offset: 0x5EA5, size: 0x8, addend: 0x0, symName: _str2float, symObjAddr: 0xFC, symBinAddr: 0x40FC, symSize: 0x58 }
|
||||
- { offset: 0x5ECD, size: 0x8, addend: 0x0, symName: _str2double, symObjAddr: 0x154, symBinAddr: 0x4154, symSize: 0x58 }
|
||||
- { offset: 0x5EF5, size: 0x8, addend: 0x0, symName: _str2ull, symObjAddr: 0x1AC, symBinAddr: 0x41AC, symSize: 0x5C }
|
||||
- { offset: 0x5F1D, size: 0x8, addend: 0x0, symName: _tryGetVal, symObjAddr: 0x208, symBinAddr: 0x4208, symSize: 0x198 }
|
||||
- { offset: 0x5F77, size: 0x8, addend: 0x0, symName: _str2chars, symObjAddr: 0x3A0, symBinAddr: 0x43A0, symSize: 0x70 }
|
||||
- { offset: 0x5FAD, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData rotationRate]', symObjAddr: 0x410, symBinAddr: 0x4410, symSize: 0x48 }
|
||||
- { offset: 0x5FE4, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData customRotationRate]', symObjAddr: 0x458, symBinAddr: 0x4458, symSize: 0x40 }
|
||||
- { offset: 0x601B, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData setCustomRotationRate:]', symObjAddr: 0x498, symBinAddr: 0x4498, symSize: 0x40 }
|
||||
- { offset: 0x605A, size: 0x8, addend: 0x0, symName: __logosLocalCtor_9b794672, symObjAddr: 0x4D8, symBinAddr: 0x44D8, symSize: 0xFEC }
|
||||
- { offset: 0x62FD, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x14C4, symBinAddr: 0x54C4, symSize: 0x14C }
|
||||
- { offset: 0x635E, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x1610, symBinAddr: 0x5610, symSize: 0x1F0 }
|
||||
- { offset: 0x63C5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x1800, symBinAddr: 0x5800, symSize: 0x198 }
|
||||
- { offset: 0x640E, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x1998, symBinAddr: 0x5998, symSize: 0x110 }
|
||||
- { offset: 0x6457, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$identifierForVendor', symObjAddr: 0x1AA8, symBinAddr: 0x5AA8, symSize: 0x198 }
|
||||
- { offset: 0x64A0, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$name', symObjAddr: 0x1C40, symBinAddr: 0x5C40, symSize: 0x198 }
|
||||
- { offset: 0x64E9, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$model', symObjAddr: 0x1DD8, symBinAddr: 0x5DD8, symSize: 0x38 }
|
||||
- { offset: 0x651F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$localizedModel', symObjAddr: 0x1E10, symBinAddr: 0x5E10, symSize: 0x38 }
|
||||
- { offset: 0x6555, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$systemName', symObjAddr: 0x1E48, symBinAddr: 0x5E48, symSize: 0x38 }
|
||||
- { offset: 0x658B, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$systemVersion', symObjAddr: 0x1E80, symBinAddr: 0x5E80, symSize: 0x198 }
|
||||
- { offset: 0x65D4, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$batteryState', symObjAddr: 0x2018, symBinAddr: 0x6018, symSize: 0x10C }
|
||||
- { offset: 0x661D, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$batteryLevel', symObjAddr: 0x2124, symBinAddr: 0x6124, symSize: 0x10C }
|
||||
- { offset: 0x6666, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIDevice$orientation', symObjAddr: 0x2230, symBinAddr: 0x6230, symSize: 0x18 }
|
||||
- { offset: 0x669C, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$systemUptime', symObjAddr: 0x2248, symBinAddr: 0x6248, symSize: 0x10C }
|
||||
- { offset: 0x66E5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$physicalMemory', symObjAddr: 0x2354, symBinAddr: 0x6354, symSize: 0x12C }
|
||||
- { offset: 0x672F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$processorCount', symObjAddr: 0x2480, symBinAddr: 0x6480, symSize: 0x10C }
|
||||
- { offset: 0x677C, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x258C, symBinAddr: 0x658C, symSize: 0x644 }
|
||||
- { offset: 0x680A, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIWindow$safeAreaInsets', symObjAddr: 0x2BD0, symBinAddr: 0x6BD0, symSize: 0x230 }
|
||||
- { offset: 0x6858, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$brightness', symObjAddr: 0x2E00, symBinAddr: 0x6E00, symSize: 0x10C }
|
||||
- { offset: 0x68A5, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$bounds', symObjAddr: 0x2F0C, symBinAddr: 0x6F0C, symSize: 0x148 }
|
||||
- { offset: 0x68F3, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$scale', symObjAddr: 0x3054, symBinAddr: 0x7054, symSize: 0x10C }
|
||||
- { offset: 0x6940, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$nativeBounds', symObjAddr: 0x3160, symBinAddr: 0x7160, symSize: 0x148 }
|
||||
- { offset: 0x698E, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$isCaptured', symObjAddr: 0x32A8, symBinAddr: 0x72A8, symSize: 0x1C }
|
||||
- { offset: 0x69C7, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreen$mirroredScreen', symObjAddr: 0x32C4, symBinAddr: 0x72C4, symSize: 0x18 }
|
||||
- { offset: 0x6A00, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$AVAudioSession$outputVolume', symObjAddr: 0x32DC, symBinAddr: 0x72DC, symSize: 0x10C }
|
||||
- { offset: 0x6A4D, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIScreenMode$size', symObjAddr: 0x33E8, symBinAddr: 0x73E8, symSize: 0x120 }
|
||||
- { offset: 0x6A9B, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x3508, symBinAddr: 0x7508, symSize: 0x28C }
|
||||
- { offset: 0x6B1F, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSFileManager$fileExistsAtPath$', symObjAddr: 0x3794, symBinAddr: 0x7794, symSize: 0x3BC }
|
||||
- { offset: 0x6B8A, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$preferredLanguages', symObjAddr: 0x3B50, symBinAddr: 0x7B50, symSize: 0x8C }
|
||||
- { offset: 0x6BC3, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$currentLocale', symObjAddr: 0x3BDC, symBinAddr: 0x7BDC, symSize: 0x178 }
|
||||
- { offset: 0x6C10, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSLocale$systemLocale', symObjAddr: 0x3D54, symBinAddr: 0x7D54, symSize: 0x178 }
|
||||
- { offset: 0x6C5D, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$localTimeZone', symObjAddr: 0x3ECC, symBinAddr: 0x7ECC, symSize: 0x178 }
|
||||
- { offset: 0x6CAA, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$systemTimeZone', symObjAddr: 0x4044, symBinAddr: 0x8044, symSize: 0x178 }
|
||||
- { offset: 0x6CF7, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSTimeZone$defaultTimeZone', symObjAddr: 0x41BC, symBinAddr: 0x81BC, symSize: 0x178 }
|
||||
- { offset: 0x6D44, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$UIStatusBarManager$statusBarFrame', symObjAddr: 0x4334, symBinAddr: 0x8334, symSize: 0x148 }
|
||||
- { offset: 0x6D92, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSMutableURLRequest$initWithURL$', symObjAddr: 0x447C, symBinAddr: 0x847C, symSize: 0x150 }
|
||||
- { offset: 0x6DDA, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x45CC, symBinAddr: 0x85CC, symSize: 0x1BC }
|
||||
- { offset: 0x6E42, size: 0x8, addend: 0x0, symName: '__logos_meta_method$ohno$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x4788, symBinAddr: 0x8788, symSize: 0x120 }
|
||||
- { offset: 0x6E8A, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x48A8, symBinAddr: 0x88A8, symSize: 0x160 }
|
||||
- { offset: 0x6EF0, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x4A08, symBinAddr: 0x8A08, symSize: 0x21C }
|
||||
- { offset: 0x6F58, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$setCustomUserAgent$', symObjAddr: 0x4C24, symBinAddr: 0x8C24, symSize: 0x170 }
|
||||
- { offset: 0x6FB1, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$WKWebView$customUserAgent', symObjAddr: 0x4D94, symBinAddr: 0x8D94, symSize: 0x16C }
|
||||
- { offset: 0x6FFE, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x4F00, symBinAddr: 0x8F00, symSize: 0x19C }
|
||||
- { offset: 0x7055, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x509C, symBinAddr: 0x909C, symSize: 0x19C }
|
||||
- { offset: 0x70AC, size: 0x8, addend: 0x0, symName: '__logos_method$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x5238, symBinAddr: 0x9238, symSize: 0x16C }
|
||||
- { offset: 0x710E, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$uname', symObjAddr: 0x53A4, symBinAddr: 0x93A4, symSize: 0xA4 }
|
||||
- { offset: 0x7147, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$sysctl', symObjAddr: 0x5448, symBinAddr: 0x9448, symSize: 0x458 }
|
||||
- { offset: 0x7234, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$sysctlbyname', symObjAddr: 0x58A0, symBinAddr: 0x98A0, symSize: 0x47C }
|
||||
- { offset: 0x7332, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$clock_gettime', symObjAddr: 0x5D1C, symBinAddr: 0x9D1C, symSize: 0x60 }
|
||||
- { offset: 0x737A, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$getifaddrs', symObjAddr: 0x5D7C, symBinAddr: 0x9D7C, symSize: 0x6C4 }
|
||||
- { offset: 0x7500, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$SCNetworkReachabilityGetFlags', symObjAddr: 0x6440, symBinAddr: 0xA440, symSize: 0x88 }
|
||||
- { offset: 0x7548, size: 0x8, addend: 0x0, symName: __logosLocalDtor_fefd86ea, symObjAddr: 0x64C8, symBinAddr: 0xA4C8, symSize: 0x2C }
|
||||
- { offset: 0x758C, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$trackingAuthorizationStatus_block_invoke', symObjAddr: 0x64F4, symBinAddr: 0xA4F4, symSize: 0x84 }
|
||||
- { offset: 0x75D9, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32r, symObjAddr: 0x6578, symBinAddr: 0xA578, symSize: 0x3C }
|
||||
- { offset: 0x75FD, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32r, symObjAddr: 0x65B4, symBinAddr: 0xA5B4, symSize: 0x30 }
|
||||
- { offset: 0x7619, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke', symObjAddr: 0x65E4, symBinAddr: 0xA5E4, symSize: 0x84 }
|
||||
- { offset: 0x7666, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke_2', symObjAddr: 0x6668, symBinAddr: 0xA668, symSize: 0x60 }
|
||||
- { offset: 0x76B6, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b40r, symObjAddr: 0x66C8, symBinAddr: 0xA6C8, symSize: 0x5C }
|
||||
- { offset: 0x76DA, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40r, symObjAddr: 0x6724, symBinAddr: 0xA724, symSize: 0x44 }
|
||||
- { offset: 0x76F6, size: 0x8, addend: 0x0, symName: ___Block_byref_object_copy_, symObjAddr: 0x6768, symBinAddr: 0xA768, symSize: 0x58 }
|
||||
- { offset: 0x771A, size: 0x8, addend: 0x0, symName: ___Block_byref_object_dispose_, symObjAddr: 0x67C0, symBinAddr: 0xA7C0, symSize: 0x30 }
|
||||
- { offset: 0x7736, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$ASIdentifierManager$advertisingIdentifier_block_invoke', symObjAddr: 0x67F0, symBinAddr: 0xA7F0, symSize: 0x84 }
|
||||
- { offset: 0x7783, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$ASIdentifierManager$isAdvertisingTrackingEnabled_block_invoke', symObjAddr: 0x6874, symBinAddr: 0xA874, symSize: 0xA0 }
|
||||
- { offset: 0x77EC, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$identifierForVendor_block_invoke', symObjAddr: 0x6914, symBinAddr: 0xA914, symSize: 0x84 }
|
||||
- { offset: 0x7839, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$name_block_invoke', symObjAddr: 0x6998, symBinAddr: 0xA998, symSize: 0x68 }
|
||||
- { offset: 0x7886, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$systemVersion_block_invoke', symObjAddr: 0x6A00, symBinAddr: 0xAA00, symSize: 0x68 }
|
||||
- { offset: 0x78D3, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$batteryState_block_invoke', symObjAddr: 0x6A68, symBinAddr: 0xAA68, symSize: 0x74 }
|
||||
- { offset: 0x793C, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIDevice$batteryLevel_block_invoke', symObjAddr: 0x6ADC, symBinAddr: 0xAADC, symSize: 0x68 }
|
||||
- { offset: 0x7989, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$systemUptime_block_invoke', symObjAddr: 0x6B44, symBinAddr: 0xAB44, symSize: 0x8C }
|
||||
- { offset: 0x79F2, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$physicalMemory_block_invoke', symObjAddr: 0x6BD0, symBinAddr: 0xABD0, symSize: 0x78 }
|
||||
- { offset: 0x7A60, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$processorCount_block_invoke', symObjAddr: 0x6C48, symBinAddr: 0xAC48, symSize: 0x78 }
|
||||
- { offset: 0x7ACE, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSProcessInfo$operatingSystemVersion_block_invoke', symObjAddr: 0x6CC0, symBinAddr: 0xACC0, symSize: 0x68 }
|
||||
- { offset: 0x7B1F, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIWindow$safeAreaInsets_block_invoke', symObjAddr: 0x6D28, symBinAddr: 0xAD28, symSize: 0x164 }
|
||||
- { offset: 0x7B9C, size: 0x8, addend: 0x0, symName: _UIEdgeInsetsMake, symObjAddr: 0x6E8C, symBinAddr: 0xAE8C, symSize: 0x4C }
|
||||
- { offset: 0x7BFC, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$brightness_block_invoke', symObjAddr: 0x6ED8, symBinAddr: 0xAED8, symSize: 0x7C }
|
||||
- { offset: 0x7C6A, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$bounds_block_invoke', symObjAddr: 0x6F54, symBinAddr: 0xAF54, symSize: 0x130 }
|
||||
- { offset: 0x7D06, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$scale_block_invoke', symObjAddr: 0x7084, symBinAddr: 0xB084, symSize: 0x7C }
|
||||
- { offset: 0x7D74, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreen$nativeBounds_block_invoke', symObjAddr: 0x7100, symBinAddr: 0xB100, symSize: 0x130 }
|
||||
- { offset: 0x7E10, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$AVAudioSession$outputVolume_block_invoke', symObjAddr: 0x7230, symBinAddr: 0xB230, symSize: 0x7C }
|
||||
- { offset: 0x7E7E, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIScreenMode$size_block_invoke', symObjAddr: 0x72AC, symBinAddr: 0xB2AC, symSize: 0x11C }
|
||||
- { offset: 0x7F19, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$_block_invoke', symObjAddr: 0x73C8, symBinAddr: 0xB3C8, symSize: 0xB4 }
|
||||
- { offset: 0x7F81, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s, symObjAddr: 0x747C, symBinAddr: 0xB47C, symSize: 0x3C }
|
||||
- { offset: 0x7FA5, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s, symObjAddr: 0x74B8, symBinAddr: 0xB4B8, symSize: 0x30 }
|
||||
- { offset: 0x7FC1, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$attributesOfFileSystemForPath$error$_block_invoke.318', symObjAddr: 0x74E8, symBinAddr: 0xB4E8, symSize: 0xB4 }
|
||||
- { offset: 0x8029, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSFileManager$fileExistsAtPath$_block_invoke', symObjAddr: 0x759C, symBinAddr: 0xB59C, symSize: 0xA0 }
|
||||
- { offset: 0x80B3, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSLocale$currentLocale_block_invoke', symObjAddr: 0x763C, symBinAddr: 0xB63C, symSize: 0xB4 }
|
||||
- { offset: 0x8121, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSLocale$systemLocale_block_invoke', symObjAddr: 0x76F0, symBinAddr: 0xB6F0, symSize: 0xB4 }
|
||||
- { offset: 0x818F, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$localTimeZone_block_invoke', symObjAddr: 0x77A4, symBinAddr: 0xB7A4, symSize: 0xB8 }
|
||||
- { offset: 0x81FD, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$systemTimeZone_block_invoke', symObjAddr: 0x785C, symBinAddr: 0xB85C, symSize: 0xB8 }
|
||||
- { offset: 0x826B, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSTimeZone$defaultTimeZone_block_invoke', symObjAddr: 0x7914, symBinAddr: 0xB914, symSize: 0xB8 }
|
||||
- { offset: 0x82D9, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$UIStatusBarManager$statusBarFrame_block_invoke', symObjAddr: 0x79CC, symBinAddr: 0xB9CC, symSize: 0xE4 }
|
||||
- { offset: 0x8365, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSMutableURLRequest$initWithURL$_block_invoke', symObjAddr: 0x7AB0, symBinAddr: 0xBAB0, symSize: 0x6C }
|
||||
- { offset: 0x83B0, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSMutableURLRequest$setValue$forHTTPHeaderField$_block_invoke', symObjAddr: 0x7B1C, symBinAddr: 0xBB1C, symSize: 0x68 }
|
||||
- { offset: 0x8401, size: 0x8, addend: 0x0, symName: '____logos_meta_method$ohno$NSURLSession$sessionWithConfiguration$_block_invoke', symObjAddr: 0x7B84, symBinAddr: 0xBB84, symSize: 0xE0 }
|
||||
- { offset: 0x844C, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$NSURLSession$dataTaskWithRequest$completionHandler$_block_invoke', symObjAddr: 0x7C64, symBinAddr: 0xBC64, symSize: 0x6C }
|
||||
- { offset: 0x8497, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$evaluateJavaScript$completionHandler$_block_invoke', symObjAddr: 0x7CD0, symBinAddr: 0xBCD0, symSize: 0x68 }
|
||||
- { offset: 0x84E8, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$setCustomUserAgent$_block_invoke', symObjAddr: 0x7D38, symBinAddr: 0xBD38, symSize: 0x68 }
|
||||
- { offset: 0x8539, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$WKWebView$customUserAgent_block_invoke', symObjAddr: 0x7DA0, symBinAddr: 0xBDA0, symSize: 0x68 }
|
||||
- { offset: 0x858A, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology_block_invoke', symObjAddr: 0x7E08, symBinAddr: 0xBE08, symSize: 0x26C }
|
||||
- { offset: 0x8632, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders_block_invoke', symObjAddr: 0x8074, symBinAddr: 0xC074, symSize: 0x48C }
|
||||
- { offset: 0x86DA, size: 0x8, addend: 0x0, symName: '____logos_method$ohno$CMMotionManager$startGyroUpdatesToQueue$withHandler$_block_invoke', symObjAddr: 0x8500, symBinAddr: 0xC500, symSize: 0x164 }
|
||||
- { offset: 0x877F, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b, symObjAddr: 0x8664, symBinAddr: 0xC664, symSize: 0x3C }
|
||||
- { offset: 0x87A3, size: 0x8, addend: 0x0, symName: _randomRadiansPerSecond, symObjAddr: 0x86A0, symBinAddr: 0xC6A0, symSize: 0x48 }
|
||||
- { offset: 0x87CD, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$uname_block_invoke', symObjAddr: 0x86E8, symBinAddr: 0xC6E8, symSize: 0xB4 }
|
||||
- { offset: 0x8836, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctl_block_invoke', symObjAddr: 0x879C, symBinAddr: 0xC79C, symSize: 0x7C }
|
||||
- { offset: 0x889E, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctl_block_invoke_2', symObjAddr: 0x8818, symBinAddr: 0xC818, symSize: 0x6C }
|
||||
- { offset: 0x88EF, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctlbyname_block_invoke', symObjAddr: 0x8884, symBinAddr: 0xC884, symSize: 0xC4 }
|
||||
- { offset: 0x8955, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$sysctlbyname_block_invoke_2', symObjAddr: 0x8948, symBinAddr: 0xC948, symSize: 0xC4 }
|
||||
- { offset: 0x89BB, size: 0x8, addend: 0x0, symName: '____logos_function$ohno$getifaddrs_block_invoke', symObjAddr: 0x8A0C, symBinAddr: 0xCA0C, symSize: 0x90 }
|
||||
- { offset: 0x8A0C, size: 0x8, addend: 0x0, symName: _modifyInterfaceIP, symObjAddr: 0x8A9C, symBinAddr: 0xCA9C, symSize: 0x170 }
|
||||
- { offset: 0x8A9F, size: 0x8, addend: 0x0, symName: _createInterface, symObjAddr: 0x8C0C, symBinAddr: 0xCC0C, symSize: 0x3F8 }
|
||||
- { offset: 0x8B48, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x9004, symBinAddr: 0xD004, symSize: 0xC }
|
||||
- { offset: 0x8B62, size: 0x8, addend: 0x0, symName: '__logos_function$ohno$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x9010, symBinAddr: 0xD010, symSize: 0xC }
|
||||
- { offset: 0x8B7C, size: 0x8, addend: 0x0, symName: _cleanup, symObjAddr: 0x901C, symBinAddr: 0xD01C, symSize: 0x3C }
|
||||
- { offset: 0x8B92, size: 0x8, addend: 0x0, symName: ___GLOBAL_init_65535, symObjAddr: 0x9634, symBinAddr: 0xD058, symSize: 0x34 }
|
||||
- { offset: 0xA668, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xD08C, symSize: 0x11C }
|
||||
- { offset: 0xA681, size: 0x8, addend: 0x0, symName: _kLogFilePath, symObjAddr: 0xEA8, symBinAddr: 0x18530, symSize: 0x0 }
|
||||
- { offset: 0xA6E8, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xD08C, symSize: 0x11C }
|
||||
- { offset: 0xA709, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath.onceToken, symObjAddr: 0x3E60, symBinAddr: 0x186E8, symSize: 0x0 }
|
||||
- { offset: 0xA7AE, size: 0x8, addend: 0x0, symName: _logFileHandle, symObjAddr: 0x3E70, symBinAddr: 0x186F8, symSize: 0x0 }
|
||||
- { offset: 0xA82E, size: 0x8, addend: 0x0, symName: _logQueue, symObjAddr: 0x3E68, symBinAddr: 0x186F0, symSize: 0x0 }
|
||||
- { 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 }
|
||||
- { offset: 0x51, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x1F4A0, symBinAddr: 0x14D00, symSize: 0x0 }
|
||||
- { offset: 0xE9, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x1F4A8, symBinAddr: 0x14D08, symSize: 0x0 }
|
||||
- { offset: 0x183, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x1F4B0, symBinAddr: 0x14D10, symSize: 0x0 }
|
||||
- { offset: 0x218, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x1F4B8, symBinAddr: 0x14D18, symSize: 0x0 }
|
||||
- { offset: 0x254, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$identifierForVendor', symObjAddr: 0x1F4C0, symBinAddr: 0x14D20, symSize: 0x0 }
|
||||
- { offset: 0x441, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$name', symObjAddr: 0x1F4C8, symBinAddr: 0x14D28, symSize: 0x0 }
|
||||
- { offset: 0x46B, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$model', symObjAddr: 0x1F4D0, symBinAddr: 0x14D30, symSize: 0x0 }
|
||||
- { offset: 0x480, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$localizedModel', symObjAddr: 0x1F4D8, symBinAddr: 0x14D38, symSize: 0x0 }
|
||||
- { offset: 0x495, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$systemName', symObjAddr: 0x1F4E0, symBinAddr: 0x14D40, symSize: 0x0 }
|
||||
- { offset: 0x4AA, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$systemVersion', symObjAddr: 0x1F4E8, symBinAddr: 0x14D48, symSize: 0x0 }
|
||||
- { offset: 0x4BF, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$batteryState', symObjAddr: 0x1F4F0, symBinAddr: 0x14D50, symSize: 0x0 }
|
||||
- { offset: 0x4E9, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$batteryLevel', symObjAddr: 0x1F4F8, symBinAddr: 0x14D58, symSize: 0x0 }
|
||||
- { offset: 0x513, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIDevice$orientation', symObjAddr: 0x1F500, symBinAddr: 0x14D60, symSize: 0x0 }
|
||||
- { offset: 0x53D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$systemUptime', symObjAddr: 0x1F508, symBinAddr: 0x14D68, symSize: 0x0 }
|
||||
- { offset: 0x709, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$physicalMemory', symObjAddr: 0x1F510, symBinAddr: 0x14D70, symSize: 0x0 }
|
||||
- { offset: 0x733, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$processorCount', symObjAddr: 0x1F518, symBinAddr: 0x14D78, symSize: 0x0 }
|
||||
- { offset: 0x75D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x1F520, symBinAddr: 0x14D80, symSize: 0x0 }
|
||||
- { offset: 0x787, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIWindow$safeAreaInsets', symObjAddr: 0x1F528, symBinAddr: 0x14D88, symSize: 0x0 }
|
||||
- { offset: 0x24B5, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$brightness', symObjAddr: 0x1F530, symBinAddr: 0x14D90, symSize: 0x0 }
|
||||
- { offset: 0x24E4, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$bounds', symObjAddr: 0x1F538, symBinAddr: 0x14D98, symSize: 0x0 }
|
||||
- { offset: 0x250E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$scale', symObjAddr: 0x1F540, symBinAddr: 0x14DA0, symSize: 0x0 }
|
||||
- { offset: 0x2523, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$nativeBounds', symObjAddr: 0x1F548, symBinAddr: 0x14DA8, symSize: 0x0 }
|
||||
- { offset: 0x2538, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$isCaptured', symObjAddr: 0x1F550, symBinAddr: 0x14DB0, symSize: 0x0 }
|
||||
- { offset: 0x2562, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreen$mirroredScreen', symObjAddr: 0x1F558, symBinAddr: 0x14DB8, symSize: 0x0 }
|
||||
- { offset: 0x258C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIScreenMode$size', symObjAddr: 0x1F560, symBinAddr: 0x14DC0, symSize: 0x0 }
|
||||
- { offset: 0x25BB, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIStatusBarManager$statusBarFrame', symObjAddr: 0x1F568, symBinAddr: 0x14DC8, symSize: 0x0 }
|
||||
- { offset: 0x2627, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$AVAudioSession$outputVolume', symObjAddr: 0x1F570, symBinAddr: 0x14DD0, symSize: 0x0 }
|
||||
- { offset: 0x299C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x1F578, symBinAddr: 0x14DD8, symSize: 0x0 }
|
||||
- { offset: 0x2AC6, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSFileManager$fileExistsAtPath$', symObjAddr: 0x1F580, symBinAddr: 0x14DE0, symSize: 0x0 }
|
||||
- { offset: 0x2AF5, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$preferredLanguages', symObjAddr: 0x1F588, symBinAddr: 0x14DE8, symSize: 0x0 }
|
||||
- { offset: 0x2B1F, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$currentLocale', symObjAddr: 0x1F590, symBinAddr: 0x14DF0, symSize: 0x0 }
|
||||
- { offset: 0x2B5E, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSLocale$systemLocale', symObjAddr: 0x1F598, symBinAddr: 0x14DF8, symSize: 0x0 }
|
||||
- { offset: 0x2B73, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$localTimeZone', symObjAddr: 0x1F5A0, symBinAddr: 0x14E00, symSize: 0x0 }
|
||||
- { offset: 0x2BCC, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$systemTimeZone', symObjAddr: 0x1F5A8, symBinAddr: 0x14E08, symSize: 0x0 }
|
||||
- { offset: 0x2BE1, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSTimeZone$defaultTimeZone', symObjAddr: 0x1F5B0, symBinAddr: 0x14E10, symSize: 0x0 }
|
||||
- { offset: 0x2BF6, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSMutableURLRequest$initWithURL$', symObjAddr: 0x1F5B8, symBinAddr: 0x14E18, symSize: 0x0 }
|
||||
- { offset: 0x2E93, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x1F5C0, symBinAddr: 0x14E20, symSize: 0x0 }
|
||||
- { offset: 0x2EC8, size: 0x8, addend: 0x0, symName: '__logos_meta_orig$XHooks$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x1F5C8, symBinAddr: 0x14E28, symSize: 0x0 }
|
||||
- { offset: 0x35FC, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x1F5D0, symBinAddr: 0x14E30, symSize: 0x0 }
|
||||
- { offset: 0x384E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x1F5D8, symBinAddr: 0x14E38, symSize: 0x0 }
|
||||
- { offset: 0x54B2, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$setCustomUserAgent$', symObjAddr: 0x1F5E0, symBinAddr: 0x14E40, symSize: 0x0 }
|
||||
- { offset: 0x54DD, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$WKWebView$customUserAgent', symObjAddr: 0x1F5E8, symBinAddr: 0x14E48, symSize: 0x0 }
|
||||
- { offset: 0x5507, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x1F5F0, symBinAddr: 0x14E50, symSize: 0x0 }
|
||||
- { offset: 0x56B7, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x1F5F8, symBinAddr: 0x14E58, symSize: 0x0 }
|
||||
- { offset: 0x56CC, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x1F600, symBinAddr: 0x14E60, symSize: 0x0 }
|
||||
- { offset: 0x5C18, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$uname', symObjAddr: 0x1F608, symBinAddr: 0x14E68, symSize: 0x0 }
|
||||
- { offset: 0x5C9A, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$sysctl', symObjAddr: 0x1F610, symBinAddr: 0x14E70, symSize: 0x0 }
|
||||
- { offset: 0x5CF3, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$sysctlbyname', symObjAddr: 0x1F618, symBinAddr: 0x14E78, symSize: 0x0 }
|
||||
- { offset: 0x5D2D, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$clock_gettime', symObjAddr: 0x1F620, symBinAddr: 0x14E80, symSize: 0x0 }
|
||||
- { offset: 0x5DCD, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$getifaddrs', symObjAddr: 0x1F628, symBinAddr: 0x14E88, symSize: 0x0 }
|
||||
- { offset: 0x5EAB, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$SCNetworkReachabilityGetFlags', symObjAddr: 0x1F630, symBinAddr: 0x14E90, symSize: 0x0 }
|
||||
- { offset: 0x5F5C, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x1F638, symBinAddr: 0x14E98, symSize: 0x0 }
|
||||
- { offset: 0x5F7E, size: 0x8, addend: 0x0, symName: '__logos_orig$XHooks$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x1F640, symBinAddr: 0x14EA0, symSize: 0x0 }
|
||||
- { offset: 0x6166, size: 0x8, addend: 0x0, symName: _SetupXSLog, symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x28 }
|
||||
- { offset: 0x617B, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData rotationRate]', symObjAddr: 0x28, symBinAddr: 0x4028, symSize: 0x48 }
|
||||
- { offset: 0x61B2, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData customRotationRate]', symObjAddr: 0x70, symBinAddr: 0x4070, symSize: 0x40 }
|
||||
- { offset: 0x61E9, size: 0x8, addend: 0x0, symName: '-[CustomCMGyroData setCustomRotationRate:]', symObjAddr: 0xB0, symBinAddr: 0x40B0, symSize: 0x40 }
|
||||
- { offset: 0x6228, size: 0x8, addend: 0x0, symName: __logosLocalCtor_e9c95796, symObjAddr: 0xF0, symBinAddr: 0x40F0, symSize: 0x1018 }
|
||||
- { offset: 0x64AB, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$ATTrackingManager$trackingAuthorizationStatus', symObjAddr: 0x1108, symBinAddr: 0x5108, symSize: 0x84 }
|
||||
- { offset: 0x6515, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$', symObjAddr: 0x118C, symBinAddr: 0x518C, symSize: 0x16C }
|
||||
- { offset: 0x6577, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$ASIdentifierManager$advertisingIdentifier', symObjAddr: 0x12F8, symBinAddr: 0x52F8, symSize: 0x124 }
|
||||
- { offset: 0x65BB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$ASIdentifierManager$isAdvertisingTrackingEnabled', symObjAddr: 0x141C, symBinAddr: 0x541C, symSize: 0x74 }
|
||||
- { offset: 0x65FF, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$identifierForVendor', symObjAddr: 0x1490, symBinAddr: 0x5490, symSize: 0x124 }
|
||||
- { offset: 0x6643, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$name', symObjAddr: 0x15B4, symBinAddr: 0x55B4, symSize: 0x124 }
|
||||
- { offset: 0x6687, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$model', symObjAddr: 0x16D8, symBinAddr: 0x56D8, symSize: 0x38 }
|
||||
- { offset: 0x66BD, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$localizedModel', symObjAddr: 0x1710, symBinAddr: 0x5710, symSize: 0x38 }
|
||||
- { offset: 0x66F3, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$systemName', symObjAddr: 0x1748, symBinAddr: 0x5748, symSize: 0x38 }
|
||||
- { offset: 0x6729, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$systemVersion', symObjAddr: 0x1780, symBinAddr: 0x5780, symSize: 0x124 }
|
||||
- { offset: 0x676D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$batteryState', symObjAddr: 0x18A4, symBinAddr: 0x58A4, symSize: 0xA0 }
|
||||
- { offset: 0x67B1, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$batteryLevel', symObjAddr: 0x1944, symBinAddr: 0x5944, symSize: 0xA4 }
|
||||
- { offset: 0x67F5, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIDevice$orientation', symObjAddr: 0x19E8, symBinAddr: 0x59E8, symSize: 0x18 }
|
||||
- { offset: 0x682B, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$systemUptime', symObjAddr: 0x1A00, symBinAddr: 0x5A00, symSize: 0xA8 }
|
||||
- { offset: 0x687D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$physicalMemory', symObjAddr: 0x1AA8, symBinAddr: 0x5AA8, symSize: 0xA4 }
|
||||
- { offset: 0x68C1, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$processorCount', symObjAddr: 0x1B4C, symBinAddr: 0x5B4C, symSize: 0xA4 }
|
||||
- { offset: 0x6905, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSProcessInfo$operatingSystemVersion', symObjAddr: 0x1BF0, symBinAddr: 0x5BF0, symSize: 0x46C }
|
||||
- { offset: 0x6987, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIWindow$safeAreaInsets', symObjAddr: 0x205C, symBinAddr: 0x605C, symSize: 0x174 }
|
||||
- { offset: 0x6A04, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$brightness', symObjAddr: 0x21D0, symBinAddr: 0x61D0, symSize: 0xA4 }
|
||||
- { offset: 0x6A48, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$bounds', symObjAddr: 0x2274, symBinAddr: 0x6274, symSize: 0x178 }
|
||||
- { offset: 0x6AB7, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$scale', symObjAddr: 0x23EC, symBinAddr: 0x63EC, symSize: 0xA4 }
|
||||
- { offset: 0x6AFB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$nativeBounds', symObjAddr: 0x2490, symBinAddr: 0x6490, symSize: 0x178 }
|
||||
- { offset: 0x6B6A, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$isCaptured', symObjAddr: 0x2608, symBinAddr: 0x6608, symSize: 0x1C }
|
||||
- { offset: 0x6BA0, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreen$mirroredScreen', symObjAddr: 0x2624, symBinAddr: 0x6624, symSize: 0x18 }
|
||||
- { offset: 0x6BD6, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIScreenMode$size', symObjAddr: 0x263C, symBinAddr: 0x663C, symSize: 0x158 }
|
||||
- { offset: 0x6C44, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$UIStatusBarManager$statusBarFrame', symObjAddr: 0x2794, symBinAddr: 0x6794, symSize: 0x194 }
|
||||
- { offset: 0x6CB3, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$AVAudioSession$outputVolume', symObjAddr: 0x2928, symBinAddr: 0x6928, symSize: 0xA4 }
|
||||
- { offset: 0x6CFB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSFileManager$attributesOfFileSystemForPath$error$', symObjAddr: 0x29CC, symBinAddr: 0x69CC, symSize: 0x294 }
|
||||
- { offset: 0x6D9D, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSFileManager$fileExistsAtPath$', symObjAddr: 0x2C60, symBinAddr: 0x6C60, symSize: 0x398 }
|
||||
- { offset: 0x6E08, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$preferredLanguages', symObjAddr: 0x2FF8, symBinAddr: 0x6FF8, symSize: 0x80 }
|
||||
- { offset: 0x6E41, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$currentLocale', symObjAddr: 0x3078, symBinAddr: 0x7078, symSize: 0xE8 }
|
||||
- { offset: 0x6E89, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSLocale$systemLocale', symObjAddr: 0x3160, symBinAddr: 0x7160, symSize: 0xE8 }
|
||||
- { offset: 0x6ED1, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$localTimeZone', symObjAddr: 0x3248, symBinAddr: 0x7248, symSize: 0xEC }
|
||||
- { offset: 0x6F19, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$systemTimeZone', symObjAddr: 0x3334, symBinAddr: 0x7334, symSize: 0xEC }
|
||||
- { offset: 0x6F61, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSTimeZone$defaultTimeZone', symObjAddr: 0x3420, symBinAddr: 0x7420, symSize: 0xEC }
|
||||
- { offset: 0x6FA9, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSMutableURLRequest$initWithURL$', symObjAddr: 0x350C, symBinAddr: 0x750C, symSize: 0x140 }
|
||||
- { offset: 0x7006, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSMutableURLRequest$setValue$forHTTPHeaderField$', symObjAddr: 0x364C, symBinAddr: 0x764C, symSize: 0x140 }
|
||||
- { offset: 0x707D, size: 0x8, addend: 0x0, symName: '__logos_meta_method$XHooks$NSURLSession$sessionWithConfiguration$', symObjAddr: 0x378C, symBinAddr: 0x778C, symSize: 0x174 }
|
||||
- { offset: 0x70D4, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$NSURLSession$dataTaskWithRequest$completionHandler$', symObjAddr: 0x3900, symBinAddr: 0x7900, symSize: 0x148 }
|
||||
- { offset: 0x7149, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$evaluateJavaScript$completionHandler$', symObjAddr: 0x3A48, symBinAddr: 0x7A48, symSize: 0x104 }
|
||||
- { offset: 0x71AB, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$setCustomUserAgent$', symObjAddr: 0x3B4C, symBinAddr: 0x7B4C, symSize: 0xF0 }
|
||||
- { offset: 0x71FE, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$WKWebView$customUserAgent', symObjAddr: 0x3C3C, symBinAddr: 0x7C3C, symSize: 0x124 }
|
||||
- { offset: 0x7246, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CTTelephonyNetworkInfo$serviceCurrentRadioAccessTechnology', symObjAddr: 0x3D60, symBinAddr: 0x7D60, symSize: 0x3C0 }
|
||||
- { offset: 0x72ED, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CTTelephonyNetworkInfo$serviceSubscriberCellularProviders', symObjAddr: 0x4120, symBinAddr: 0x8120, symSize: 0x6DC }
|
||||
- { offset: 0x7394, size: 0x8, addend: 0x0, symName: '__logos_method$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$', symObjAddr: 0x47FC, symBinAddr: 0x87FC, symSize: 0x16C }
|
||||
- { offset: 0x73F6, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$uname', symObjAddr: 0x4968, symBinAddr: 0x8968, symSize: 0x100 }
|
||||
- { offset: 0x745C, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$sysctl', symObjAddr: 0x4A68, symBinAddr: 0x8A68, symSize: 0x354 }
|
||||
- { offset: 0x7559, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$sysctlbyname', symObjAddr: 0x4DBC, symBinAddr: 0x8DBC, symSize: 0x2B8 }
|
||||
- { offset: 0x768F, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$clock_gettime', symObjAddr: 0x5074, symBinAddr: 0x9074, symSize: 0x54 }
|
||||
- { offset: 0x76D7, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$getifaddrs', symObjAddr: 0x50C8, symBinAddr: 0x90C8, symSize: 0x618 }
|
||||
- { offset: 0x7857, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$SCNetworkReachabilityGetFlags', symObjAddr: 0x56E0, symBinAddr: 0x96E0, symSize: 0x7C }
|
||||
- { offset: 0x789F, size: 0x8, addend: 0x0, symName: __logosLocalDtor_2e2d985c, symObjAddr: 0x575C, symBinAddr: 0x975C, symSize: 0x68 }
|
||||
- { offset: 0x78E3, size: 0x8, addend: 0x0, symName: '____logos_meta_method$XHooks$ATTrackingManager$requestTrackingAuthorizationWithCompletionHandler$_block_invoke', symObjAddr: 0x57C4, symBinAddr: 0x97C4, symSize: 0x58 }
|
||||
- { offset: 0x792D, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32b, symObjAddr: 0x581C, symBinAddr: 0x981C, symSize: 0x3C }
|
||||
- { offset: 0x7951, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s, symObjAddr: 0x5858, symBinAddr: 0x9858, symSize: 0x30 }
|
||||
- { offset: 0x796D, size: 0x8, addend: 0x0, symName: _UIEdgeInsetsMake, symObjAddr: 0x5888, symBinAddr: 0x9888, symSize: 0x4C }
|
||||
- { offset: 0x79CD, size: 0x8, addend: 0x0, symName: _CGRectMake, symObjAddr: 0x58D4, symBinAddr: 0x98D4, symSize: 0x4C }
|
||||
- { offset: 0x7A33, size: 0x8, addend: 0x0, symName: _CGSizeMake, symObjAddr: 0x5920, symBinAddr: 0x9920, symSize: 0x2C }
|
||||
- { offset: 0x7A7B, size: 0x8, addend: 0x0, symName: '____logos_method$XHooks$NSFileManager$fileExistsAtPath$_block_invoke', symObjAddr: 0x594C, symBinAddr: 0x994C, symSize: 0xA0 }
|
||||
- { offset: 0x7B05, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s, symObjAddr: 0x59EC, symBinAddr: 0x99EC, symSize: 0x3C }
|
||||
- { offset: 0x7B29, size: 0x8, addend: 0x0, symName: '____logos_method$XHooks$CMMotionManager$startGyroUpdatesToQueue$withHandler$_block_invoke', symObjAddr: 0x5A28, symBinAddr: 0x9A28, symSize: 0x114 }
|
||||
- { offset: 0x7BAF, size: 0x8, addend: 0x0, symName: _randomRadiansPerSecond, symObjAddr: 0x5B3C, symBinAddr: 0x9B3C, symSize: 0x48 }
|
||||
- { offset: 0x7BD9, size: 0x8, addend: 0x0, symName: _modifyInterfaceIP, symObjAddr: 0x5B84, symBinAddr: 0x9B84, symSize: 0x144 }
|
||||
- { offset: 0x7C6C, size: 0x8, addend: 0x0, symName: _createInterface, symObjAddr: 0x5CC8, symBinAddr: 0x9CC8, symSize: 0x3CC }
|
||||
- { offset: 0x7D15, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$UIAccessibilityIsClosedCaptioningEnabled', symObjAddr: 0x6094, symBinAddr: 0xA094, symSize: 0xC }
|
||||
- { offset: 0x7D2F, size: 0x8, addend: 0x0, symName: '__logos_function$XHooks$UIAccessibilityIsMonoAudioEnabled', symObjAddr: 0x60A0, symBinAddr: 0xA0A0, symSize: 0xC }
|
||||
- { offset: 0x7D49, size: 0x8, addend: 0x0, symName: ___GLOBAL_init_65535, symObjAddr: 0x6284, symBinAddr: 0xA0AC, symSize: 0x34 }
|
||||
- { offset: 0x7FCF, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xA0E0, symSize: 0x11C }
|
||||
- { offset: 0x7FE8, size: 0x8, addend: 0x0, symName: _kLogFilePath, symObjAddr: 0xEA8, symBinAddr: 0x14CF0, symSize: 0x0 }
|
||||
- { offset: 0x804F, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath, symObjAddr: 0x0, symBinAddr: 0xA0E0, symSize: 0x11C }
|
||||
- { offset: 0x8070, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFilePath.onceToken, symObjAddr: 0x3E60, symBinAddr: 0x14EA8, symSize: 0x0 }
|
||||
- { offset: 0x8115, size: 0x8, addend: 0x0, symName: _logFileHandle, symObjAddr: 0x3E70, symBinAddr: 0x14EB8, symSize: 0x0 }
|
||||
- { offset: 0x8195, size: 0x8, addend: 0x0, symName: _logQueue, symObjAddr: 0x3E68, symBinAddr: 0x14EB0, symSize: 0x0 }
|
||||
- { offset: 0x81BA, size: 0x8, addend: 0x0, symName: _kMaxFileSize, symObjAddr: 0xEB0, symBinAddr: 0x14CF8, symSize: 0x0 }
|
||||
- { offset: 0x81CF, size: 0x8, addend: 0x0, symName: _logCount, symObjAddr: 0x3E78, symBinAddr: 0x14EC0, symSize: 0x0 }
|
||||
- { offset: 0x82ED, size: 0x8, addend: 0x0, symName: ___XSLogSetupLogWithFilePath_block_invoke, symObjAddr: 0x11C, symBinAddr: 0xA1FC, symSize: 0x88 }
|
||||
- { offset: 0x8337, size: 0x8, addend: 0x0, symName: _setupLogFileHandle, symObjAddr: 0x1A4, symBinAddr: 0xA284, symSize: 0x184 }
|
||||
- { offset: 0x835B, size: 0x8, addend: 0x0, symName: _XSLogSetupLogWithFileName, symObjAddr: 0x394, symBinAddr: 0xA408, symSize: 0x98 }
|
||||
- { offset: 0x838D, size: 0x8, addend: 0x0, symName: _getLogFilePath, symObjAddr: 0x42C, symBinAddr: 0xA4A0, symSize: 0x100 }
|
||||
- { offset: 0x83DF, size: 0x8, addend: 0x0, symName: _XSLogRedirectNSLog, symObjAddr: 0x52C, symBinAddr: 0xA5A0, symSize: 0xC4 }
|
||||
- { offset: 0x8411, size: 0x8, addend: 0x0, symName: _XSLogMessage, symObjAddr: 0x5F0, symBinAddr: 0xA664, symSize: 0x118 }
|
||||
- { offset: 0x8452, size: 0x8, addend: 0x0, symName: ___XSLogMessage_block_invoke, symObjAddr: 0x708, symBinAddr: 0xA77C, symSize: 0x2D0 }
|
||||
- { offset: 0x84DE, size: 0x8, addend: 0x0, symName: _checkAndRollLogFile, symObjAddr: 0x9D8, symBinAddr: 0xAA4C, symSize: 0x29C }
|
||||
- { offset: 0x8CEF, size: 0x8, addend: 0x0, symName: '+[XHookSettingsManager sharedManager]', symObjAddr: 0x0, symBinAddr: 0xACE8, symSize: 0x90 }
|
||||
- { offset: 0x8CFC, size: 0x8, addend: 0x0, symName: '+[XHookSettingsManager sharedManager]', symObjAddr: 0x0, symBinAddr: 0xACE8, symSize: 0x90 }
|
||||
- { offset: 0x8D25, size: 0x8, addend: 0x0, symName: _sharedManager.manager, symObjAddr: 0x6E40, symBinAddr: 0x14EC8, symSize: 0x0 }
|
||||
- { offset: 0x8D3A, size: 0x8, addend: 0x0, symName: _sharedManager.onceToken, symObjAddr: 0x6E48, symBinAddr: 0x14ED0, symSize: 0x0 }
|
||||
- { offset: 0x9246, size: 0x8, addend: 0x0, symName: '___37+[XHookSettingsManager sharedManager]_block_invoke', symObjAddr: 0x90, symBinAddr: 0xAD78, symSize: 0x58 }
|
||||
- { offset: 0x926E, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager init]', symObjAddr: 0xE8, symBinAddr: 0xADD0, symSize: 0xB4 }
|
||||
- { offset: 0x92A4, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager resetToDefaults]', symObjAddr: 0x19C, symBinAddr: 0xAE84, symSize: 0x188 }
|
||||
- { offset: 0x92D6, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseString:defaultValue:]', symObjAddr: 0x324, symBinAddr: 0xB00C, symSize: 0xEC }
|
||||
- { offset: 0x9328, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseInteger:defaultValue:]', symObjAddr: 0x410, symBinAddr: 0xB0F8, symSize: 0x104 }
|
||||
- { offset: 0x937A, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseFloat:defaultValue:]', symObjAddr: 0x514, symBinAddr: 0xB1FC, symSize: 0x104 }
|
||||
- { offset: 0x93CC, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseDouble:defaultValue:]', symObjAddr: 0x618, symBinAddr: 0xB300, symSize: 0x104 }
|
||||
- { offset: 0x941E, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseULL:defaultValue:]', symObjAddr: 0x71C, symBinAddr: 0xB404, symSize: 0x104 }
|
||||
- { offset: 0x9470, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseUUID:]', symObjAddr: 0x820, symBinAddr: 0xB508, symSize: 0xC0 }
|
||||
- { offset: 0x94B4, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseDictionary:]', symObjAddr: 0x8E0, symBinAddr: 0xB5C8, symSize: 0xB8 }
|
||||
- { offset: 0x94F8, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseArray:]', symObjAddr: 0x998, symBinAddr: 0xB680, symSize: 0xB8 }
|
||||
- { offset: 0x953C, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager loadSettingsFromPath:]', symObjAddr: 0xA50, symBinAddr: 0xB738, symSize: 0x304 }
|
||||
- { offset: 0x95DD, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager parseSettings:]', symObjAddr: 0xD54, symBinAddr: 0xBA3C, symSize: 0xAB8 }
|
||||
- { offset: 0x962B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager cleanup]', symObjAddr: 0x180C, symBinAddr: 0xC4F4, symSize: 0x30 }
|
||||
- { offset: 0x965D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager shouldHookApp:]', symObjAddr: 0x183C, symBinAddr: 0xC524, symSize: 0xAC }
|
||||
- { offset: 0x96A1, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager isLoaded]', symObjAddr: 0x18E8, symBinAddr: 0xC5D0, symSize: 0x20 }
|
||||
- { offset: 0x96D7, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager idfa]', symObjAddr: 0x1908, symBinAddr: 0xC5F0, symSize: 0x1C }
|
||||
- { offset: 0x970D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager idfv]', symObjAddr: 0x1924, symBinAddr: 0xC60C, symSize: 0x1C }
|
||||
- { offset: 0x9743, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager deviceName]', symObjAddr: 0x1940, symBinAddr: 0xC628, symSize: 0x1C }
|
||||
- { offset: 0x9779, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager osVersion]', symObjAddr: 0x195C, symBinAddr: 0xC644, symSize: 0x1C }
|
||||
- { offset: 0x97AF, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager productStr]', symObjAddr: 0x1978, symBinAddr: 0xC660, symSize: 0x1C }
|
||||
- { offset: 0x97E5, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager hwModel]', symObjAddr: 0x1994, symBinAddr: 0xC67C, symSize: 0x1C }
|
||||
- { offset: 0x981B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager trackingStatus]', symObjAddr: 0x19B0, symBinAddr: 0xC698, symSize: 0x1C }
|
||||
- { offset: 0x9851, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager physicalMemory]', symObjAddr: 0x19CC, symBinAddr: 0xC6B4, symSize: 0x1C }
|
||||
- { offset: 0x9887, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager cpuCore]', symObjAddr: 0x19E8, symBinAddr: 0xC6D0, symSize: 0x1C }
|
||||
- { offset: 0x98BD, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager systemUptimeOffset]', symObjAddr: 0x1A04, symBinAddr: 0xC6EC, symSize: 0x1C }
|
||||
- { offset: 0x98F3, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager kernBootTimeOffset]', symObjAddr: 0x1A20, symBinAddr: 0xC708, symSize: 0x1C }
|
||||
- { offset: 0x9929, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager batteryState]', symObjAddr: 0x1A3C, symBinAddr: 0xC724, symSize: 0x1C }
|
||||
- { offset: 0x995F, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager batteryLevel]', symObjAddr: 0x1A58, symBinAddr: 0xC740, symSize: 0x1C }
|
||||
- { offset: 0x9995, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenBrightness]', symObjAddr: 0x1A74, symBinAddr: 0xC75C, symSize: 0x1C }
|
||||
- { offset: 0x99CB, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenScale]', symObjAddr: 0x1A90, symBinAddr: 0xC778, symSize: 0x1C }
|
||||
- { offset: 0x9A01, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager screenBounds]', symObjAddr: 0x1AAC, symBinAddr: 0xC794, symSize: 0x1C }
|
||||
- { offset: 0x9A37, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager safeAreaInsets]', symObjAddr: 0x1AC8, symBinAddr: 0xC7B0, symSize: 0x1C }
|
||||
- { offset: 0x9A6D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager diskSize]', symObjAddr: 0x1AE4, symBinAddr: 0xC7CC, symSize: 0x1C }
|
||||
- { offset: 0x9AA3, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager diskFreeSize]', symObjAddr: 0x1B00, symBinAddr: 0xC7E8, symSize: 0x1C }
|
||||
- { offset: 0x9AD9, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager outputVolume]', symObjAddr: 0x1B1C, symBinAddr: 0xC804, symSize: 0x1C }
|
||||
- { offset: 0x9B0F, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager userAgent]', symObjAddr: 0x1B38, symBinAddr: 0xC820, symSize: 0x1C }
|
||||
- { offset: 0x9B45, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager networkInterfacesInfo]', symObjAddr: 0x1B54, symBinAddr: 0xC83C, symSize: 0x1C }
|
||||
- { offset: 0x9B7B, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager simInfo]', symObjAddr: 0x1B70, symBinAddr: 0xC858, symSize: 0x1C }
|
||||
- { offset: 0x9BB1, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager locale]', symObjAddr: 0x1B8C, symBinAddr: 0xC874, symSize: 0x1C }
|
||||
- { offset: 0x9BE7, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager timeZone]', symObjAddr: 0x1BA8, symBinAddr: 0xC890, symSize: 0x1C }
|
||||
- { offset: 0x9C1D, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager apps]', symObjAddr: 0x1BC4, symBinAddr: 0xC8AC, symSize: 0x1C }
|
||||
- { offset: 0x9C53, size: 0x8, addend: 0x0, symName: '-[XHookSettingsManager .cxx_destruct]', symObjAddr: 0x1BE0, symBinAddr: 0xC8C8, symSize: 0x10C }
|
||||
...
|
||||
|
||||
@ -1 +1 @@
|
||||
80
|
||||
117
|
||||
@ -4,7 +4,7 @@
|
||||
#import <SpringBoard/SBApplication.h>
|
||||
#import <SpringBoard/SBWorkspace.h>
|
||||
#import <SpringBoard/SBApplicationController.h>
|
||||
|
||||
#import <unistd.h> // 为了 getpid()
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <objc/runtime.h>
|
||||
@ -18,6 +18,15 @@ __attribute__((constructor)) static void SetupXSLog() {
|
||||
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)
|
||||
@end
|
||||
|
||||
@ -41,8 +50,6 @@ __attribute__((constructor)) static void SetupXSLog() {
|
||||
objc_setAssociatedObject(self, @selector(addFloatingWindow), floatingWindow, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
||||
%group all
|
||||
@ -56,7 +63,8 @@ __attribute__((constructor)) static void SetupXSLog() {
|
||||
// 延迟启动服务器,让系统UI完全加载
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)),
|
||||
dispatch_get_main_queue(), ^{
|
||||
startSimpleServer();
|
||||
// 改为一次性启动
|
||||
startServerOnce();
|
||||
});
|
||||
|
||||
@autoreleasepool {
|
||||
@ -101,7 +109,6 @@ __attribute__((constructor)) static void SetupXSLog() {
|
||||
// 清理悬浮窗
|
||||
}
|
||||
|
||||
|
||||
%end
|
||||
|
||||
/*
|
||||
@ -115,15 +122,16 @@ __attribute__((constructor)) static void SetupXSLog() {
|
||||
return dict;
|
||||
}
|
||||
|
||||
|
||||
%end
|
||||
*/
|
||||
|
||||
|
||||
%end
|
||||
|
||||
|
||||
%ctor{
|
||||
NSLog(@"start app server");
|
||||
%ctor {
|
||||
// 使用一次性保护,避免 dylib 被重复装载时重复执行
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
NSLog(@"[AppRunMan] %ctor init (pid=%d)", getpid());
|
||||
%init(all);
|
||||
});
|
||||
}
|
||||
@ -18,6 +18,7 @@
|
||||
@interface FloatingWindow () {
|
||||
NSMutableArray *loadTimestamps;
|
||||
NSMutableArray *showTimestamps;
|
||||
NSTimer *updateTimer;
|
||||
}
|
||||
|
||||
@end
|
||||
@ -40,7 +41,7 @@
|
||||
action:@selector(detectPan:)];
|
||||
[self addGestureRecognizer:panRecognizer];
|
||||
|
||||
self.backgroundColor = RGB(193, 41, 48); // RGB(85, 172, 119);
|
||||
self.backgroundColor = [UIColor grayColor]; // 默认灰色背景
|
||||
self.layer.cornerRadius = 10;
|
||||
self.clipsToBounds = YES;
|
||||
|
||||
@ -52,12 +53,67 @@
|
||||
loadTimestamps = [[NSMutableArray alloc] init];
|
||||
showTimestamps = [[NSMutableArray alloc] init];
|
||||
|
||||
[self startUpdatingCounts]; // 启动定时任务
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[[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;
|
||||
}
|
||||
|
||||
// 添加清理过期数据的辅助方法
|
||||
@ -73,6 +129,7 @@
|
||||
[timestamps removeAllObjects];
|
||||
[timestamps addObjectsFromArray:validTimestamps];
|
||||
}
|
||||
|
||||
// 更新背景颜色
|
||||
- (void)updateBackgroundColorByShowCount:(NSInteger)showCount {
|
||||
UIColor *color;
|
||||
@ -209,48 +266,6 @@
|
||||
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 {
|
||||
__weak typeof(self) weakSelf = self;
|
||||
|
||||
@ -23,4 +23,8 @@
|
||||
|
||||
+(instancetype)sharedInstance;
|
||||
|
||||
- (BOOL)isHeartbeatActive;
|
||||
- (void)restartHeartbeat;
|
||||
- (void)stopHeartbeat;
|
||||
|
||||
@end
|
||||
|
||||
@ -93,6 +93,22 @@
|
||||
dispatch_resume(_timer);
|
||||
}
|
||||
|
||||
- (BOOL)isHeartbeatActive {
|
||||
// 检查心跳是否处于活动状态
|
||||
return _timer != nil;
|
||||
}
|
||||
|
||||
- (void)restartHeartbeat {
|
||||
// 重新启动心跳
|
||||
[self stopHeartbeat];
|
||||
[self start];
|
||||
}
|
||||
|
||||
- (void)stopHeartbeat {
|
||||
// 停止心跳
|
||||
[self stop];
|
||||
}
|
||||
|
||||
- (void) checkxxx {
|
||||
NSDate *last = [[XSPhoneConfig sharedInstance] GetLastOverTime];
|
||||
NSDate *date2 = [NSDate date];
|
||||
@ -108,7 +124,7 @@
|
||||
}
|
||||
|
||||
|
||||
- (void) ping {
|
||||
- (void)ping {
|
||||
@try {
|
||||
if (!self->iphone || !self->http) return;
|
||||
|
||||
@ -119,23 +135,10 @@
|
||||
}
|
||||
|
||||
NSString *url = [NSString stringWithFormat:@"%@/ios/top_selection/heartbeat", server];
|
||||
|
||||
/**
|
||||
{
|
||||
"deviceId": "string",
|
||||
"ip": "string",
|
||||
"appId": "string",
|
||||
"apps": [
|
||||
"string"
|
||||
],
|
||||
"name": "string",
|
||||
"message": "string",
|
||||
"status": "string",
|
||||
"life": true
|
||||
if (!url) {
|
||||
NSLog(@"Invalid URL for heartbeat");
|
||||
return;
|
||||
}
|
||||
*/
|
||||
//self.status = [[XSConsole sharedInstance] status];
|
||||
//self.appId = [[XSJsGlobalContext sharedInstance] get:@"ad_appid"];
|
||||
|
||||
dispatch_async(self->_workQueue, ^{
|
||||
if ([self.status isEqualToString:@"运行中"]) {
|
||||
@ -153,47 +156,25 @@
|
||||
}
|
||||
});
|
||||
|
||||
self.name = self->iphone.IPhoneName;
|
||||
self.deviceId = self->iphone.DeviceId;
|
||||
self.ip = [[XSPhoneInfo sharedInstance] IPAddress];
|
||||
self.remoteIp = [[XSPhoneInfo sharedInstance] remoteIp];
|
||||
self.diskSize = [[XSPhoneInfo sharedInstance] IPhoneStatus];
|
||||
self.message = @"251118-nt-newapi";
|
||||
// 构建请求数据
|
||||
self.name = self->iphone.IPhoneName ?: @"";
|
||||
self.deviceId = self->iphone.DeviceId ?: @"";
|
||||
self.ip = [[XSPhoneInfo sharedInstance] IPAddress] ?: @"";
|
||||
self.remoteIp = [[XSPhoneInfo sharedInstance] remoteIp] ?: @"";
|
||||
self.diskSize = [[XSPhoneInfo sharedInstance] IPhoneStatus] ?: @"";
|
||||
self.message = @"251202-nt-02";
|
||||
|
||||
NSDictionary *heartbeatData = [self constructHeartbeatData];
|
||||
if (!heartbeatData) {
|
||||
NSLog(@"Failed to construct heartbeat data");
|
||||
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 checkAndPerformTasks];
|
||||
|
||||
} @catch (NSException *exception) {
|
||||
NSLog(@"XS- app run man ping error: %@", exception);
|
||||
} @finally {
|
||||
NSLog(@"XS- ping end");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
- (void)sendHeartbeat:(NSDictionary *)data toURL:(NSString *)url {
|
||||
|
||||
@ -113,10 +113,17 @@
|
||||
|
||||
}
|
||||
|
||||
- (void) executeTask: (NSDictionary*)dic {
|
||||
if ([dic objectForKey:@"cmd"]) {
|
||||
- (void)executeTask:(NSDictionary *)dic {
|
||||
if (!dic || ![dic objectForKey:@"cmd"]) {
|
||||
NSLog(@"Invalid task dictionary");
|
||||
return;
|
||||
}
|
||||
NSString *cmd = dic[@"cmd"];
|
||||
NSString *taskId = dic[@"taskId"];
|
||||
if (!cmd || !taskId) {
|
||||
NSLog(@"Missing command or taskId");
|
||||
return;
|
||||
}
|
||||
if ([cmd isEqual:@"EDIT_NAME"]) {
|
||||
[self executeEditName:taskId data:dic[@"cmdData"]];
|
||||
return;
|
||||
@ -161,7 +168,6 @@
|
||||
[self executeUpdateKey:taskId data:dic[@"cmdData"]];
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) putTask: (NSString*)taskId error: (NSString*)error data:(NSString*)data {
|
||||
|
||||
@ -14,8 +14,6 @@
|
||||
#import "XSPhoneConfig.h"
|
||||
#import "XSPhoneInfo.h"
|
||||
|
||||
|
||||
|
||||
void pushAdTaskLog(AdTaskLogData *data) {
|
||||
NSDictionary *dic = @{
|
||||
@"taskId": data->taskId,
|
||||
@ -88,8 +86,15 @@ BOOL needAdContinue(NSString *appid, NSString *idfa, NSNumber *maxEcpm) {
|
||||
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];
|
||||
NSString *url = [config GetFullServerURL:@"ios/top_selection/get_change_data_json"];
|
||||
XSHttpHelper *http = [[XSHttpHelper alloc] init];
|
||||
@ -99,28 +104,53 @@ void getChangeInfo(NSString *idfa, ChangeDataSaveCallback callback, error_callba
|
||||
};
|
||||
NSString *json = [XSHelper dic2Json:dic];
|
||||
|
||||
NSLog(@"getChangeInfo: Attempting request, retries left: %d", retryCount);
|
||||
|
||||
[http doPOST:url json:json withCallback:^(NSData *jsonData) {
|
||||
NSDictionary *data = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];
|
||||
NSError *jsonError = 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"]) {
|
||||
NSDictionary *_data = data[@"data"];
|
||||
if(_data && ![_data isEqual:[NSNull null]]) {
|
||||
if (_data && ![_data isEqual:[NSNull null]]) {
|
||||
NSLog(@"getChangeInfo: Successfully received 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 {
|
||||
if(errorCallback) {
|
||||
errorCallback(nil);
|
||||
}
|
||||
|
||||
NSLog(@"getChangeInfo: No 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);
|
||||
});
|
||||
}
|
||||
} withError:^(NSError *err) {
|
||||
NSLog(@"XS- log- get data: %@", err);
|
||||
if(errorCallback) {
|
||||
errorCallback(err);
|
||||
}
|
||||
|
||||
NSLog(@"getChangeInfo error: %@, retrying... (%d retries left)", err, retryCount - 1);
|
||||
// 添加延迟重试
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
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) {
|
||||
XSPhoneConfig *config = [XSPhoneConfig sharedInstance];
|
||||
NSString *url = [config GetFullServerURL:[NSString stringWithFormat:@"ios/top_selection/change_data?id=%@&idfa=%@", [config IPhoneName], idfa ?: @""]];
|
||||
@ -151,60 +181,109 @@ 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) {
|
||||
if (!data || ![data isKindOfClass:[NSDictionary class]]) {
|
||||
NSLog(@"Invalid data input");
|
||||
NSLog(@"[saveChangeDataFile] Invalid data input: %@", data);
|
||||
return NO;
|
||||
}
|
||||
|
||||
__block BOOL result = NO;
|
||||
__block NSError *writeError = nil;
|
||||
|
||||
dispatch_sync(XSFileIOQueue(), ^{
|
||||
@try {
|
||||
NSString *bundleId = @"org.xyzshell.NotNil";
|
||||
NSString *plistPath = [NSString stringWithFormat:@"/var/mobile/Library/Preferences/%@.plist", bundleId];
|
||||
NSString *jsonPath = @"/var/mobile/Documents/changeapp.json";
|
||||
NSString *dirPath = [jsonPath stringByDeletingLastPathComponent];
|
||||
|
||||
// 使用同步锁保证线程安全
|
||||
@synchronized(NSFileManager.defaultManager) {
|
||||
NSMutableDictionary *tempDic = [NSMutableDictionary new];
|
||||
|
||||
// 安全地遍历字典
|
||||
[data enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
|
||||
if (![key isKindOfClass:[NSString class]]) return;
|
||||
|
||||
if (obj == [NSNull null]) {
|
||||
tempDic[key] = nil;
|
||||
} else if ([obj isKindOfClass:[NSDictionary class]]) {
|
||||
NSMutableDictionary *newDic = [NSMutableDictionary new];
|
||||
[(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
|
||||
NSError *dirErr = nil;
|
||||
if (![[NSFileManager defaultManager] fileExistsAtPath:dirPath]) {
|
||||
[[NSFileManager defaultManager] createDirectoryAtPath:dirPath
|
||||
withIntermediateDirectories:YES
|
||||
attributes:nil
|
||||
error:&error]) {
|
||||
NSLog(@"Failed to create directory: %@", error);
|
||||
return NO;
|
||||
attributes:@{NSFileProtectionKey: NSFileProtectionNone}
|
||||
error:&dirErr];
|
||||
if (dirErr) {
|
||||
NSLog(@"[saveChangeDataFile] Failed to create directory %@, error: %@", dirPath, dirErr);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 写入文件
|
||||
BOOL y = [tempDic writeToFile:plistPath atomically:YES];
|
||||
NSLog(@"XS- save change file: %@", @(y));
|
||||
return y;
|
||||
NSDictionary *filtered = XSFilterJSONValue(data);
|
||||
if (!filtered || ![NSJSONSerialization isValidJSONObject:filtered]) {
|
||||
NSLog(@"[saveChangeDataFile] JSON object invalid after filtering: %@", filtered);
|
||||
return;
|
||||
}
|
||||
|
||||
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(@"Error saving change data: %@", exception);
|
||||
return NO;
|
||||
NSLog(@"[saveChangeDataFile] Exception: %@", exception);
|
||||
result = NO;
|
||||
}
|
||||
});
|
||||
|
||||
if (writeError) {
|
||||
NSLog(@"[saveChangeDataFile] Write error: %@", writeError);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
AdLoadInfo getAdLoadInfo(NSDictionary *request) {
|
||||
@ -336,7 +415,6 @@ void logMessage(NSString *message) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void uncaughtExceptionHandler(NSException *exception) {
|
||||
NSArray *callStack = [exception callStackSymbols];
|
||||
NSString *reason = [exception reason];
|
||||
@ -353,6 +431,7 @@ void uncaughtExceptionHandler(NSException *exception) {
|
||||
}
|
||||
|
||||
void signalHandler(int signal) {
|
||||
/*
|
||||
NSMutableString *crashLog = [NSMutableString string];
|
||||
[crashLog appendFormat:@"Signal %d was raised.\n", signal];
|
||||
|
||||
@ -366,11 +445,19 @@ void signalHandler(int signal) {
|
||||
|
||||
free(strs);
|
||||
|
||||
NSLog(@"Crash: %@", crashLog);
|
||||
logMessage(crashLog);
|
||||
NSLog(@"SpringBoard crash:%@", 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) {
|
||||
|
||||
@ -29,6 +29,7 @@ BOOL myadTaskManualStop = NO;
|
||||
NSString *dataId;
|
||||
NSString *remoteIp;
|
||||
NSString *country;
|
||||
dispatch_source_t _appendCheckTimer; // 新增定时器
|
||||
|
||||
}
|
||||
|
||||
@ -108,7 +109,7 @@ BOOL myadTaskManualStop = NO;
|
||||
__weak typeof(self) weakSelf = self;
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(beforeSec * NSEC_PER_SEC)),
|
||||
self.manQueue, ^{
|
||||
[weakSelf touchAppTask:0];
|
||||
|
||||
});
|
||||
}
|
||||
return close;
|
||||
@ -119,7 +120,15 @@ BOOL myadTaskManualStop = NO;
|
||||
}
|
||||
|
||||
- (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/";
|
||||
if (!url) {
|
||||
NSLog(@"Invalid URL for remote info");
|
||||
return;
|
||||
}
|
||||
XSHttpHelper *http = [[XSHttpHelper alloc] init];
|
||||
__weak typeof(self) weakSelf = self;
|
||||
[http doGET:url withCallback:^(NSData *data) {
|
||||
@ -136,6 +145,10 @@ BOOL myadTaskManualStop = NO;
|
||||
}
|
||||
NSString *isoCode = dic[@"country_code"];
|
||||
NSString *ip = dic[@"ip"];
|
||||
if (!isoCode || !ip) {
|
||||
NSLog(@"Invalid data received for remote info");
|
||||
return;
|
||||
}
|
||||
|
||||
__strong typeof(weakSelf) strongSelf = weakSelf;
|
||||
if (!strongSelf) return;
|
||||
@ -195,55 +208,76 @@ 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 {
|
||||
NSNumber *maxEcpm = dic[@"max_ecpm"];
|
||||
int sec = self->adAfter / 1000;
|
||||
__weak typeof(self) weakSelf = self;
|
||||
if([maxEcpm doubleValue] <= 0.0) {
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, sec * NSEC_PER_SEC), self.manQueue, ^{
|
||||
@autoreleasepool {
|
||||
[weakSelf startApp];
|
||||
if (self->taskAppId) {
|
||||
[self appKill:self->taskAppId];
|
||||
}
|
||||
});
|
||||
return NO;
|
||||
[self startApp];
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
- (void)startApp {
|
||||
@autoreleasepool {
|
||||
if(!self->running){
|
||||
if (!self->running) {
|
||||
return;
|
||||
}
|
||||
self->lastRun = [NSDate date];
|
||||
if (self->country == nil || [self->country isEqual:NULL] || [self->country isEqual:@""]) {
|
||||
[self setRemoteInfo];
|
||||
self->lastGetCountry = [NSDate date];
|
||||
} else {
|
||||
NSDate *curRunTime = [NSDate date];
|
||||
NSTimeInterval elapsed = [curRunTime timeIntervalSinceDate:self->lastGetCountry];
|
||||
if (elapsed >= 300) {
|
||||
[self setRemoteInfo];
|
||||
self->lastGetCountry = [NSDate date];
|
||||
}
|
||||
}
|
||||
|
||||
NSDate *startTime = [NSDate date];
|
||||
NSLog(@"getChangeInfo started at: %@", startTime);
|
||||
__weak typeof(self) weakSelf = self;
|
||||
getChangeInfo(self->_lastIdfa, ^(NSDictionary *dic) {
|
||||
getChangeInfo(self->_lastIdfa ?: @"", ^(NSDictionary *dic) {
|
||||
if (!dic) {
|
||||
NSLog(@"getChangeInfo returned nil dictionary");
|
||||
return;
|
||||
}
|
||||
NSDate *endTime = [NSDate date];
|
||||
NSTimeInterval duration = [endTime timeIntervalSinceDate:startTime];
|
||||
NSLog(@"getChangeInfo completed at: %@, duration: %.2f seconds", endTime, duration);
|
||||
dispatch_async(weakSelf.manQueue, ^{
|
||||
[weakSelf onChangeInfo:dic];
|
||||
});
|
||||
}, ^(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);
|
||||
[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];
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -265,9 +299,27 @@ BOOL myadTaskManualStop = NO;
|
||||
dispatch_source_set_event_handler(_timer, ^{
|
||||
@autoreleasepool {
|
||||
[weakSelf proc];
|
||||
// 检查心跳状态
|
||||
if (![[IPhoneHertbeat sharedInstance] isHeartbeatActive]) {
|
||||
NSLog(@"Heartbeat inactive, restarting...");
|
||||
[[IPhoneHertbeat sharedInstance] restartHeartbeat];
|
||||
}
|
||||
}
|
||||
});
|
||||
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)];
|
||||
}
|
||||
|
||||
@ -279,22 +331,17 @@ BOOL myadTaskManualStop = NO;
|
||||
NSLog(@"XS- MyAdTaskManager proc");
|
||||
NSDate* curRunTime = [NSDate date];
|
||||
NSTimeInterval elapsed = [curRunTime timeIntervalSinceDate:self->lastRun];
|
||||
|
||||
if (elapsed >= 30) {
|
||||
BOOL washParam = [[XSPhoneConfig sharedInstance] WashParam];
|
||||
if (elapsed >= 80) {
|
||||
//[self onStop];
|
||||
[self start];
|
||||
[self startApp];
|
||||
|
||||
} else {
|
||||
}
|
||||
if (!washParam) {
|
||||
NSString* appId = [ self frontMostAppId];
|
||||
|
||||
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];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), self.manQueue, ^{
|
||||
[self appRun:self->taskAppId];
|
||||
@ -302,6 +349,7 @@ BOOL myadTaskManualStop = NO;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
- (NSString *)toggle {
|
||||
@ -321,6 +369,13 @@ BOOL myadTaskManualStop = NO;
|
||||
dispatch_source_cancel(_timer);
|
||||
_timer = nil;
|
||||
}
|
||||
// 停止 append 文件定时器
|
||||
if (_appendCheckTimer) {
|
||||
dispatch_source_cancel(_appendCheckTimer);
|
||||
_appendCheckTimer = nil;
|
||||
}
|
||||
|
||||
[[IPhoneHertbeat sharedInstance] stopHeartbeat]; // 确保心跳停止
|
||||
[[MyEventBus sharedInstance] postEvent:@"UpdateRunStatus" withObject:@(NO)];
|
||||
}
|
||||
|
||||
@ -398,16 +453,21 @@ BOOL myadTaskManualStop = NO;
|
||||
__strong typeof(weakSelf) strongSelf = weakSelf;
|
||||
if (!strongSelf) return;
|
||||
|
||||
saveChangeDataFile(dic);
|
||||
void (^saveBlock)(void) = ^{
|
||||
if (saveChangeDataFile(dic)) {
|
||||
// 成功,执行后续流程
|
||||
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, ^{
|
||||
__strong typeof(weakSelf) strongSelf2 = weakSelf;
|
||||
if (!strongSelf2) return;
|
||||
|
||||
[strongSelf2 appRun:strongSelf2->taskAppId];
|
||||
});
|
||||
} else {
|
||||
NSLog(@"XS- saveChangeDataFile failed");
|
||||
}
|
||||
};
|
||||
saveBlock();
|
||||
}];
|
||||
}
|
||||
|
||||
@ -485,10 +545,9 @@ BOOL myadTaskManualStop = NO;
|
||||
});
|
||||
}
|
||||
|
||||
- (void)tap:(int)i x:(int)x y:(int)y {
|
||||
}
|
||||
|
||||
- (void)restart:(OnEndCallback)callback {
|
||||
@synchronized (self) {
|
||||
__weak typeof(self) weakSelf = self;
|
||||
dispatch_async(self.manQueue, ^{
|
||||
@try {
|
||||
@ -500,7 +559,7 @@ BOOL myadTaskManualStop = NO;
|
||||
if (strongSelf->taskAppId && ![strongSelf->taskAppId isEqual:[NSNull null]] && [strongSelf->taskAppId length] > 0) {
|
||||
[weakSelf appKill:strongSelf->taskAppId];
|
||||
[weakSelf unlock];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), strongSelf.manQueue, ^{
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), strongSelf.manQueue, ^{
|
||||
[weakSelf unlock];
|
||||
[weakSelf resetApp:strongSelf->taskAppId callback:callback];
|
||||
});
|
||||
@ -509,72 +568,15 @@ BOOL myadTaskManualStop = NO;
|
||||
NSLog(@"Error in restart: %@", exception);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
- (void)rndTouchApp {
|
||||
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 {
|
||||
NSLog(@"getStr: %@", key);
|
||||
|
||||
@ -35,21 +35,12 @@ void startSimpleServer(void) {
|
||||
// 在主队列初始化关键服务
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[[IPhoneHertbeat sharedInstance] start];
|
||||
[[IosSystemCmd sharedInstance] start];
|
||||
// [[IosSystemCmd sharedInstance] start];
|
||||
});
|
||||
|
||||
// 在服务器队列中处理服务器相关操作
|
||||
dispatch_async(serverQueue, ^{
|
||||
@autoreleasepool {
|
||||
// 初始化发送者ID
|
||||
// 启动日志
|
||||
pushIphoneLog(@"on start simple server!!!");
|
||||
|
||||
|
||||
|
||||
// 完成日志
|
||||
pushIphoneLog(@"on start simple server -ok");
|
||||
|
||||
// 服务器端
|
||||
// MessagePortServer *server = [[MessagePortServer alloc] init];
|
||||
// [server startServer];
|
||||
|
||||
@ -22,42 +22,25 @@
|
||||
/**
|
||||
获取当前应用
|
||||
*/
|
||||
SBApplication* XSGetFrontMostApplication(void)
|
||||
{
|
||||
//TODO: might cause problem here. Both _accessibilityFrontMostApplication failed or front most application springboard will cause app be nil.
|
||||
SBApplication* XSGetFrontMostApplication(void) {
|
||||
__block id app = nil;
|
||||
NSLog(@"XS- getFrontMostApplication");
|
||||
|
||||
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
|
||||
dispatch_sync(dispatch_get_main_queue(), ^{
|
||||
@try{
|
||||
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
@try {
|
||||
SpringBoard *springboard = (SpringBoard *)[UIApplication sharedApplication];
|
||||
//SpringBoard *springboard = (SpringBoard*)[%c(SpringBoard) sharedApplication];
|
||||
if ([springboard respondsToSelector:@selector(_accessibilityFrontMostApplication)]) {
|
||||
app = [springboard performSelector:@selector(_accessibilityFrontMostApplication)];
|
||||
NSLog(@"XS- Simulated home button press, %@", app);
|
||||
app = [springboard _accessibilityFrontMostApplication];
|
||||
}
|
||||
// app = [springboard _accessibilityFrontMostApplication];
|
||||
//NSLog(@"com.zjx.springboard: app: %@, id: %@", app, [app displayIdentifier]);
|
||||
|
||||
}
|
||||
@catch (NSException *exception) {
|
||||
NSLog(@"XS-: Debug: %@", exception.reason);
|
||||
} @catch (NSException *exception) {
|
||||
NSLog(@"XS- Debug: %@", exception.reason);
|
||||
}
|
||||
dispatch_semaphore_signal(semaphore);
|
||||
});
|
||||
// 设置超时时间为5秒
|
||||
dispatch_time_t timeout = dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC);
|
||||
|
||||
// 等待信号量,最多等待5秒
|
||||
long result = dispatch_semaphore_wait(semaphore, timeout);
|
||||
|
||||
if (result == 0) {
|
||||
// 在超时之前收到了信号
|
||||
NSLog(@"XSGetFrontMostApplication end");
|
||||
} else {
|
||||
// 超时
|
||||
NSLog(@"XSGetFrontMostApplication 等待超时");
|
||||
if (dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC)) != 0) {
|
||||
NSLog(@"XSGetFrontMostApplication timeout");
|
||||
}
|
||||
|
||||
return app;
|
||||
@ -189,9 +172,27 @@ int kill2(NSString *appexe) {
|
||||
}
|
||||
|
||||
|
||||
int XSKillAppByName(NSString *pkgName){
|
||||
NSString* appexe = XSGetAppExecutable(pkgName);
|
||||
return kill2(appexe);
|
||||
int XSKillAppByName(NSString *pkgName) {
|
||||
NSString *appexe = XSGetAppExecutable(pkgName);
|
||||
if (!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;
|
||||
}
|
||||
|
||||
|
||||
@ -690,45 +691,31 @@ void XSCleanSafari(void) {
|
||||
void XSCleanKeychain(void) {
|
||||
NSFileManager* man = [NSFileManager defaultManager];
|
||||
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/");
|
||||
sqlite3* ppDb;
|
||||
sqlite3* ppDb = NULL;
|
||||
char cmd[256];
|
||||
if (0 == sqlite3_open("/tmp/keychain-2.db", &ppDb)) {
|
||||
int rc = 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'");
|
||||
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'");
|
||||
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'");
|
||||
sqlite3_exec(ppDb, cmd, 0, 0, 0);
|
||||
/*
|
||||
char *cmds1[] = {
|
||||
cpCmd,
|
||||
"/tmp/keychain-2.*",
|
||||
"/var/Keychains/",
|
||||
NULL
|
||||
};
|
||||
*/
|
||||
//XSRuncmd(cmds1);
|
||||
|
||||
// 关键:关闭数据库,释放 /private/var/tmp/keychain-2.db 句柄
|
||||
sqlite3_close(ppDb);
|
||||
ppDb = NULL;
|
||||
|
||||
XSSystem("cp /tmp/keychain-2.* /var/Keychains/");
|
||||
} else {
|
||||
// 打开失败也要确保关闭
|
||||
if (ppDb) {
|
||||
sqlite3_close(ppDb);
|
||||
ppDb = NULL;
|
||||
}
|
||||
NSLog(@"XSCleanKeychain: sqlite3_open failed: %d", rc);
|
||||
}
|
||||
//free(cpCmd);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1178,62 +1165,68 @@ 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_stdout[2];
|
||||
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;
|
||||
}
|
||||
|
||||
if (pipe(p_stdout) == -1) {
|
||||
NSLog(@"system2: Failed to create stdout pipe: %s", strerror(errno));
|
||||
close(p_stdin[0]);
|
||||
close(p_stdin[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
pid = fork();
|
||||
posix_spawn_file_actions_t actions;
|
||||
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]);
|
||||
|
||||
if (pid < 0) {
|
||||
close(p_stdin[0]);
|
||||
char *argv[] = {"/bin/sh", "-c", (char *)command, NULL};
|
||||
int status = posix_spawn(&pid, "/bin/sh", &actions, NULL, argv, environ);
|
||||
|
||||
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_stdout[0]);
|
||||
close(p_stdout[1]);
|
||||
return pid;
|
||||
} else if (pid == 0) {
|
||||
close(p_stdin[1]);
|
||||
dup2(p_stdin[0], 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);
|
||||
return -1;
|
||||
}
|
||||
|
||||
close(p_stdin[0]);
|
||||
close(p_stdout[1]);
|
||||
|
||||
if (infp == NULL) {
|
||||
close(p_stdin[1]);
|
||||
// 返回父进程需要的文件描述符
|
||||
if (infp) {
|
||||
*infp = p_stdin[1]; // 父进程写入到子进程的stdin
|
||||
} else {
|
||||
*infp = p_stdin[1];
|
||||
close(p_stdin[1]);
|
||||
}
|
||||
|
||||
if (outfp == NULL) {
|
||||
close(p_stdout[0]);
|
||||
if (outfp) {
|
||||
*outfp = p_stdout[0]; // 父进程从子进程的stdout读取
|
||||
} else {
|
||||
*outfp = p_stdout[0];
|
||||
close(p_stdout[0]);
|
||||
}
|
||||
|
||||
if (pid > 0)
|
||||
{
|
||||
waitpid(pid, NULL, 0);
|
||||
if (pid > 0) {
|
||||
int status = 0;
|
||||
waitpid(pid, &status, 0);
|
||||
}
|
||||
return pid;
|
||||
}
|
||||
|
||||
@ -44,7 +44,6 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
|
||||
|
||||
@interface XSHttpHelper () {
|
||||
@private NSString *apikey;
|
||||
@private NSURLSession *_session; // 新增session实例变量
|
||||
|
||||
}
|
||||
|
||||
@ -57,11 +56,7 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
|
||||
if (self = [super init]) {
|
||||
apikey = [[XSPhoneConfig sharedInstance] ApiKey];
|
||||
self.timeoutInterval = 15.0; // 默认超时时间15秒
|
||||
// 创建并重用一个NSURLSession实例
|
||||
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||
configuration.timeoutIntervalForRequest = self.timeoutInterval;
|
||||
configuration.timeoutIntervalForResource = self.timeoutInterval;
|
||||
self->_session = [NSURLSession sessionWithConfiguration:configuration delegate:[[SSLBypassDelegate alloc] init] delegateQueue:nil];
|
||||
// 移除重用 session 的创建
|
||||
return self;
|
||||
}
|
||||
return nil;
|
||||
@ -80,8 +75,13 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
|
||||
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
|
||||
[request setValue:self->apikey forHTTPHeaderField:@"apikey"];
|
||||
|
||||
// 使用重用的session
|
||||
self.dataTask = [self->_session dataTaskWithRequest:request
|
||||
// 每次请求创建新 session
|
||||
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||
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)
|
||||
{
|
||||
NSLog(@"XS- http get res");
|
||||
@ -144,8 +144,13 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
|
||||
NSData *bodyData = [XSHelper str2Data:json];
|
||||
[request setHTTPBody:bodyData];
|
||||
|
||||
// 使用重用的session
|
||||
self.postDataTask = [self->_session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
|
||||
// 每次请求创建新 session
|
||||
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||
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) {
|
||||
NSLog(@"XS- post error : %@", error);
|
||||
errorCallback(error);
|
||||
|
||||
87
batch_ssh.sh
Normal file
87
batch_ssh.sh
Normal file
@ -0,0 +1,87 @@
|
||||
#!/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"
|
||||
41
execute_command.py
Normal file
41
execute_command.py
Normal file
@ -0,0 +1,41 @@
|
||||
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)
|
||||
@ -14,7 +14,7 @@ TWEAK_NAME = OhNo
|
||||
|
||||
|
||||
OhNo_FRAMEWORKS = CoreLocation CFNetwork CoreTelephony Security
|
||||
OhNo_FILES = Tweak.x XSLog.m
|
||||
OhNo_FILES = Tweak.x XSLog.m XHookSettingsManager.m
|
||||
OhNo_CFLAGS = -Wno-error -Wno-module-import-in-extern-c -fobjc-arc
|
||||
|
||||
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
#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
70
ios-change-info/XHookSettingsManager.h
Normal file
70
ios-change-info/XHookSettingsManager.h
Normal file
@ -0,0 +1,70 @@
|
||||
//
|
||||
// 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]
|
||||
|
||||
232
ios-change-info/XHookSettingsManager.m
Normal file
232
ios-change-info/XHookSettingsManager.m
Normal file
@ -0,0 +1,232 @@
|
||||
//
|
||||
// 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
16
ips.txt
@ -1 +1,15 @@
|
||||
192.168.31.103
|
||||
172.29.107.25
|
||||
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
|
||||
|
||||
@ -3,20 +3,20 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IpDevName</key>
|
||||
<string>CineLookStudio</string>
|
||||
<string>ImagePixel</string>
|
||||
<key>MainServerURL</key>
|
||||
<string>http://192.168.40.8:8080</string>
|
||||
<key>PackageName</key>
|
||||
<string>com.cineLookStudio.cineLookStudio</string>
|
||||
<string>com.imagePixelFactory.imagePixelFactory</string>
|
||||
<key>ServerURL</key>
|
||||
<string>https://nks-api.i.explore-sun.com</string>
|
||||
<key>WashParam</key>
|
||||
<false/>
|
||||
<key>deviceId</key>
|
||||
<string>6256EAE6-38C2-4110-8150-58F9C7918B4E</string>
|
||||
<string>8DCA89B4-6D3F-4FAA-8388-61758B11B555</string>
|
||||
<key>lastReboot</key>
|
||||
<integer>1762077063</integer>
|
||||
<integer>1761185614</integer>
|
||||
<key>senderId</key>
|
||||
<integer>4294967950</integer>
|
||||
<integer>4294968678</integer>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@ -9,7 +9,7 @@ username = 'root'
|
||||
password = 'alpine'
|
||||
# packagename = 'com.funny.prank.call'
|
||||
|
||||
def moveRemote(hostname:str, packagename:str,serverurl:str):
|
||||
def moveRemote(hostname:str, name:str,pkg:str, serverurl:str, wash:bool=False):
|
||||
# 创建SSH传输通道
|
||||
transport = paramiko.Transport((hostname, port))
|
||||
transport.set_keepalive(5)
|
||||
@ -28,10 +28,10 @@ def moveRemote(hostname:str, packagename:str,serverurl:str):
|
||||
|
||||
with open(local_path, 'rb') as fp:
|
||||
configPlist = plistlib.load(fp)
|
||||
configPlist['IpDevName'] = packagename
|
||||
configPlist['IpDevName'] = name
|
||||
configPlist['ServerURL'] = serverurl
|
||||
configPlist['PackageName'] = 'com.cineLookStudio.cineLookStudio'
|
||||
configPlist['WashParam'] = False
|
||||
configPlist['PackageName'] = pkg
|
||||
configPlist['WashParam'] = wash
|
||||
configPlist['MainServerURL'] = "http://192.168.40.8:8080"
|
||||
|
||||
with open(local_path, 'wb') as fp:
|
||||
@ -57,6 +57,6 @@ if __name__ == "__main__":
|
||||
for it in ips1:
|
||||
try:
|
||||
print(it)
|
||||
moveRemote(it,"CineLookStudio", "https://nks-api.i.explore-sun.com")
|
||||
moveRemote(it,"ImagePixel", 'com.imagePixelFactory.imagePixelFactory', "https://nks-api.i.explore-sun.com", False)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
42
myssh.sh
Normal file
42
myssh.sh
Normal file
@ -0,0 +1,42 @@
|
||||
#!/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"
|
||||
BIN
packages/20251119-nt-newapi.deb
Normal file
BIN
packages/20251119-nt-newapi.deb
Normal file
Binary file not shown.
BIN
packages/20251121-nt-newapi.deb
Normal file
BIN
packages/20251121-nt-newapi.deb
Normal file
Binary file not shown.
BIN
packages/20251121-nt-newapi1.deb
Normal file
BIN
packages/20251121-nt-newapi1.deb
Normal file
Binary file not shown.
BIN
packages/20251121-nt-newapi2.deb
Normal file
BIN
packages/20251121-nt-newapi2.deb
Normal file
Binary file not shown.
BIN
packages/251125-06.deb
Normal file
BIN
packages/251125-06.deb
Normal file
Binary file not shown.
BIN
packages/251127-nt-01.deb
Normal file
BIN
packages/251127-nt-01.deb
Normal file
Binary file not shown.
BIN
packages/251128-nt-01.deb
Normal file
BIN
packages/251128-nt-01.deb
Normal file
Binary file not shown.
BIN
packages/251128-nt-02.deb
Normal file
BIN
packages/251128-nt-02.deb
Normal file
Binary file not shown.
BIN
packages/251201-nt-01.deb
Normal file
BIN
packages/251201-nt-01.deb
Normal file
Binary file not shown.
BIN
packages/251202-nt-01.deb
Normal file
BIN
packages/251202-nt-01.deb
Normal file
Binary file not shown.
@ -3,7 +3,7 @@ import socket
|
||||
|
||||
data = """
|
||||
{
|
||||
"url": "/adtask/show"
|
||||
"url": "/start",
|
||||
}
|
||||
""".encode('utf-8')
|
||||
|
||||
|
||||
42
upload_file.py
Normal file
42
upload_file.py
Normal file
@ -0,0 +1,42 @@
|
||||
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)
|
||||
Loading…
Reference in New Issue
Block a user