diff --git a/Sources/uYouPlusVersionSpoofer.xm b/Sources/uYouPlusVersionSpoofer.xm index 85790aa..b04b9a8 100644 --- a/Sources/uYouPlusVersionSpoofer.xm +++ b/Sources/uYouPlusVersionSpoofer.xm @@ -1,1511 +1,164 @@ #import "uYouPlus.h" -// +typedef struct { + int version; + NSString *appVersion; +} VersionMapping; + +static VersionMapping versionMappings[] = { + {0, @"19.49.7"}, + {1, @"19.49.5"}, + {2, @"19.49.3"}, + {3, @"19.47.7"}, + {4, @"19.46.3"}, + {5, @"19.45.4"}, + {6, @"19.44.4"}, + {7, @"19.43.2"}, + {8, @"19.42.1"}, + {9, @"19.41.3"}, + {10, @"19.40.4"}, + {11, @"19.39.1"}, + {12, @"19.38.2"}, + {13, @"19.37.2"}, + {14, @"19.36.1"}, + {15, @"19.35.3"}, + {16, @"19.34.2"}, + {17, @"19.33.2"}, + {18, @"19.32.8"}, + {19, @"19.32.6"}, + {20, @"19.31.4"}, + {21, @"19.30.2"}, + {22, @"19.29.1"}, + {23, @"19.28.1"}, + {24, @"19.26.5"}, + {25, @"19.25.4"}, + {26, @"19.25.3"}, + {27, @"19.24.3"}, + {28, @"19.24.2"}, + {29, @"19.23.3"}, + {30, @"19.22.6"}, + {31, @"19.22.3"}, + {32, @"19.21.3"}, + {33, @"19.21.2"}, + {34, @"19.20.2"}, + {35, @"19.19.7"}, + {36, @"19.19.5"}, + {37, @"19.18.2"}, + {38, @"19.17.2"}, + {39, @"19.16.3"}, + {40, @"19.15.1"}, + {41, @"19.14.3"}, + {42, @"19.14.2"}, + {43, @"19.13.1"}, + {44, @"19.12.3"}, + {45, @"19.10.7"}, + {46, @"19.10.6"}, + {47, @"19.10.5"}, + {48, @"19.09.4"}, + {49, @"19.09.3"}, + {50, @"19.08.2"}, + {51, @"19.07.5"}, + {52, @"19.07.4"}, + {53, @"19.06.2"}, + {54, @"19.05.5"}, + {55, @"19.05.3"}, + {56, @"19.04.3"}, + {57, @"19.03.2"}, + {58, @"19.02.1"}, + {59, @"19.01.1"}, + {60, @"18.49.3"}, + {61, @"18.48.3"}, + {62, @"18.46.3"}, + {63, @"18.45.2"}, + {64, @"18.44.3"}, + {65, @"18.43.4"}, + {66, @"18.41.5"}, + {67, @"18.41.3"}, + {68, @"18.41.2"}, + {69, @"18.40.1"}, + {70, @"18.39.1"}, + {71, @"18.38.2"}, + {72, @"18.35.4"}, + {73, @"18.34.5"}, + {74, @"18.33.3"}, + {75, @"18.33.2"}, + {76, @"18.32.2"}, + {77, @"18.31.3"}, + {78, @"18.30.7"}, + {79, @"18.30.6"}, + {80, @"18.29.1"}, + {81, @"18.28.3"}, + {82, @"18.27.3"}, + {83, @"18.25.1"}, + {84, @"18.23.3"}, + {85, @"18.22.9"}, + {86, @"18.21.3"}, + {87, @"18.20.3"}, + {88, @"18.19.1"}, + {89, @"18.18.2"}, + {90, @"18.17.2"}, + {91, @"18.16.2"}, + {92, @"18.15.1"}, + {93, @"18.14.1"}, + {94, @"18.13.4"}, + {95, @"18.12.2"}, + {96, @"18.11.2"}, + {97, @"18.10.1"}, + {98, @"18.09.4"}, + {99, @"18.08.1"}, + {100, @"18.07.5"}, + {101, @"18.05.2"}, + {102, @"18.04.3"}, + {103, @"18.03.3"}, + {104, @"18.02.03"}, + {105, @"18.01.6"}, + {106, @"18.01.4"}, + {107, @"18.01.2"}, + {108, @"17.49.6"}, + {109, @"17.49.4"}, + {110, @"17.46.4"}, + {111, @"17.45.1"}, + {112, @"17.44.4"}, + {113, @"17.43.1"}, + {114, @"17.42.7"}, + {115, @"17.42.6"}, + {116, @"17.41.2"}, + {117, @"17.40.5"}, + {118, @"17.39.4"}, + {119, @"17.38.10"}, + {120, @"17.38.9"}, + {121, @"17.37.3"}, + {122, @"17.36.4"}, + {123, @"17.36.3"}, + {124, @"17.35.3"}, + {125, @"17.34.3"}, + {126, @"17.33.2"} +}; + static int appVersionSpoofer() { return [[NSUserDefaults standardUserDefaults] integerForKey:@"versionSpoofer"]; } -static BOOL version0() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 0; -} -static BOOL version1() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 1; -} -static BOOL version2() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 2; -} -static BOOL version3() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 3; -} -static BOOL version4() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 4; -} -static BOOL version5() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 5; -} -static BOOL version6() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 6; -} -static BOOL version7() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 7; -} -static BOOL version8() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 8; -} -static BOOL version9() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 9; -} -static BOOL version10() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 10; -} -static BOOL version11() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 11; -} -static BOOL version12() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 12; -} -static BOOL version13() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 13; -} -static BOOL version14() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 14; -} -static BOOL version15() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 15; -} -static BOOL version16() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 16; -} -static BOOL version17() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 17; -} -static BOOL version18() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 18; -} -static BOOL version19() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 19; -} -static BOOL version20() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 20; -} -static BOOL version21() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 21; -} -static BOOL version22() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 22; -} -static BOOL version23() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 23; -} -static BOOL version24() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 24; -} -static BOOL version25() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 25; -} -static BOOL version26() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 26; -} -static BOOL version27() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 27; -} -static BOOL version28() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 28; -} -static BOOL version29() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 29; -} -static BOOL version30() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 30; -} -static BOOL version31() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 31; -} -static BOOL version32() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 32; -} -static BOOL version33() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 33; -} -static BOOL version34() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 34; -} -static BOOL version35() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 35; -} -static BOOL version36() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 36; -} -static BOOL version37() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 37; -} -static BOOL version38() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 38; -} -static BOOL version39() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 39; -} -static BOOL version40() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 40; -} -static BOOL version41() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 41; -} -static BOOL version42() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 42; -} -static BOOL version43() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 43; -} -static BOOL version44() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 44; -} -static BOOL version45() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 45; -} -static BOOL version46() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 46; -} -static BOOL version47() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 47; -} -static BOOL version48() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 48; -} -static BOOL version49() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 49; -} -static BOOL version50() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 50; -} -static BOOL version51() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 51; -} -static BOOL version52() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 52; -} -static BOOL version53() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 53; -} -static BOOL version54() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 54; -} -static BOOL version55() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 55; -} -static BOOL version56() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 56; -} -static BOOL version57() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 57; -} -static BOOL version58() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 58; -} -static BOOL version59() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 59; -} -static BOOL version60() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 60; -} -static BOOL version61() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 61; -} -static BOOL version62() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 62; -} -static BOOL version63() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 63; -} -static BOOL version64() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 64; -} -static BOOL version65() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 65; -} -static BOOL version66() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 66; -} -static BOOL version67() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 67; -} -static BOOL version68() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 68; -} -static BOOL version69() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 69; -} -static BOOL version70() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 70; -} -static BOOL version71() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 71; -} -static BOOL version72() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 72; -} -static BOOL version73() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 73; -} -static BOOL version74() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 74; -} -static BOOL version75() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 75; -} -static BOOL version76() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 76; -} -static BOOL version77() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 77; -} -static BOOL version78() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 78; -} -static BOOL version79() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 79; -} -static BOOL version80() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 80; -} -static BOOL version81() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 81; -} -static BOOL version82() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 82; -} -static BOOL version83() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 83; -} -static BOOL version84() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 84; -} -static BOOL version85() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 85; -} -static BOOL version86() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 86; -} -static BOOL version87() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 87; -} -static BOOL version88() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 88; -} -static BOOL version89() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 89; -} -static BOOL version90() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 90; -} -static BOOL version91() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 91; -} -static BOOL version92() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 92; -} -static BOOL version93() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 93; -} -static BOOL version94() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 94; -} -static BOOL version95() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 95; -} -static BOOL version96() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 96; -} -static BOOL version97() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 97; -} -static BOOL version98() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 98; -} -static BOOL version99() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 99; -} -static BOOL version100() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 100; -} -static BOOL version101() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 101; -} -static BOOL version102() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 102; -} -static BOOL version103() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 103; -} -static BOOL version104() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 104; -} -static BOOL version105() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 105; -} -static BOOL version106() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 106; -} -static BOOL version107() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 107; -} -static BOOL version108() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 108; -} -static BOOL version109() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 109; -} -static BOOL version110() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 110; -} -static BOOL version111() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 111; -} -static BOOL version112() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 112; -} -static BOOL version113() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 113; -} -static BOOL version114() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 114; -} -static BOOL version115() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 115; -} -static BOOL version116() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 116; -} -static BOOL version117() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 117; -} -static BOOL version118() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 118; -} -static BOOL version119() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 119; -} -static BOOL version120() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 120; -} -static BOOL version121() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 121; -} -static BOOL version122() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 122; -} -static BOOL version123() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 123; -} -static BOOL version124() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 124; -} - -%group gVersion0 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.49.3"; } -%end -%end - -%group gVersion1 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.47.7"; } -%end -%end - -%group gVersion2 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.46.3"; } -%end -%end - -%group gVersion3 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.45.4"; } -%end -%end - -%group gVersion4 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.44.4"; } -%end -%end - -%group gVersion5 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.43.2"; } -%end -%end - -%group gVersion6 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.42.1"; } -%end -%end - -%group gVersion7 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.41.3"; } -%end -%end - -%group gVersion8 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.40.4"; } -%end -%end - -%group gVersion9 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.39.1"; } -%end -%end - -%group gVersion10 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.38.2"; } -%end -%end - -%group gVersion11 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.37.2"; } -%end -%end - -%group gVersion12 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.36.1"; } -%end -%end - -%group gVersion13 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.35.3"; } -%end -%end - -%group gVersion14 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.34.2"; } -%end -%end - -%group gVersion15 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.33.2"; } -%end -%end - -%group gVersion16 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.32.8"; } -%end -%end - -%group gVersion17 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.32.6"; } -%end -%end - -%group gVersion18 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.31.4"; } -%end -%end - -%group gVersion19 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.30.2"; } -%end -%end - -%group gVersion20 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.29.1"; } -%end -%end - -%group gVersion21 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.28.1"; } -%end -%end - -%group gVersion22 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.26.5"; } -%end -%end - -%group gVersion23 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.25.4"; } -%end -%end - -%group gVersion24 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.25.3"; } -%end -%end - -%group gVersion25 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.24.3"; } -%end -%end - -%group gVersion26 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.24.2"; } -%end -%end - -%group gVersion27 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.23.3"; } -%end -%end - -%group gVersion28 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.22.6"; } -%end -%end - -%group gVersion29 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.22.3"; } -%end -%end - -%group gVersion30 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.21.3"; } -%end -%end - -%group gVersion31 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.21.2"; } -%end -%end - -%group gVersion32 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.20.2"; } -%end -%end - -%group gVersion33 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.19.7"; } -%end -%end - -%group gVersion34 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.19.5"; } -%end -%end - -%group gVersion35 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.18.2"; } -%end -%end - -%group gVersion36 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.17.2"; } -%end -%end - -%group gVersion37 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.16.3"; } -%end -%end - -%group gVersion38 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.15.1"; } -%end -%end - -%group gVersion39 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.14.3"; } -%end -%end - -%group gVersion40 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.14.2"; } -%end -%end - -%group gVersion41 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.13.1"; } -%end -%end - -%group gVersion42 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.12.3"; } -%end -%end - -%group gVersion43 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.10.7"; } -%end -%end - -%group gVersion44 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.10.6"; } -%end -%end - -%group gVersion45 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.10.5"; } -%end -%end - -%group gVersion46 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.09.4"; } -%end -%end - -%group gVersion47 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.09.3"; } -%end -%end - -%group gVersion48 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.08.2"; } -%end -%end - -%group gVersion49 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.07.5"; } -%end -%end - -%group gVersion50 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.07.4"; } -%end -%end - -%group gVersion51 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.06.2"; } -%end -%end - -%group gVersion52 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.05.5"; } -%end -%end - -%group gVersion53 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.05.3"; } -%end -%end - -%group gVersion54 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.04.3"; } -%end -%end - -%group gVersion55 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.03.2"; } -%end -%end - -%group gVersion56 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.02.1"; } -%end -%end - -%group gVersion57 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"19.01.1"; } -%end -%end - -%group gVersion58 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.49.3"; } -%end -%end - -%group gVersion59 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.48.3"; } -%end -%end - -%group gVersion60 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.46.3"; } -%end -%end - -%group gVersion61 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.45.2"; } -%end -%end - -%group gVersion62 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.44.3"; } -%end -%end - -%group gVersion63 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.43.4"; } -%end -%end - -%group gVersion64 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.41.5"; } -%end -%end - -%group gVersion65 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.41.3"; } -%end -%end - -%group gVersion66 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.41.2"; } -%end -%end - -%group gVersion67 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.40.1"; } -%end -%end - -%group gVersion68 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.39.1"; } -%end -%end - -%group gVersion69 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.38.2"; } -%end -%end - -%group gVersion70 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.35.4"; } -%end -%end - -%group gVersion71 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.34.5"; } -%end -%end - -%group gVersion72 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.33.3"; } -%end -%end - -%group gVersion73 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.33.2"; } -%end -%end - -%group gVersion74 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.32.2"; } -%end -%end - -%group gVersion75 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.31.3"; } -%end -%end - -%group gVersion76 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.30.7"; } -%end -%end - -%group gVersion77 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.30.6"; } -%end -%end - -%group gVersion78 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.29.1"; } -%end -%end - -%group gVersion79 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.28.3"; } -%end -%end - -%group gVersion80 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.27.3"; } -%end -%end - -%group gVersion81 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.25.1"; } -%end -%end - -%group gVersion82 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.23.3"; } -%end -%end - -%group gVersion83 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.22.9"; } -%end -%end - -%group gVersion84 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.21.3"; } -%end -%end - -%group gVersion85 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.20.3"; } -%end -%end - -%group gVersion86 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.19.1"; } -%end -%end - -%group gVersion87 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.18.2"; } -%end -%end - -%group gVersion88 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.17.2"; } -%end -%end - -%group gVersion89 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.16.2"; } -%end -%end - -%group gVersion90 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.15.1"; } -%end -%end - -%group gVersion91 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.14.1"; } -%end -%end - -%group gVersion92 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.13.4"; } -%end -%end - -%group gVersion93 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.12.2"; } -%end -%end - -%group gVersion94 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.11.2"; } -%end -%end - -%group gVersion95 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.10.1"; } -%end -%end - -%group gVersion96 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.09.4"; } -%end -%end - -%group gVersion97 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.08.1"; } -%end -%end - -%group gVersion98 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.07.5"; } -%end -%end - -%group gVersion99 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.05.2"; } -%end -%end - -%group gVersion100 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.04.3"; } -%end -%end - -%group gVersion101 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.03.3"; } -%end -%end - -%group gVersion102 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.02.03"; } -%end -%end - -%group gVersion103 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.01.6"; } -%end -%end - -%group gVersion104 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.01.4"; } -%end -%end - -%group gVersion105 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"18.01.2"; } -%end -%end - -%group gVersion106 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.49.6"; } -%end -%end - -%group gVersion107 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.49.4"; } -%end -%end - -%group gVersion108 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.46.4"; } -%end -%end - -%group gVersion109 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.45.1"; } -%end -%end - -%group gVersion110 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.44.4"; } -%end -%end - -%group gVersion111 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.43.1"; } -%end -%end - -%group gVersion112 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.42.7"; } -%end -%end - -%group gVersion113 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.42.6"; } -%end -%end - -%group gVersion114 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.41.2"; } -%end -%end - -%group gVersion115 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.40.5"; } -%end -%end - -%group gVersion116 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.39.4"; } -%end -%end - -%group gVersion117 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.38.10"; } -%end -%end - -%group gVersion118 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.38.9"; } -%end -%end - -%group gVersion119 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.37.3"; } -%end -%end - -%group gVersion120 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.36.4"; } -%end -%end - -%group gVersion121 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.36.3"; } -%end -%end -%group gVersion122 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.35.3"; } -%end -%end +static BOOL isVersionSpooferEnabled() { + return IS_ENABLED(@"enableVersionSpoofer_enabled"); +} -%group gVersion123 -%hook YTVersionUtils -+ (NSString *)appVersion { return @"17.34.3"; } -%end -%end +static NSString* getAppVersionForSpoofedVersion(int spoofedVersion) { + for (int i = 0; i < sizeof(versionMappings) / sizeof(versionMappings[0]); i++) { + if (versionMappings[i].version == spoofedVersion) { + return versionMappings[i].appVersion; + } + } + return %orig; +} -%group gVersion124 %hook YTVersionUtils -+ (NSString *)appVersion { return @"17.33.2"; } -%end -%end - -# pragma mark - ctor -%ctor { - %init; - if (version0()) { - %init(gVersion0); - } - if (version1()) { - %init(gVersion1); - } - if (version2()) { - %init(gVersion2); - } - if (version3()) { - %init(gVersion3); - } - if (version4()) { - %init(gVersion4); - } - if (version5()) { - %init(gVersion5); - } - if (version6()) { - %init(gVersion6); - } - if (version7()) { - %init(gVersion7); - } - if (version8()) { - %init(gVersion8); - } - if (version9()) { - %init(gVersion9); - } - if (version10()) { - %init(gVersion10); - } - if (version11()) { - %init(gVersion11); - } - if (version12()) { - %init(gVersion12); - } - if (version13()) { - %init(gVersion13); - } - if (version14()) { - %init(gVersion14); - } - if (version15()) { - %init(gVersion15); - } - if (version16()) { - %init(gVersion16); - } - if (version17()) { - %init(gVersion17); - } - if (version18()) { - %init(gVersion18); - } - if (version19()) { - %init(gVersion19); - } - if (version20()) { - %init(gVersion20); - } - if (version21()) { - %init(gVersion21); - } - if (version22()) { - %init(gVersion22); - } - if (version23()) { - %init(gVersion23); - } - if (version24()) { - %init(gVersion24); - } - if (version25()) { - %init(gVersion25); - } - if (version26()) { - %init(gVersion26); - } - if (version27()) { - %init(gVersion27); - } - if (version28()) { - %init(gVersion28); - } - if (version29()) { - %init(gVersion29); - } - if (version30()) { - %init(gVersion30); - } - if (version31()) { - %init(gVersion31); - } - if (version32()) { - %init(gVersion32); - } - if (version33()) { - %init(gVersion33); - } - if (version34()) { - %init(gVersion34); - } - if (version35()) { - %init(gVersion35); - } - if (version36()) { - %init(gVersion36); - } - if (version37()) { - %init(gVersion37); - } - if (version38()) { - %init(gVersion38); - } - if (version39()) { - %init(gVersion39); - } - if (version40()) { - %init(gVersion40); - } - if (version41()) { - %init(gVersion41); - } - if (version42()) { - %init(gVersion42); - } - if (version43()) { - %init(gVersion43); - } - if (version44()) { - %init(gVersion44); - } - if (version45()) { - %init(gVersion45); - } - if (version46()) { - %init(gVersion46); - } - if (version47()) { - %init(gVersion47); - } - if (version48()) { - %init(gVersion48); - } - if (version49()) { - %init(gVersion49); - } - if (version50()) { - %init(gVersion50); - } - if (version51()) { - %init(gVersion51); - } - if (version52()) { - %init(gVersion52); - } - if (version53()) { - %init(gVersion53); - } - if (version54()) { - %init(gVersion54); - } - if (version55()) { - %init(gVersion55); - } - if (version56()) { - %init(gVersion56); - } - if (version57()) { - %init(gVersion57); - } - if (version58()) { - %init(gVersion58); - } - if (version59()) { - %init(gVersion59); - } - if (version60()) { - %init(gVersion60); - } - if (version61()) { - %init(gVersion61); - } - if (version62()) { - %init(gVersion62); - } - if (version63()) { - %init(gVersion63); - } - if (version64()) { - %init(gVersion64); - } - if (version65()) { - %init(gVersion65); - } - if (version66()) { - %init(gVersion66); - } - if (version67()) { - %init(gVersion67); - } - if (version68()) { - %init(gVersion68); - } - if (version69()) { - %init(gVersion69); - } - if (version70()) { - %init(gVersion70); - } - if (version71()) { - %init(gVersion71); - } - if (version72()) { - %init(gVersion72); - } - if (version73()) { - %init(gVersion73); - } - if (version74()) { - %init(gVersion74); - } - if (version75()) { - %init(gVersion75); - } - if (version76()) { - %init(gVersion76); - } - if (version77()) { - %init(gVersion77); - } - if (version78()) { - %init(gVersion78); - } - if (version79()) { - %init(gVersion79); - } - if (version80()) { - %init(gVersion80); - } - if (version81()) { - %init(gVersion81); - } - if (version82()) { - %init(gVersion82); - } - if (version83()) { - %init(gVersion83); - } - if (version84()) { - %init(gVersion84); - } - if (version85()) { - %init(gVersion85); - } - if (version86()) { - %init(gVersion86); - } - if (version87()) { - %init(gVersion87); - } - if (version88()) { - %init(gVersion88); - } - if (version89()) { - %init(gVersion89); - } - if (version90()) { - %init(gVersion90); - } - if (version91()) { - %init(gVersion91); - } - if (version92()) { - %init(gVersion92); - } - if (version93()) { - %init(gVersion93); - } - if (version94()) { - %init(gVersion94); - } - if (version95()) { - %init(gVersion95); - } - if (version96()) { - %init(gVersion96); - } - if (version97()) { - %init(gVersion97); - } - if (version98()) { - %init(gVersion98); - } - if (version99()) { - %init(gVersion99); - } - if (version100()) { - %init(gVersion100); - } - if (version101()) { - %init(gVersion101); - } - if (version102()) { - %init(gVersion102); - } - if (version103()) { - %init(gVersion103); - } - if (version104()) { - %init(gVersion104); - } - if (version105()) { - %init(gVersion105); - } - if (version106()) { - %init(gVersion106); - } - if (version107()) { - %init(gVersion107); - } - if (version108()) { - %init(gVersion108); - } - if (version109()) { - %init(gVersion109); - } - if (version110()) { - %init(gVersion110); - } - if (version111()) { - %init(gVersion111); - } - if (version112()) { - %init(gVersion112); - } - if (version113()) { - %init(gVersion113); - } - if (version114()) { - %init(gVersion114); - } - if (version115()) { - %init(gVersion115); - } - if (version116()) { - %init(gVersion116); - } - if (version117()) { - %init(gVersion117); - } - if (version118()) { - %init(gVersion118); - } - if (version119()) { - %init(gVersion119); - } - if (version120()) { - %init(gVersion120); - } - if (version121()) { - %init(gVersion121); - } - if (version122()) { - %init(gVersion122); - } - if (version123()) { - %init(gVersion123); - } - if (version124()) { - %init(gVersion124); ++ (NSString *)appVersion { + if (!isVersionSpooferEnabled()) { + return %orig; } + int spoofedVersion = appVersionSpoofer(); + NSString *appVersion = getAppVersionForSpoofedVersion(spoofedVersion); + return appVersion ? appVersion : %orig; } +%end