diff --git a/STCDefination.h b/STCDefination.h index 4c68c52..267d6d7 100644 --- a/STCDefination.h +++ b/STCDefination.h @@ -139,9 +139,6 @@ #ifndef SDWebImageCombinedOperation #define SDWebImageCombinedOperation _STC4A67C81062FFB09CD7DDBB52215D72A5_ #endif -#ifndef serializer -#define serializer _STCF3FD8E1EFA847CCF3622D0768BA82665_ -#endif #ifndef cachePathForKey #define cachePathForKey _STC2BD38762C83998FEA4B5DDC1DE30C92B_ #endif @@ -202,9 +199,6 @@ #ifndef diskImageForKey #define diskImageForKey _STCF877AC81169C4F414CA798A87E5336E9_ #endif -#ifndef defaultPolicy -#define defaultPolicy _STC79A1234797AFF55F08077C4FD617CD93_ -#endif #ifndef shouldDecodeImage #define shouldDecodeImage _STC3F697CF47265D41D1BC4070895DF7592_ #endif @@ -283,9 +277,6 @@ #ifndef storeImageDataToDisk #define storeImageDataToDisk _STC35D9664E535C618B5BDF345017AA4043_ #endif -#ifndef validateResponse -#define validateResponse _STC1CA8F6B32B98D703F7C527D85291EA15_ -#endif #ifndef HEAD #define HEAD _STC7D01E935D238069E407AF2705562CEE1_ #endif @@ -316,9 +307,6 @@ #ifndef evaluateServerTrust #define evaluateServerTrust _STC01308F0D37F55A4C7071A90CEB31ED5A_ #endif -#ifndef forDomain -#define forDomain _STC33F5DDE97899B3B3DE0CC593C6358489_ -#endif #ifndef networkRequestDidStart #define networkRequestDidStart _STC7AE445D905496DD5C2BA52F2D7910617_ #endif @@ -349,9 +337,6 @@ #ifndef startMergedTask #define startMergedTask _STC10E77B98127FC1C2984CFC0E8089075B_ #endif -#ifndef cancelAllDownloads -#define cancelAllDownloads _STCF365505AFE4F6762275666B6E3734D17_ -#endif #ifndef isActiveRequestCountBelowMaximumLimit #define isActiveRequestCountBelowMaximumLimit _STCBC9BCABE79AEE35935A6A198E73510BA_ #endif @@ -439,9 +424,6 @@ #ifndef cancelInternal #define cancelInternal _STC96F74B285474121E112FFA4E6A6DCE90_ #endif -#ifndef getSize -#define getSize _STC0AFDDCEF914C9C5C0DF03B5064B11D61_ -#endif #ifndef diskImageDataExistsWithKey #define diskImageDataExistsWithKey _STC82EF090905AB1ECF6B172D05AA744924_ #endif @@ -727,15 +709,6 @@ #ifndef setLastAccessDate #define setLastAccessDate set_STC0072DCEF42EF11BFAA57545C81B33437_ #endif -#ifndef taskDidComplete -#define taskDidComplete _STC0B7228ED8E6196A7CC101CF9CEF47697_ -#endif -#ifndef _taskDidComplete -#define _taskDidComplete __STC0B7228ED8E6196A7CC101CF9CEF47697_ -#endif -#ifndef setTaskDidComplete -#define setTaskDidComplete set_STC0B7228ED8E6196A7CC101CF9CEF47697_ -#endif #ifndef shouldUseCredentialStorage #define shouldUseCredentialStorage _STC74342D8A939F07CC91D7D8753EB7F306_ #endif @@ -772,15 +745,6 @@ #ifndef setDownloadPrioritizaton #define setDownloadPrioritizaton set_STCF34844C0009B7A20EEB6E6A643AF3013_ #endif -#ifndef fileManager -#define fileManager _STCFF05D65A1A51C5A46775C7766288ABA6_ -#endif -#ifndef _fileManager -#define _fileManager __STCFF05D65A1A51C5A46775C7766288ABA6_ -#endif -#ifndef setFileManager -#define setFileManager set_STCFF05D65A1A51C5A46775C7766288ABA6_ -#endif #ifndef maxMemoryCountLimit #define maxMemoryCountLimit _STCD76456AEA24F67BE1BBE2269586856AA_ #endif @@ -907,15 +871,6 @@ #ifndef setCompletionDelayTimer #define setCompletionDelayTimer set_STC52309E07DED8E84C6AB113999BA2457D_ #endif -#ifndef downloadProgressBlock -#define downloadProgressBlock _STC22B80933A66FF262CADE54F9CE60BF2B_ -#endif -#ifndef _downloadProgressBlock -#define _downloadProgressBlock __STC22B80933A66FF262CADE54F9CE60BF2B_ -#endif -#ifndef setDownloadProgressBlock -#define setDownloadProgressBlock set_STC22B80933A66FF262CADE54F9CE60BF2B_ -#endif #ifndef cacheOperation #define cacheOperation _STCCD4C929A35A640788AF163F0778DDF5F_ #endif @@ -1105,15 +1060,6 @@ #ifndef setNetworkReachabilityStatus #define setNetworkReachabilityStatus set_STCD3B862A42B64159E3379225027753D7B_ #endif -#ifndef diskCachePath -#define diskCachePath _STC8BFFC467F8F60ACA7C4CBB14553C209E_ -#endif -#ifndef _diskCachePath -#define _diskCachePath __STC8BFFC467F8F60ACA7C4CBB14553C209E_ -#endif -#ifndef setDiskCachePath -#define setDiskCachePath set_STC8BFFC467F8F60ACA7C4CBB14553C209E_ -#endif #ifndef requestHeaderModificationQueue #define requestHeaderModificationQueue _STC484681E6731119FD60C981D91C2D8A03_ #endif @@ -1132,15 +1078,6 @@ #ifndef setPropertyforKey #define setPropertyforKey set_STCECBCBEC3FFA37DDCFF37683BFA05B1BD_ #endif -#ifndef cachedData -#define cachedData _STC074F63E5953C3CA949C58755EE82C075_ -#endif -#ifndef _cachedData -#define _cachedData __STC074F63E5953C3CA949C58755EE82C075_ -#endif -#ifndef setCachedData -#define setCachedData set_STC074F63E5953C3CA949C58755EE82C075_ -#endif #ifndef coders #define coders _STC1FA9DAD928A44DDABFE1E03D21747967_ #endif @@ -1240,15 +1177,6 @@ #ifndef setHTTPBodyPartEnumerator #define setHTTPBodyPartEnumerator set_STCFFDFAD3016C50A582836D980BE1DAE32_ #endif -#ifndef responseQueue -#define responseQueue _STC2862AB9FD4790F44C050A0C08A1F0E36_ -#endif -#ifndef _responseQueue -#define _responseQueue __STC2862AB9FD4790F44C050A0C08A1F0E36_ -#endif -#ifndef setResponseQueue -#define setResponseQueue set_STC2862AB9FD4790F44C050A0C08A1F0E36_ -#endif #ifndef uploadTasks #define uploadTasks _STCCA4AC171A873DBD8AAE02F606C1B7127_ #endif @@ -1690,15 +1618,6 @@ #ifndef setTaskDescriptionForSessionTasks #define setTaskDescriptionForSessionTasks set_STC82C81D9A2C47F8638D55142174F7050D_ #endif -#ifndef downloadProgress -#define downloadProgress _STCA8091C71177CA1AA54C68CEB1BC3DBE3_ -#endif -#ifndef _downloadProgress -#define _downloadProgress __STCA8091C71177CA1AA54C68CEB1BC3DBE3_ -#endif -#ifndef setDownloadProgress -#define setDownloadProgress set_STCA8091C71177CA1AA54C68CEB1BC3DBE3_ -#endif #ifndef pinnedPublicKeys #define pinnedPublicKeys _STC521BB24C9DC67536ABDC2935993F2207_ #endif diff --git a/STCObfuscator.podspec b/STCObfuscator.podspec index 1568707..fe95e20 100644 --- a/STCObfuscator.podspec +++ b/STCObfuscator.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'STCObfuscator' s.summary = 'Objective-C obfuscator for Mach-O executables, a runtime utility for obfuscating Objective-C class..' - s.version = '1.2.0' + s.version = '1.3.0' s.license = { :type => 'MIT', :file => 'LICENSE' } s.authors = { 'chenxiancai' => 'chenxiancai@hotmail.com' } s.homepage = 'https://github.com/chenxiancai/STCObfuscator' diff --git a/STCObfuscator.xcworkspace/xcuserdata/chenxiancai.xcuserdatad/UserInterfaceState.xcuserstate b/STCObfuscator.xcworkspace/xcuserdata/chenxiancai.xcuserdatad/UserInterfaceState.xcuserstate index e43f9c4..615e083 100644 Binary files a/STCObfuscator.xcworkspace/xcuserdata/chenxiancai.xcuserdatad/UserInterfaceState.xcuserstate and b/STCObfuscator.xcworkspace/xcuserdata/chenxiancai.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/STCObfuscator/STCObfuscator/STCObfuscator.m b/STCObfuscator/STCObfuscator/STCObfuscator.m index b71f415..f35ca20 100644 --- a/STCObfuscator/STCObfuscator/STCObfuscator.m +++ b/STCObfuscator/STCObfuscator/STCObfuscator.m @@ -12,6 +12,33 @@ #import #include "ahocorasick.h" +@interface NSString (STCObfuscator) + +- (NSString *)stcSubstringToIndex:(NSInteger)index; + +- (NSString *)stcSubstringFromIndex:(NSInteger)index; + +@end + +@implementation NSString (STCObfuscator) +- (NSString *)stcSubstringToIndex:(NSInteger)index +{ + if ([self length] > index){ + return [self substringToIndex:index]; + } + return self; +} + +- (NSString *)stcSubstringFromIndex:(NSInteger)index +{ + if ([self length] > index){ + return [self substringFromIndex:index]; + } + return self; +} + +@end + #if (DEBUG == 1) @implementation STCObfuscator @@ -186,8 +213,8 @@ - (void)confuseWithRootPath:(NSString *)rootPath && [setMethod hasSuffix:@":"]) { NSString *getMethod = [setMethod stringByReplacingOccurrencesOfString:@"set" withString:@""]; getMethod = [getMethod stringByReplacingOccurrencesOfString:@":" withString:@""]; - if ([[[getMethod substringToIndex:1] uppercaseString] isEqualToString:[[method substringToIndex:1]uppercaseString]] - && [[getMethod substringFromIndex:1] isEqualToString:[method substringFromIndex:1]]) { + if ([[[getMethod stcSubstringToIndex:1] uppercaseString] isEqualToString:[[method stcSubstringToIndex:1]uppercaseString]] + && [[getMethod stcSubstringFromIndex:1] isEqualToString:[method stcSubstringFromIndex:1]]) { [confuseProperty addEntriesFromDictionary:@{method: @(YES)}]; [indexSet addIndex:index]; [indexSet addIndex:setIndex]; @@ -232,9 +259,9 @@ - (void)confuseWithRootPath:(NSString *)rootPath [unConfuseSymbolsDict addEntriesFromDictionary:@{section: @(YES)}]; // filter set method } else if ([method hasPrefix:@"set"] && [method hasSuffix:@":"]) { - NSString *property = [method substringFromIndex:3]; + NSString *property = [method stcSubstringFromIndex:3]; property = [property stringByReplacingOccurrencesOfString:@":" withString:@""]; - property = [[[property substringToIndex:1] lowercaseString] stringByAppendingString:[property substringFromIndex:1]]; + property = [[[property stcSubstringToIndex:1] lowercaseString] stringByAppendingString:[property stcSubstringFromIndex:1]]; [confuseProperty addEntriesFromDictionary:@{property: @(YES)}]; [indexSet addIndex:index]; [unConfuseSymbolsDict addEntriesFromDictionary:@{section: @(YES)}]; @@ -256,8 +283,8 @@ - (void)confuseWithRootPath:(NSString *)rootPath NSMutableSet *removeProperty = [NSMutableSet set]; [confuseProperty.allKeys enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { NSString *property = (NSString *)obj; - NSString *headerStr = [[property substringToIndex:1] uppercaseString]; - NSString *tailStr = [property substringFromIndex:1]; + NSString *headerStr = [[property stcSubstringToIndex:1] uppercaseString]; + NSString *tailStr = [property stcSubstringFromIndex:1]; NSString *similarProperty = [headerStr stringByAppendingString:tailStr]; if (![property isEqualToString:similarProperty]) { [confuseProperty.allKeys enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { @@ -319,8 +346,8 @@ - (void)confuseWithRootPath:(NSString *)rootPath NSString *property = (NSString *)obj; NSString *str = [property stringByReplacingOccurrencesOfString:@" " withString:@""]; - NSString *setStr = [@"set" stringByAppendingString:[[str substringToIndex:1] uppercaseString]]; - setStr = [setStr stringByAppendingString:[str substringFromIndex:1]]; + NSString *setStr = [@"set" stringByAppendingString:[[str stcSubstringToIndex:1] uppercaseString]]; + setStr = [setStr stringByAppendingString:[str stcSubstringFromIndex:1]]; if (str.length > 1 && ![[unConfuseSymbolsDict objectForKey:str] boolValue] && ![[unConfuseSymbolsDict objectForKey:setStr] boolValue] @@ -341,8 +368,8 @@ - (void)confuseWithRootPath:(NSString *)rootPath [jsonObjects addEntriesFromDictionary:@{[@"_" stringByAppendingString:encryptStr]: [@"_" stringByAppendingString:str]}]; // setter - NSString *firstStr = [[str substringToIndex:1] uppercaseString]; - NSString *otherStr = [str substringFromIndex:1]; + NSString *firstStr = [[str stcSubstringToIndex:1] uppercaseString]; + NSString *otherStr = [str stcSubstringFromIndex:1]; newStr = [NSString stringWithFormat:@"#ifndef set%@%@\n#define set%@%@ set%@\n#endif\n", firstStr, otherStr,firstStr,otherStr, encryptStr]; [result appendString:newStr]; [jsonObjects addEntriesFromDictionary:@{[@"set" stringByAppendingString:encryptStr]: [@"set" stringByAppendingString:str]}]; @@ -388,8 +415,8 @@ - (void)confuseWithRootPath:(NSString *)rootPath [hardCodeStr appendString:[NSString stringWithFormat:@"#define %@ %@ \n", hardCode, hardCode]]; [hardCodeStr appendString:[NSString stringWithFormat:@"#define _%@ _%@ \n", hardCode, hardCode]]; - NSString *setStr = [@"set" stringByAppendingString:[[hardCode substringToIndex:1] uppercaseString]]; - setStr = [setStr stringByAppendingString:[hardCode substringFromIndex:1]]; + NSString *setStr = [@"set" stringByAppendingString:[[hardCode stcSubstringToIndex:1] uppercaseString]]; + setStr = [setStr stringByAppendingString:[hardCode stcSubstringFromIndex:1]]; [hardCodeStr appendString:[NSString stringWithFormat:@"#define %@ %@ \n", setStr, setStr]]; isProperty = YES; *stop = YES; @@ -457,15 +484,18 @@ - (NSMutableDictionary *)systemSymbolsDict const char ** images = objc_copyImageNames(&imageOutCount); for (unsigned int i = 0; i < imageOutCount; i++) { NSString *imageName = [NSString stringWithUTF8String:images[i]]; - + + //NSParagraphStyle Framework: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIFoundation.framework/UIFoundation, 私有库的类也会放到公开库中使用 + /* if ([imageName containsString:@"PrivateFrameworks"]) { continue; } - + */ if ([imageName containsString:@".framework"] ||[imageName containsString:@".dylib"]) { const char ** class = objc_copyClassNamesForImage(images[i], &classOutCount); for (unsigned int k = 0; k < classOutCount; k++) { + Class cls = NSClassFromString([NSString stringWithUTF8String:class[k]]); [classSet addObject:[NSString stringWithUTF8String:class[k]]]; @@ -552,8 +582,8 @@ - (NSMutableDictionary *)getSymbolsDictWith:(NSArray *)protocols classSet:(NSSet if (![name hasPrefix:@"_"]) { [symbolsDict addEntriesFromDictionary:@{name: @(YES)}]; [symbolsDict addEntriesFromDictionary:@{[@"_" stringByAppendingString:name]: @(YES)}]; - NSString *setStr = [@"set" stringByAppendingString:[[name substringToIndex:1] uppercaseString]]; - [symbolsDict addEntriesFromDictionary:@{[setStr stringByAppendingString:[name substringFromIndex:1]]: @(YES)}]; + NSString *setStr = [@"set" stringByAppendingString:[[name stcSubstringToIndex:1] uppercaseString]]; + [symbolsDict addEntriesFromDictionary:@{[setStr stringByAppendingString:[name stcSubstringFromIndex:1]]: @(YES)}]; } } NSArray *methods = [self allMethodsWithClass:NSClassFromString(className)]; @@ -1049,4 +1079,5 @@ - (BOOL)isPropertyWithClass:(Class)class andProperty:(NSString *)propertyName } @end + #endif diff --git a/confuse.json b/confuse.json index 5da6ea8..d5743c6 100644 --- a/confuse.json +++ b/confuse.json @@ -6,10 +6,9 @@ "_STC8C32941CA5C811FC859016AEF05BDABC_" : "objectforKeycost", "_STCDEA3A067F1DC863F34937395E1846E1C_" : "downloadTasks", "_STC417F06A87DD6B2190EB038B4A893CD53_" : "POST", - "set_STC14C62D01A77E5841F405021D0BBE0931_" : "setrunningOperations", "set_STC5484227375C876228B8C45D2632665A0_" : "setcallbacksLock", - "_STCDD9B7C854ACFA2A29A7DE5F72A65B67C_" : "completedBlock", "__STC7D7C183EE21D8E9AB4AF03633DAE792A_" : "_requestedCount", + "_STCDD9B7C854ACFA2A29A7DE5F72A65B67C_" : "completedBlock", "_STC0FC227AE30B45D63671B6E26B38FA75A_" : "requestSerializer", "set_STCF34844C0009B7A20EEB6E6A643AF3013_" : "setdownloadPrioritizaton", "_STC14CA7ECDBCBAB2FB440826F6DE977EC2_" : "shouldCacheImagesInMemory", @@ -17,7 +16,6 @@ "_STCAEA2DA201D0766CCC7CD50C10CB6D08E_" : "headersLock", "_STCD3B862A42B64159E3379225027753D7B_" : "networkReachabilityStatus", "_STCAE238ADF8EE478E19006AFC0D1D7D2EC_" : "SDWebImageManager", - "set_STC8BFFC467F8F60ACA7C4CBB14553C209E_" : "setdiskCachePath", "__STC82C81D9A2C47F8638D55142174F7050D_" : "_taskDescriptionForSessionTasks", "set_STCD6103B944B8B543E49EC2B00D9E9F81D_" : "setpreferredMemoryUsageAfterPurge", "__STC9442A62B190BED96E8EE25E76566C0D8_" : "_downloadTaskDidWriteData", @@ -64,14 +62,13 @@ "__STC484681E6731119FD60C981D91C2D8A03_" : "_requestHeaderModificationQueue", "_STCE2E0AE0F976E81F4C8DB4926D04DE4ED_" : "isReachableViaWiFi", "_STC5FF51A15BFC058E1481E552A4095300F_" : "ownedSession", - "_STCFF05D65A1A51C5A46775C7766288ABA6_" : "fileManager", "set_STCF6D381DE01B38B394047B8E4B95299E2_" : "setmaxMemoryCost", "set_STCBFFA9F8EB39C1A6E36E12EDCF9FB3AE7_" : "setURLOperations", "_STCED162E048E2341E84D422336EE7880CB_" : "addResponseHandler", "_STC25F165A2AA4E8EA336509A6BB55ADB72_" : "cancelActivationDelayTimer", "set_STCF0BFA64497192CF2A963E63EBCC48F87_" : "setactivationDelay", - "set_STCEBDDE77C36471C0E9EB7751748EDBFF5_" : "setbackgroundTaskId", "_STC2B69780570FC5F5499CC7183B586DA2C_" : "prepares", + "set_STCEBDDE77C36471C0E9EB7751748EDBFF5_" : "setbackgroundTaskId", "set_STC9B41CC8D58FCCEA97A3DBF62AB8F8DB8_" : "setremovesKeysWithNullValues", "__STCEBDDE77C36471C0E9EB7751748EDBFF5_" : "_backgroundTaskId", "set_STC6AD3649D36135D97548B7E3167CA68B3_" : "setprogressiveCoder", @@ -86,14 +83,12 @@ "__STC521BB24C9DC67536ABDC2935993F2207_" : "_pinnedPublicKeys", "__STC024CE08B8AB724C324450A40CC2DE06E_" : "_maxConcurrentDownloads", "__STC8C32941CA5C811FC859016AEF05BDABC_" : "_objectforKeycost", - "_STC22B80933A66FF262CADE54F9CE60BF2B_" : "downloadProgressBlock", "__STCBA72A97311A9A81DB83B24DF2E772F88_" : "_queryStringSerializationStyle", "_STC33B06F3F6384C0DA1B3537F38BAECF8A_" : "imageFromDiskCacheForKey", "set_STC260E24320D9C03EEA7E276BACB891594_" : "sethasFinalBoundary", "_STCB7C4BA5D74E88FDC061EF9F4692FF199_" : "canEncodeToHEICFormat", "__STCAD449B5176219E4E4CC77A2BEDC2353A_" : "_URLIdentifier", "_STC104E2709E51AA098FDD3845EA80CFDDA_" : "readOptions", - "_STC1CA8F6B32B98D703F7C527D85291EA15_" : "validateResponse", "set_STCBBBC0FA0F2199924DC43F698BBFE288C_" : "setdownloadTimeout", "_STC024CE08B8AB724C324450A40CC2DE06E_" : "maxConcurrentDownloads", "_STCFFDFAD3016C50A582836D980BE1DAE32_" : "HTTPBodyPartEnumerator", @@ -148,7 +143,6 @@ "_STCE4703B166380272DC075DD19C34906DB_" : "shouldUseWeakMemoryCache", "__STCF34844C0009B7A20EEB6E6A643AF3013_" : "_downloadPrioritizaton", "_STCDA5FE65E1786B33DA706AF7D80AA05B5_" : "SDWebImageImageIOCoder", - "set_STCFF05D65A1A51C5A46775C7766288ABA6_" : "setfileManager", "_STC0700E4B82AEDB07F05411010A0B7D600_" : "urlCredential", "_STC5B7C8D5A657516891423BC969AF8D9F3_" : "removeResponseHandler", "set_STC1FA9DAD928A44DDABFE1E03D21747967_" : "setcoders", @@ -167,8 +161,8 @@ "_STC4E8D1A8072A489C5256E13AACD41B249_" : "calculateSizeWithCompletionBlock", "set_STCA80E746015D49CE4EEDD5EB5BABBFED6_" : "setcodersLock", "_STC31A97550F6F7C961A6E398591B52684F_" : "callCompletionBlocksWithError", - "set_STC3363B1FF8A90958D5E173A964344C7D8_" : "setallowInvalidCertificates", "_STC3DBD6CDC1E13D68818C9131318082FA0_" : "bodyContentLength", + "set_STC3363B1FF8A90958D5E173A964344C7D8_" : "setallowInvalidCertificates", "_STC9B47D83459E783267FD67315EB5C68F2_" : "taskDidSendBodyData", "_STC997492F5B4CEB2031589DF8578A3633C_" : "SDWebImageCoderHelper", "_STC8619B9952E63A731AEFCFCAE79E0C516_" : "tasksForKeyPath", @@ -190,8 +184,8 @@ "__STC5C85F2E485E20912517319ABF36EE555_" : "_prefetchURLs", "set_STCD62167AC4DEA158EB0C08CDF2ECD3420_" : "setnetworkReachability", "_STCE25588432A65FDDBD474B9BE475913A5_" : "safelyRemoveOperationFromRunning", - "_STCC24C04011CF1F4AF6D438D20587EC2FC_" : "AFSecurityPolicy", "set_STC3DBD6CDC1E13D68818C9131318082FA0_" : "setbodyContentLength", + "_STCC24C04011CF1F4AF6D438D20587EC2FC_" : "AFSecurityPolicy", "set_STC5EAEE4E3EEAA9C57E385FFEC0ADD99F8_" : "setdataTaskDidReceiveResponse", "set_STC8D78A3C6289E76090139FE87086C2DA2_" : "setdetailItem", "_STC810A7FAB7CDDC6A47594E121527E3194_" : "delegateforTask", @@ -200,9 +194,8 @@ "_STC1A5CF22DB8D0D4A91ED409085E56E143_" : "addCoder", "set_STC5350101C14CBC40D2F929FBC7B883C31_" : "setmutableHTTPRequestHeaders", "_STC7AE445D905496DD5C2BA52F2D7910617_" : "networkRequestDidStart", - "_STCBFC0E3D441264D79B2B15AC596803DCA_" : "cancelPrefetching", "_STCA3A6BC2D5F83E0C5DA6582F9CF598BC2_" : "cacheKeyFilter", - "_STC0AFDDCEF914C9C5C0DF03B5064B11D61_" : "getSize", + "_STCBFC0E3D441264D79B2B15AC596803DCA_" : "cancelPrefetching", "_STC35D9664E535C618B5BDF345017AA4043_" : "storeImageDataToDisk", "_STC5350101C14CBC40D2F929FBC7B883C31_" : "mutableHTTPRequestHeaders", "_STC7DC0834F0022A2971AEBEE8E9DECF5D4_" : "startActivationDelayTimer", @@ -224,11 +217,9 @@ "set_STCC91EC3046431270FEBBF727E1E9CFFE7_" : "setcallbackBlocks", "__STC54A4CF4C10335AAE12350CBF8E8E1970_" : "_lastAddedOperation", "set_STC4F8FB3F5C4611F00B0B0EC7A636F372D_" : "setmutableObservedChangedKeyPaths", - "__STC22B80933A66FF262CADE54F9CE60BF2B_" : "_downloadProgressBlock", - "_STC79A1234797AFF55F08077C4FD617CD93_" : "defaultPolicy", "set_STC16084B1E051A04238A07306AEE4EE959_" : "setwriteOptions", - "set_STCFFF51EA86F408501C833F7B7C8D48565_" : "setHTTPBodyParts", "set_STCAA3ED4667BB98C515F2BB2F69680A396_" : "setdownloadOperationCancelToken", + "set_STCFFF51EA86F408501C833F7B7C8D48565_" : "setHTTPBodyParts", "_STC7D7C183EE21D8E9AB4AF03633DAE792A_" : "requestedCount", "_STCCC470753DE1DC703A5CAEA0DFE75468C_" : "setInitialAndFinalBoundaries", "_STCF4F37174D66D02F87227C182227B0B09_" : "diskImageDataBySearchingAllPathsForKey", @@ -284,7 +275,6 @@ "__STC6BB078403265505F46AAB52D58D42452_" : "_currentDownloadCount", "set_STCC476F92647BCD1ABE32B8B03598CC3F6_" : "setattemptsToRecreateUploadTasksForBackgroundSessions", "__STC7CD93829CF39A19D92D29CBDCBD5744B_" : "_unownedSession", - "_STC8BFFC467F8F60ACA7C4CBB14553C209E_" : "diskCachePath", "_STCAD449B5176219E4E4CC77A2BEDC2353A_" : "URLIdentifier", "_STCA299BD24195F350C38BAF99D0D602143_" : "enqueueMergedTask", "_STCBB0C71A72DBA8609BDC5346136F072A4_" : "materMethod", @@ -292,7 +282,6 @@ "__STC6A6CBF7E875313BA0DA2ACB78B676122_" : "_currentHTTPBodyPart", "__STCE4703B166380272DC075DD19C34906DB_" : "_shouldUseWeakMemoryCache", "_STCEBDDE77C36471C0E9EB7751748EDBFF5_" : "backgroundTaskId", - "__STC074F63E5953C3CA949C58755EE82C075_" : "_cachedData", "_STCEE872B3B1B3CDD481FB678B767BD6FBE_" : "PUT", "_STCE68E3F66B9E4F2E9EB025743A836F027_" : "AFHTTPResponseSerializer", "_STC709562BE963A416144FA017B350864C8_" : "dataTaskDidBecomeDownloadTask", @@ -300,20 +289,16 @@ "_STC6636ABEBAA65E07D174864D9A1940B01_" : "invalidateSessionCancelingTasks", "_STCF34844C0009B7A20EEB6E6A643AF3013_" : "downloadPrioritizaton", "__STCD6B1211104B7766A6FCC37300E3D8FBE_" : "_diskCacheWritingOptions", - "_STC074F63E5953C3CA949C58755EE82C075_" : "cachedData", - "_STC0B7228ED8E6196A7CC101CF9CEF47697_" : "taskDidComplete", "_STC932E4586D5F98F661C3EE45734A26E42_" : "weakCacheLock", "set_STC810A7FAB7CDDC6A47594E121527E3194_" : "setdelegateforTask", "set_STC70427C2131B8FC2AA2F26B74533478AE_" : "sethasInitialBoundary", "set_STC024CE08B8AB724C324450A40CC2DE06E_" : "setmaxConcurrentDownloads", - "__STCFF05D65A1A51C5A46775C7766288ABA6_" : "_fileManager", "_STC436F34BC67ED9164DE9609091F766784_" : "downloadOperation", "_STCC3CA41CBF4F1F6F947278C90A64019FC_" : "safelyStartNextTaskIfNecessary", "_STC486AF90A54DE0D50F9D2FB65DBE69B65_" : "addReadOnlyCachePath", "__STC3DBD6CDC1E13D68818C9131318082FA0_" : "_bodyContentLength", "set_STC82C81D9A2C47F8638D55142174F7050D_" : "settaskDescriptionForSessionTasks", "set_STC52309E07DED8E84C6AB113999BA2457D_" : "setcompletionDelayTimer", - "set_STC2862AB9FD4790F44C050A0C08A1F0E36_" : "setresponseQueue", "_STCD76456AEA24F67BE1BBE2269586856AA_" : "maxMemoryCountLimit", "set_STCC9C577ED708965F8E783D28921E758CD_" : "setvalidatesDomainName", "_STC412045453348AE93FD88812A8F226EB3_" : "AppDelegate", @@ -339,7 +324,6 @@ "__STC5484227375C876228B8C45D2632665A0_" : "_callbacksLock", "_STC749EC869FA92699490F188583F032436_" : "updateCurrentStateForNetworkActivityChange", "_STCB95B9FD93386FFE59C5AA947EF30BEB9_" : "coderQueue", - "set_STCA8091C71177CA1AA54C68CEB1BC3DBE3_" : "setdownloadProgress", "set_STCC494040248B379420290B710B0ED2687_" : "setpinnedCertificates", "_STC736DFEFE4C2E15D78FACF7407F6D20A8_" : "swizzleResumeAndSuspendMethodForClass", "set_STCD2EA3E3E28542B80CC3AD5AF52C0533E_" : "setactivationDelayTimer", @@ -365,7 +349,6 @@ "_STCE765BF912128EDAF3E40B4D7578F80A0_" : "failedURLs", "set_STC436F34BC67ED9164DE9609091F766784_" : "setdownloadOperation", "_STC84CE90B8569E9E8878F364B84DE5D26F_" : "defaultCachePathForKey", - "_STC2862AB9FD4790F44C050A0C08A1F0E36_" : "responseQueue", "__STCFFDFAD3016C50A582836D980BE1DAE32_" : "_HTTPBodyPartEnumerator", "__STC5350101C14CBC40D2F929FBC7B883C31_" : "_mutableHTTPRequestHeaders", "_STCF07BAD078EF8F9334B02F1851712E846_" : "requestWithMethod", @@ -396,7 +379,6 @@ "_STC89B249810D83A2876B3D12DBBDB9297E_" : "defaultPinnedCertificates", "_STC7ED3333B01EA32D8D935649175E385BE_" : "headersFilter", "_STC98C02E0781C10E540993044AFCA9D90A_" : "cacheSerializer", - "__STCA8091C71177CA1AA54C68CEB1BC3DBE3_" : "_downloadProgress", "set_STC50CED5A3499BD4A9F545DC833248F7B5_" : "setweakCache", "_STCBE0730751BAEF2E5028DA6016DF80B20_" : "AFAutoPurgingImageCache", "__STC5EAEE4E3EEAA9C57E385FFEC0ADD99F8_" : "_dataTaskDidReceiveResponse", @@ -407,14 +389,12 @@ "__STCB99480A329BDCB53BF0CD4F8D80A0180_" : "_customPaths", "set_STC47D321CCF73F491380C750724243CA63_" : "setfailedURLsLock", "__STC81202D3B04FF0D7D3D9FF47C556A52AC_" : "_dataTaskDidReceiveData", - "__STC2862AB9FD4790F44C050A0C08A1F0E36_" : "_responseQueue", "__STC86D351C972E35D53EDE7FA354CCB7D5B_" : "_queuedMergedTasks", "__STCE94B19A91362C6C35AFB9D8351701D93_" : "_didFinishEventsForBackgroundURLSession", "_STCF024F8601EF218BC80C93145F93C9B76_" : "AFPropertyListResponseSerializer", "__STCD598DD5B9A28A1C98507C9F5742298DB_" : "_runningOperationsLock", "_STC6B19B6AA60D70A647711AF489746909F_" : "networkReachabilityStatusBlock", "set_STC2B69780570FC5F5499CC7183B586DA2C_" : "setprepares", - "_STCA8091C71177CA1AA54C68CEB1BC3DBE3_" : "downloadProgress", "set_STC0FC227AE30B45D63671B6E26B38FA75A_" : "setrequestSerializer", "_STC8D78A3C6289E76090139FE87086C2DA2_" : "detailItem", "_STC4475119F7DB879D1AB5C3BA686538DDE_" : "AFHTTPBodyPart", @@ -485,29 +465,24 @@ "set_STC98DFF3DB10FF74E6CDE98F258A8AAE42_" : "setresponseHandlers", "set_STC6B19B6AA60D70A647711AF489746909F_" : "setnetworkReachabilityStatusBlock", "_STC9E257540EF6BA7527D045E9B3EDC1E3E_" : "completionDelay", - "set_STC074F63E5953C3CA949C58755EE82C075_" : "setcachedData", "_STCC91EC3046431270FEBBF727E1E9CFFE7_" : "callbackBlocks", "_STCBABDCF5A2A06BDF91144739AB3C4CDBB_" : "AFNetworkReachabilityManager", - "__STC0B7228ED8E6196A7CC101CF9CEF47697_" : "_taskDidComplete", - "set_STC5234E50032FE7FE435AF7ACA3AEB1942_" : "setuploadProgress", "__STC6B19B6AA60D70A647711AF489746909F_" : "_networkReachabilityStatusBlock", + "set_STC5234E50032FE7FE435AF7ACA3AEB1942_" : "setuploadProgress", "_STC4E629C8C350C8295ECD8F7767F962369_" : "sd_decompressedAndScaledDownImageWithImage", "set_STCB41DCC01ADD599B5B8C1B0DEE4D38D1B_" : "settaskWillPerformHTTPRedirection", - "_STCF3FD8E1EFA847CCF3622D0768BA82665_" : "serializer", "_STC379B7BA8BDE884E0F6D1F5B32827674C_" : "SDWebImagePrefetcher", "_STC5FD1B6B96598840476065338AE8F90E2_" : "HTTPHeaders", "__STC5232BE611D49D5102896A98401F71B9F_" : "_SSLPinningMode", - "_STC82E89DA1E1EC250EEE7A9D5A941200ED_" : "delegateForTask", "__STC6AD3649D36135D97548B7E3167CA68B3_" : "_progressiveCoder", + "_STC82E89DA1E1EC250EEE7A9D5A941200ED_" : "delegateForTask", "__STCF6D381DE01B38B394047B8E4B95299E2_" : "_maxMemoryCost", "_STC82C81D9A2C47F8638D55142174F7050D_" : "taskDescriptionForSessionTasks", "__STCBBC76E79294C81C45F5C5235DCE866CD_" : "_executionOrder", "set_STCF48871DD1FCDB7240306C24AD5A95577_" : "setHTTPMethodsEncodingParametersInURI", - "__STC8BFFC467F8F60ACA7C4CBB14553C209E_" : "_diskCachePath", + "set_STC0E95B80AC856F4EB2A74BE07358409D8_" : "setsessionDidBecomeInvalid", "_STC9728A0D9649283BED0B89EA0563A4B76_" : "cacheKeyForURL", "set_STCD3B862A42B64159E3379225027753D7B_" : "setnetworkReachabilityStatus", - "set_STC0E95B80AC856F4EB2A74BE07358409D8_" : "setsessionDidBecomeInvalid", - "_STC33F5DDE97899B3B3DE0CC593C6358489_" : "forDomain", "_STC16084B1E051A04238A07306AEE4EE959_" : "writeOptions", "__STCBBBC0FA0F2199924DC43F698BBFE288C_" : "_downloadTimeout", "_STC82EF090905AB1ECF6B172D05AA744924_" : "diskImageDataExistsWithKey", @@ -534,15 +509,14 @@ "_STC61F63F0C325C5B9FD2B0FC0E1D3173DD_" : "AFJSONResponseSerializer", "set_STCAD449B5176219E4E4CC77A2BEDC2353A_" : "setURLIdentifier", "_STC521BB24C9DC67536ABDC2935993F2207_" : "pinnedPublicKeys", - "_STCF365505AFE4F6762275666B6E3734D17_" : "cancelAllDownloads", + "set_STC5232BE611D49D5102896A98401F71B9F_" : "setSSLPinningMode", "_STC3B59716880D8883A0B229A5B7381EF92_" : "AFActivityIndicatorViewNotificationObserver", "_STC1BF4BE8597423E4B93CD8B8B13DB0EEC_" : "sd_frameDurationAtIndex", "_STCFEA8E6A833C3EE44C9A09E6E081F6A0E_" : "callbacksForKey", "set_STC5FD1B6B96598840476065338AE8F90E2_" : "setHTTPHeaders", - "set_STC5232BE611D49D5102896A98401F71B9F_" : "setSSLPinningMode", "set_STC91F7471BEC068FF2BB4B93745BB29903_" : "setsynchronizationQueue", - "_STC148B93B50DC92D1B0C032CC986F9EC97_" : "dataTaskWillCacheResponse", "set_STC7D7C183EE21D8E9AB4AF03633DAE792A_" : "setrequestedCount", + "_STC148B93B50DC92D1B0C032CC986F9EC97_" : "dataTaskWillCacheResponse", "_STC1A99666B68453094821DB65CF44736F2_" : "imageCacheKeyFromURLRequest", "__STCEFF574BD129E5262800EF3EF67523F76_" : "_authorUserInfoplatform", "_STC1628B8125AAD23C1858BDDB301F606E0_" : "serializerWithWritingOptions", @@ -590,11 +564,10 @@ "_STCA80E746015D49CE4EEDD5EB5BABBFED6_" : "codersLock", "__STC238520E3891822FA18AB27A023695E44_" : "_taskNeedNewBodyStream", "_STC9BE0C4F2366C4E248083E3DD966B19A1_" : "clearDiskOnCompletion", - "set_STC22B80933A66FF262CADE54F9CE60BF2B_" : "setdownloadProgressBlock", - "_STC7D20AEE208C475C089B4E0D0FB3FCC9A_" : "getDiskCount", "_STC8F905FA5C0C95FA704086A848077E847_" : "AFImageDownloaderMergedTask", - "__STCE3C37F53DFE2655264046AB93C8A5DF3_" : "_taskDidReceiveAuthenticationChallenge", + "_STC7D20AEE208C475C089B4E0D0FB3FCC9A_" : "getDiskCount", "set_STCF27B84559473E6B87B60487A1150DB1F_" : "setdownloadTaskDidFinishDownloading", + "__STCE3C37F53DFE2655264046AB93C8A5DF3_" : "_taskDidReceiveAuthenticationChallenge", "set_STCFFDFAD3016C50A582836D980BE1DAE32_" : "setHTTPBodyPartEnumerator", "__STCC9C577ED708965F8E783D28921E758CD_" : "_validatesDomainName", "_STC88BAF7082E75E6740EA4EA09BC628787_" : "canDecodeFromHEICFormat", @@ -611,7 +584,7 @@ "set_STC613F4F9BB78E36084A8CDF9F6E56BA4E_" : "setdiskCacheReadingOptions", "_STC893F01AE175DB7D5BA2385CF185890BC_" : "AFImageResponseSerializer", "__STC9B47D83459E783267FD67315EB5C68F2_" : "_taskDidSendBodyData", - "set_STC0B7228ED8E6196A7CC101CF9CEF47697_" : "settaskDidComplete", "__STC6F10F952E22E08D44B3D0C8CF385A9DE_" : "_downloadTaskDidResume", + "set_STC14C62D01A77E5841F405021D0BBE0931_" : "setrunningOperations", "_STC510040817BE45A00DF82941B49F1F381_" : "cancelTaskForImageDownloadReceipt" } \ No newline at end of file