├── AccuWeather++ └── Tweak.xm ├── AdGuard++ └── Tweak.xm ├── AnimeGT++ └── Tweak.xm ├── Audiomack++ └── Tweak.xm ├── Bear++ └── Tweak.xm ├── Boom++ └── Tweak.xm ├── Cycles++ └── Tweak.xm ├── Cydia Background Refresh └── Tweak.xm ├── Eve++ └── Tweak.xm ├── Flo++ └── Tweak.xm ├── Glow++ └── Tweak.xm ├── Infuse 5++ └── Tweak.xm ├── Infuse 6++ └── Tweak.xm ├── JioSaavn++ └── Tweak.xm ├── Kodi++ └── Tweak.xm ├── Life++ └── Tweak.xm ├── Memorado++ └── Tweak.xm ├── Merriam-Webster++ └── Tweak.xm ├── MyPrivacy++ └── Tweak.xm ├── Paloma++ └── Tweak.xm ├── Plex++ └── Tweak.xm ├── Psiphon++ └── Tweak.xm ├── README.md ├── Safari Background Playback └── Tweak.xm ├── Solo VPN++ └── Tweak.xm ├── SoundCloud++ └── Tweak.xm ├── Star VPN++ └── Tweak.xm ├── Tubio++ └── Tweak.xm ├── Turbo VPN++ └── Tweak.xm ├── Twitch++ └── Tweak.xm ├── VPN Proxy Master++ └── Tweak.xm ├── YouTube Music++ └── Tweak.xm └── ZiniTevi++ └── Tweak.xm /AccuWeather++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook AWInAppPurchaseController 2 | - (BOOL)isPlatinumUnlocked { 3 | return 1; 4 | } 5 | - (BOOL)isAppVersionPlatinum { 6 | return 1; 7 | } 8 | - (BOOL)is25DayForecastEnabled { 9 | return 1; 10 | } 11 | - (BOOL)isPlatinumEnabled { 12 | return 1; 13 | } 14 | - (void)setPlatinumUnlocked:(BOOL)arg1 { 15 | arg1 = 1; 16 | %orig; 17 | } 18 | - (void)setIs25DayForecastEnabled:(BOOL)arg1 { 19 | arg1 = 1; 20 | %orig; 21 | } 22 | %end -------------------------------------------------------------------------------- /AdGuard++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook ClassOne 2 | - (BOOL)proStatus { 3 | return 1; 4 | } 5 | - (BOOL)purchasedThroughLogin { 6 | return 1; 7 | } 8 | %end 9 | 10 | %hook ClassTwo 11 | - (BOOL)isProPurchasedInternal { 12 | return 1; 13 | } 14 | %end 15 | 16 | %ctor { 17 | %init(ClassOne = objc_getClass("Adguard.ConfigurationService"), ClassTwo = objc_getClass("Adguard.PurchaseService")); 18 | }; -------------------------------------------------------------------------------- /AnimeGT++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook GADAdSource 2 | - (BOOL)invalidated { 3 | return 1; 4 | } 5 | %end -------------------------------------------------------------------------------- /Audiomack++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook GADAdSource 2 | - (BOOL)invalidated { 3 | return 1; 4 | } 5 | %end 6 | 7 | %hook ALInterstitialAd 8 | - (void)initWithSdk:(id)arg1 { 9 | } 10 | %end 11 | 12 | %hook ClassOne 13 | - (BOOL)isPremium { 14 | return 1; 15 | } 16 | %end 17 | 18 | %hook ClassTwo 19 | - (BOOL)isPremium { 20 | return 1; 21 | } 22 | %end 23 | 24 | %hook ClassThree 25 | - (void)didTapEqualizer:(id)arg1 { 26 | } 27 | %end 28 | 29 | %ctor { 30 | %init(ClassOne = objc_getClass("audiomack_iphone.AMUserRepository"), ClassTwo = objc_getClass("audiomack_iphone.PremiumRepository"), ClassThree = objc_getClass("audiomack_iphone.AMSettingsViewController")); 31 | }; -------------------------------------------------------------------------------- /Bear++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook SFNotesActionsItem 2 | - (BOOL)isPro { 3 | return 1; 4 | } 5 | - (void)setIsPro:(BOOL)arg1 { 6 | arg1 = 1; 7 | %orig; 8 | } 9 | %end 10 | 11 | %hook SFNotesPreferenceManager 12 | - (BOOL)isProSubscriptionValid { 13 | return 1; 14 | } 15 | %end -------------------------------------------------------------------------------- /Boom++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook ISBaseManager 2 | - (BOOL)isPremium:(id)arg1 { 3 | return 1; 4 | } 5 | - (BOOL)isPremiumAvailable { 6 | return 1; 7 | } 8 | %end 9 | 10 | %hook UMONPromoMetaData 11 | - (BOOL)isExpired { 12 | return 0; 13 | } 14 | - (BOOL)isPremium { 15 | return 1; 16 | } 17 | %end 18 | 19 | %hook ClassOne 20 | - (BOOL)hasPurchasedPass { 21 | return 1; 22 | } 23 | %end 24 | 25 | %ctor { 26 | %init(ClassOne = objc_getClass("Boom.AppStateManager")); 27 | }; -------------------------------------------------------------------------------- /Cycles++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook ClassOne 2 | - (BOOL)hasFeature:(int64_t)arg1 { 3 | return 1; 4 | } 5 | - (BOOL)isPremiumMember { 6 | return 1; 7 | } 8 | - (BOOL)isProUser { 9 | return 1; 10 | } 11 | %end 12 | 13 | %ctor { 14 | %init(ClassOne = objc_getClass("Cycles.SubscriptionPurchaseLog")); 15 | }; -------------------------------------------------------------------------------- /Cydia Background Refresh/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook Cydia 2 | - (void)applicationDidEnterBackground:(id)arg1 { 3 | } 4 | %end 5 | 6 | %hook Cydia 7 | - (void)applicationWillResignActive:(id)arg1 { 8 | } 9 | %end 10 | 11 | %hook UIApplication 12 | - (void)_applicationDidEnterBackground { 13 | } 14 | %end -------------------------------------------------------------------------------- /Eve++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook ForumTopic 2 | - (BOOL)isPremiumOnly { 3 | return 0; 4 | } 5 | %end 6 | 7 | %hook ForumUser 8 | - (BOOL)isPremium { 9 | return 1; 10 | } 11 | - (void)setIsPremium:(BOOL)arg1 { 12 | arg1 = 1; 13 | %orig; 14 | } 15 | %end 16 | 17 | %hook GLChatRequestViewController 18 | - (BOOL)isPremium { 19 | return 1; 20 | } 21 | - (void)setIsPremium:(BOOL)arg1 { 22 | arg1 = 1; 23 | %orig; 24 | } 25 | %end 26 | 27 | %hook GLSKUserPlanStatus 28 | - (BOOL)isActive { 29 | return 1; 30 | } 31 | - (BOOL)isRenewable { 32 | return 0; 33 | } 34 | - (BOOL)user:(int)arg1 hasActivePlan:(id)arg2 { 35 | return 1; 36 | } 37 | - (BOOL)isPremiumUser:(int)arg1 { 38 | return 1; 39 | } 40 | - (BOOL)isCurrentUserPremium { 41 | return 1; 42 | } 43 | %end 44 | 45 | %hook LXUser 46 | - (BOOL)isPremium { 47 | return 1; 48 | } 49 | - (BOOL)isPremiumOrBoughtAlc:(id)arg1 { 50 | return 1; 51 | } 52 | %end -------------------------------------------------------------------------------- /Flo++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook Survey 2 | - (BOOL)isPremium { 3 | return 1; 4 | } 5 | %end 6 | 7 | %hook ClassOne 8 | - (BOOL)isPremiumAvailable { 9 | return 1; 10 | } 11 | - (void)setIsPremiumAvailable:(BOOL)arg1 { 12 | arg1 = 1; 13 | %orig; 14 | } 15 | - (BOOL)isPremiumActive { 16 | return 1; 17 | } 18 | - (void)setIsPremiumActive:(BOOL)arg1 { 19 | arg1 = 1; 20 | %orig; 21 | } 22 | - (BOOL)isPremiumFeaturesAvailable { 23 | return 1; 24 | } 25 | %end 26 | 27 | %hook ClassTwo 28 | - (BOOL)isPremiumAvailable { 29 | return 1; 30 | } 31 | - (BOOL)isPremiumActive { 32 | return 1; 33 | } 34 | - (BOOL)isPremiumFeaturesAvailable { 35 | return 1; 36 | } 37 | %end 38 | 39 | %ctor { 40 | %init(ClassOne = objc_getClass("PeriodTracker.PremiumManagerImpl"),ClassTwo = objc_getClass("PeriodTracker.PremiumFacadeImpl")); 41 | }; -------------------------------------------------------------------------------- /Glow++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook User 2 | - (BOOL)isPremium { 3 | return 1; 4 | } 5 | %end 6 | 7 | %hook DailyArticle 8 | - (BOOL)isPremiumChargedArticle { 9 | return 0; 10 | } 11 | %end 12 | 13 | %hook ForumTopic 14 | - (BOOL)isPremiumOnly { 15 | return 0; 16 | } 17 | %end 18 | 19 | %hook ForumUser 20 | - (BOOL)isPremium { 21 | return 1; 22 | } 23 | - (void)setIsPremium:(BOOL)arg1 { 24 | arg1 = 1; 25 | %orig; 26 | } 27 | %end 28 | 29 | %hook GLChatRequestViewController 30 | - (BOOL)isPremium { 31 | return 1; 32 | } 33 | - (void)setIsPremium:(BOOL)arg1 { 34 | arg1 = 1; 35 | %orig; 36 | } 37 | %end 38 | 39 | %hook GLSKUserPlanStatus 40 | - (BOOL)isActive { 41 | return 1; 42 | } 43 | - (BOOL)isRenewable { 44 | return 0; 45 | } 46 | - (BOOL)user:(int)arg1 hasActivePlan:(id)arg2 { 47 | return 1; 48 | } 49 | - (BOOL)isPremiumUser:(int)arg1 { 50 | return 1; 51 | } 52 | - (BOOL)isCurrentUserPremium { 53 | return 1; 54 | } 55 | %end 56 | 57 | %hook LXUser 58 | - (BOOL)isPremium { 59 | return 1; 60 | } 61 | - (BOOL)isPremiumOrBoughtAlc:(id)arg1 { 62 | return 1; 63 | } 64 | %end -------------------------------------------------------------------------------- /Infuse 5++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook FCInAppPurchaseServiceMobile 2 | - (BOOL)hasValidReceipt { 3 | return 1; 4 | } 5 | - (BOOL)isFeaturePurchased:(int64_t)arg1 tillDate:(id *)arg2 { 6 | return 1; 7 | } 8 | %end 9 | 10 | %hook FCInAppPurchaseServiceDummy 11 | - (BOOL)hasValidReceipt { 12 | return 1; 13 | } 14 | - (BOOL)isFeaturePurchased:(int64_t)arg1 tillDate:(id *)arg2 { 15 | return 1; 16 | } 17 | %end 18 | 19 | %hook FCInAppPurchaseServiceBase 20 | - (BOOL)hasValidReceipt { 21 | return 1; 22 | } 23 | - (BOOL)isFeaturePurchased:(int64_t)arg1 tillDate:(id *)arg2 { 24 | return 1; 25 | } 26 | - (BOOL)isFeaturePurchased:(int64_t)arg1 { 27 | return 1; 28 | } 29 | %end 30 | 31 | %hook FCInAppPurchaseServiceFullPro 32 | - (BOOL)hasValidReceipt { 33 | return 1; 34 | } 35 | - (BOOL)isFeaturePurchased:(int64_t)arg1 tillDate:(id *)arg2 { 36 | return 1; 37 | } 38 | %end -------------------------------------------------------------------------------- /Infuse 6++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook FCInAppPurchaseServiceMobile 2 | - (BOOL)hasValidReceipt { 3 | return 1; 4 | } 5 | - (BOOL)isFeaturePurchased:(int64_t)arg1 tillDate:(id *)arg2 { 6 | return 1; 7 | } 8 | %end 9 | 10 | %hook FCInAppPurchaseServiceDummy 11 | - (BOOL)hasValidReceipt { 12 | return 1; 13 | } 14 | - (BOOL)isFeaturePurchased:(int64_t)arg1 tillDate:(id *)arg2 { 15 | return 1; 16 | } 17 | %end 18 | 19 | %hook FCInAppPurchaseServiceBase 20 | - (BOOL)hasValidReceipt { 21 | return 1; 22 | } 23 | - (BOOL)isFeaturePurchased:(int64_t)arg1 tillDate:(id *)arg2 { 24 | return 1; 25 | } 26 | - (BOOL)isFeaturePurchased:(int64_t)arg1 { 27 | return 1; 28 | } 29 | %end 30 | 31 | %hook FCInAppPurchaseServiceFullPro 32 | - (BOOL)hasValidReceipt { 33 | return 1; 34 | } 35 | - (BOOL)isFeaturePurchased:(int64_t)arg1 tillDate:(id *)arg2 { 36 | return 1; 37 | } 38 | %end -------------------------------------------------------------------------------- /JioSaavn++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook UserData 2 | - (void)setProStatus:(BOOL)arg1 { 3 | arg1 = 1; 4 | %orig; 5 | } 6 | - (void)setFreemiumStatus:(BOOL)arg1 { 7 | arg1 = 0; 8 | %orig; 9 | } 10 | - (BOOL)skipLimitReached { 11 | return 0; 12 | } 13 | - (BOOL)isPro { 14 | return 1; 15 | } 16 | - (void)setIsPro:(BOOL)arg1 { 17 | arg1 = 1; 18 | %orig; 19 | } 20 | - (BOOL)isFreemium { 21 | return 0; 22 | } 23 | - (void)setIsFreemium:(BOOL)arg1 { 24 | arg1 = 0; 25 | %orig; 26 | } 27 | %end 28 | 29 | %hook PaywallManager 30 | + (BOOL)isProRowUser { 31 | return 1; 32 | } 33 | %end 34 | 35 | %hook DownloadingSongsVC 36 | - (BOOL)areDownloadsBlocked { 37 | return 0; 38 | } 39 | %end 40 | 41 | %hook SubscriptionManager 42 | - (BOOL)isUserDormant { 43 | return 0; 44 | } 45 | - (BOOL)canOfferFreeTrial { 46 | return 0; 47 | } 48 | - (BOOL)isUserAnyPro { 49 | return 1; 50 | } 51 | - (BOOL)isSubscriptionPrimeProduct { 52 | return 1; 53 | } 54 | %end 55 | 56 | %hook MediaCell 57 | - (BOOL)isUnavailableReuseId { 58 | return 0; 59 | } 60 | - (BOOL)isUnavailable { 61 | return 0; 62 | } 63 | - (void)setIsUnavailable:(BOOL)arg1 { 64 | arg1 = 0; 65 | %orig; 66 | } 67 | %end 68 | 69 | %hook AlbumVC 70 | - (BOOL)isUnavailable { 71 | return 0; 72 | } 73 | %end -------------------------------------------------------------------------------- /Kodi++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook XBMCController 2 | - (void)enterBackground { 3 | } 4 | %end -------------------------------------------------------------------------------- /Life++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook ATMe 2 | - (BOOL)isSubscribed { 3 | return 1; 4 | } 5 | %end -------------------------------------------------------------------------------- /Memorado++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook DebugPremiumValidatorPreferences 2 | - (BOOL)isPremium { 3 | return 1; 4 | } 5 | - (void)setIsPremium:(BOOL)arg1 { 6 | arg1 = 1; 7 | %orig; 8 | } 9 | %end 10 | 11 | %hook WorkoutCalendarCell 12 | - (void)configureForHomeWithWorkoutResults:(id)arg1 andDate:(id)arg2 userIsPremium:(BOOL)arg3 { 13 | arg3 = 1; 14 | %orig; 15 | } 16 | - (void)configureWithWorkoutResults:(id)arg1 andDate:(id)arg2 userIsPremium:(BOOL)arg3 { 17 | arg3 = 1; 18 | %orig; 19 | } 20 | - (void)setIconWithWorkoutResults:(id)arg1 assetPrefix:(id)arg2 andDate:(id)arg3 userIsPremium:(BOOL)arg4 { 21 | arg4 = 1; 22 | %orig; 23 | } 24 | %end 25 | 26 | %hook PremiumTypeChecker 27 | + (BOOL)isPremiumForPremiumType:(int)arg1 { 28 | return 1; 29 | } 30 | %end 31 | 32 | %hook PremiumStatusService 33 | - (BOOL)isPremiumForType:(int)arg1 { 34 | return 1; 35 | } 36 | - (BOOL)premium { 37 | return 1; 38 | } 39 | - (void)setPremium:(BOOL)arg1 { 40 | arg1 = 1; 41 | %orig; 42 | } 43 | %end 44 | 45 | %hook GamesService 46 | - (id)gameSessionForSceneName:(id)arg1 andIsPremium:(BOOL)arg2 { 47 | arg2 = 1; 48 | return %orig; 49 | } 50 | %end 51 | 52 | %hook RelaxTipData 53 | - (BOOL)isPremium { 54 | return 1; 55 | } 56 | - (void)setIsPremium:(BOOL)arg1 { 57 | arg1 = 1; 58 | %orig; 59 | } 60 | %end -------------------------------------------------------------------------------- /Merriam-Webster++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook AppDelegate 2 | - (void)validateRemoveAdsSubscriptionWithCompletion:(id)arg1 { 3 | } 4 | - (void)showRemoveAdsNagWithProduct:(id)arg1 { 5 | } 6 | - (BOOL)isProductUpgraded { 7 | return 1; 8 | } 9 | - (void)setMustValidateReceipts { 10 | } 11 | - (BOOL)supportsThesaurus { 12 | return 1; 13 | } 14 | - (BOOL)adShouldBeVisible { 15 | return 0; 16 | } 17 | - (BOOL)canShowInterstitial { 18 | return 0; 19 | } 20 | - (BOOL)interstitialAdsEnabled { 21 | return 0; 22 | } 23 | - (BOOL)adsEnabled { 24 | return 0; 25 | } 26 | - (void)showNags { 27 | } 28 | - (void)showResetNag { 29 | } 30 | - (void)showRateNag { 31 | } 32 | %end -------------------------------------------------------------------------------- /MyPrivacy++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook ClassOne 2 | - (void)validatePurchasesInternally { 3 | } 4 | - (BOOL)hasValidSubscription { 5 | return 1; 6 | } 7 | %end 8 | 9 | %ctor { 10 | %init(ClassOne = objc_getClass("MyPrivacy.SubscriptionManager")); 11 | }; -------------------------------------------------------------------------------- /Paloma++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook APNSubscription 2 | - (BOOL)isActive { 3 | return 1; 4 | } 5 | %end 6 | 7 | %hook APNSubscriptionsManager 8 | - (BOOL)hasActiveSubscription { 9 | return 1; 10 | } 11 | - (BOOL)isActiveSubscriptionInFreeTrialPeriod { 12 | return 0; 13 | } 14 | - (BOOL)isFreeTrial { 15 | return 0; 16 | } 17 | - (void)setIsFreeTrial:(BOOL)arg1 { 18 | arg1 = 0; 19 | %orig; 20 | } 21 | %end 22 | 23 | %ctor { 24 | %init(ClassOne = objc_getClass("Paloma.AppDelegate")); 25 | }; -------------------------------------------------------------------------------- /Plex++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook PMPlexIAPManager 2 | - (BOOL)hasBeenPurchasedUnlockLimitedPlayback { 3 | return 1; 4 | } 5 | %end -------------------------------------------------------------------------------- /Psiphon++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook IAPStoreHelper 2 | + (BOOL)hasActiveSubscriptionForNowOnBlock:(id)arg1 { 3 | return 1; 4 | } 5 | + (BOOL)hasActiveSubscriptionForNow { 6 | return 1; 7 | } 8 | + (BOOL)hasActiveSubscriptionForDate:(id)arg1 { 9 | return 1; 10 | } 11 | + (BOOL)hasActiveSubscriptionForDate:(id)arg1 getExpiryDate:(id *)arg2 { 12 | return 1; 13 | } 14 | + (BOOL)hasActiveSubscriptionForDate:(id)arg1 inDict:(id)arg2 getExpiryDate:(id *)arg3 { 15 | return 1; 16 | } 17 | %end 18 | 19 | %hook SettingsViewController 20 | - (BOOL)hasActiveSubscription { 21 | return 1; 22 | } 23 | - (void)setHasActiveSubscription:(BOOL)arg1 { 24 | arg1 = 1; 25 | %orig; 26 | } 27 | %end 28 | 29 | %hook IAPViewController 30 | - (BOOL)hasActiveSubscription { 31 | return 1; 32 | } 33 | - (void)setHasActiveSubscription:(BOOL)arg1 { 34 | arg1 = 1; 35 | %orig; 36 | } 37 | %end 38 | 39 | %hook SubscriptionData 40 | - (BOOL)hasActiveSubscriptionForNow { 41 | return 1; 42 | } 43 | - (BOOL)hasActiveAuthorizationForDate:(id)arg1 { 44 | return 1; 45 | } 46 | %end 47 | 48 | %hook PsiCashClientModel 49 | - (BOOL)hasActiveSpeedBoostPurchase { 50 | return 1; 51 | } 52 | %end 53 | 54 | %hook InnerMeterView 55 | - (BOOL)speedBoosting { 56 | return 1; 57 | } 58 | - (void)setSpeedBoosting:(BOOL)arg1 { 59 | arg1 = 1; 60 | %orig; 61 | } 62 | %end -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # iOS-Tweaks 2 |
3 | The source code of all of my tweaks for the SarahH12099 Repo 4 |
5 | Please credit me if you are using the source code of my tweaks 6 |
7 | Please know the source code of all my tweaks isn't uploaded yet, I will be uploading the rest soon 8 |
9 | The source code maybe updated and maybe new ones will be added in the future but I don't know yet -------------------------------------------------------------------------------- /Safari Background Playback/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook WKContentView 2 | - (void)_applicationWillResignActive:(id)arg1 { 3 | } 4 | %end 5 | 6 | %hook WKContentView 7 | - (void)_applicationDidEnterBackground { 8 | } 9 | %end -------------------------------------------------------------------------------- /Solo VPN++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook SFUserCenter 2 | - (BOOL)isVip { 3 | return 1; 4 | } 5 | - (BOOL)isFreePremium { 6 | return 0; 7 | } 8 | - (void)setUsername:(id)arg1 { 9 | arg1 = @"SarahH12099"; 10 | %orig; 11 | } 12 | - (void)setVipExpiredDate:(id)arg1 { 13 | NSString *dateStr = @"10-10-2099"; 14 | NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 15 | [dateFormat setDateFormat:@"dd-MM-yyyy"]; 16 | NSDate *date = [dateFormat dateFromString:dateStr]; 17 | arg1 = date; 18 | %orig; 19 | } 20 | - (void)setAutoRenew:(BOOL)arg1 { 21 | arg1 = 0; 22 | %orig; 23 | } 24 | - (NSString *)username { 25 | return @"SarahH12099"; 26 | } 27 | - (NSDate *)vipExpiredDate { 28 | NSString *dateStr = @"10-10-2099"; 29 | NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 30 | [dateFormat setDateFormat:@"dd-MM-yyyy"]; 31 | NSDate *date = [dateFormat dateFromString:dateStr]; 32 | return date; 33 | } 34 | - (BOOL)isAutoRenew { 35 | return 0; 36 | } 37 | %end 38 | 39 | %hook SFVipHelper 40 | - (BOOL)isVip { 41 | return 1; 42 | } 43 | - (BOOL)isFreePremium { 44 | return 0; 45 | } 46 | %end 47 | 48 | %hook SFNetworkSpeedBar 49 | - (BOOL)isVip { 50 | return 1; 51 | } 52 | - (void)setIsVIP:(BOOL)arg1 { 53 | arg1 = 1; 54 | %orig; 55 | } 56 | %end 57 | 58 | %hook SFVPNServerArea 59 | - (BOOL)isVip { 60 | return 1; 61 | } 62 | - (void)setIsVIP:(BOOL)arg1 { 63 | arg1 = 1; 64 | %orig; 65 | } 66 | %end -------------------------------------------------------------------------------- /SoundCloud++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook TrackMetaDataEntity 2 | - (BOOL)isOfflineSyncFeatureEnabled { 3 | return 1; 4 | } 5 | %end 6 | 7 | %hook UserFeaturesService 8 | - (BOOL)isOfflineSyncFeatureEnabled { 9 | return 1; 10 | } 11 | - (BOOL)isOfflineSyncEnabled { 12 | return 1; 13 | } 14 | - (void)disableOfflineSync { 15 | } 16 | - (BOOL)isKruxEnabled { 17 | return 1; 18 | } 19 | - (BOOL)isDevelopmentMenuEnabled { 20 | return 1; 21 | } 22 | - (BOOL)shouldRequestAds { 23 | return 0; 24 | } 25 | - (BOOL)isHQAudioFeatureEnabled { 26 | return 1; 27 | } 28 | %end 29 | 30 | %hook OfflineSyncConfigurationDataSource 31 | - (BOOL)isOfflineSyncFeatureEnabled { 32 | return 1; 33 | } 34 | - (BOOL)isOfflineSyncEnabled { 35 | return 1; 36 | } 37 | %end 38 | 39 | %hook OfflineBaseService 40 | - (BOOL)isOfflineSyncFeatureEnabled { 41 | return 1; 42 | } 43 | %end 44 | 45 | %hook AdDownloader 46 | - (BOOL)shouldRequestAds { 47 | return 0; 48 | } 49 | %end 50 | 51 | %hook MobileApiUser 52 | - (BOOL)isPro { 53 | return 1; 54 | } 55 | - (void)setIsPro:(BOOL)arg1 { 56 | arg1 = 1; 57 | %orig; 58 | } 59 | %end 60 | 61 | %hook UserSocialRelationshipModel 62 | - (BOOL)isPro { 63 | return 1; 64 | } 65 | - (void)setIsPro:(BOOL)arg1 { 66 | arg1 = 1; 67 | %orig; 68 | } 69 | %end 70 | 71 | %hook SearchUser 72 | - (BOOL)isPro { 73 | return 1; 74 | } 75 | %end -------------------------------------------------------------------------------- /Star VPN++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook PCVPNLocation 2 | - (BOOL)isPremium { 3 | return 1; 4 | } 5 | - (void)setPremium:(BOOL)arg1 { 6 | arg1 = 1; 7 | %orig; 8 | } 9 | %end 10 | 11 | %hook PCClient 12 | - (double)expirationTime { 13 | NSString *dateStr = @"10-10-2099"; 14 | NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 15 | [dateFormat setDateFormat:@"dd-MM-yyyy"]; 16 | NSDate *date = [dateFormat dateFromString:dateStr]; 17 | double final = [date timeIntervalSince1970]; 18 | return final; 19 | } 20 | - (BOOL)isPremium { 21 | return 1; 22 | } 23 | %end 24 | 25 | %hook PCLocationsViewController 26 | - (BOOL)isPremium { 27 | return 1; 28 | } 29 | - (void)setPremium:(BOOL)arg1 { 30 | arg1 = 1; 31 | %orig; 32 | } 33 | %end 34 | 35 | %hook PCLocationTableViewCell 36 | - (void)updateWithLocation:(id)arg1 premium:(BOOL)arg2 { 37 | arg2 = 1; 38 | %orig; 39 | } 40 | %end -------------------------------------------------------------------------------- /Tubio++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook MobileYTWebViewController 2 | - (BOOL)isPremiumVersion { 3 | return 1; 4 | } 5 | - (void)setIsPremiumVersion:(BOOL)arg1 { 6 | arg1 = 1; 7 | %orig; 8 | } 9 | %end 10 | 11 | %hook RemoteRequestDelegate 12 | - (void)initWithReplySocket:(id)arg1 url:(id)arg2 host:(id)arg3 port:(int64_t)arg4 resource:(id)arg5 headers:(id)arg6 andQueue:(id)arg7 isM3U8:(BOOL)arg8 isPremium:(BOOL)arg9 useSD:(BOOL)arg10 { 13 | arg9 = 1; 14 | %orig; 15 | } 16 | - (BOOL)isPremium { 17 | return 1; 18 | } 19 | - (void)setIsPremium:(BOOL)arg1 { 20 | arg1 = 1; 21 | %orig; 22 | } 23 | %end 24 | 25 | %hook PlaylistInputStream 26 | - (void)initWithPlaylistURL:(id)arg1 isPremium:(BOOL)arg2 useSD:(BOOL)arg3 parent:(id)arg4 { 27 | arg2 = 1; 28 | %orig; 29 | } 30 | - (BOOL)isPremium { 31 | return 1; 32 | } 33 | - (void)setIsPremium:(BOOL)arg1 { 34 | arg1 = 1; 35 | %orig; 36 | } 37 | %end 38 | 39 | %hook TBInappPurchaseManager 40 | - (BOOL)productPurchased:(id)arg1 { 41 | return 1; 42 | } 43 | %end -------------------------------------------------------------------------------- /Turbo VPN++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook FlurryUtil 2 | + (BOOL)deviceIsJailbroken { 3 | return 0; 4 | } 5 | + (BOOL)appIsCracked { 6 | return 0; 7 | } 8 | %end 9 | 10 | %hook AppsFlyerUtils 11 | + (BOOL)isJailbroken { 12 | return 0; 13 | } 14 | %end 15 | 16 | %hook ANSMetadata 17 | - (BOOL)computeIsJailbroken { 18 | return 0; 19 | } 20 | - (BOOL)isJailbroken { 21 | return 0; 22 | } 23 | %end 24 | 25 | %hook DUUrlRequestFilterManager 26 | + (BOOL)isJailBreak { 27 | return 0; 28 | } 29 | + (BOOL)isJailBreak1 { 30 | return 0; 31 | } 32 | + (BOOL)isJailBreak2 { 33 | return 0; 34 | } 35 | + (BOOL)isJailBreak3 { 36 | return 0; 37 | } 38 | + (BOOL)isJailBreak4 { 39 | return 0; 40 | } 41 | %end 42 | 43 | %hook ACPrivateBrowserController 44 | - (void)transitionInWithVPNConnected:(BOOL)arg1 serverIcon:(id)arg2 isVIP:(BOOL)arg3 { 45 | arg3 = 1; 46 | %orig; 47 | } 48 | %end 49 | 50 | %hook ACStatisticTool 51 | + (void)setUserID:(id)arg1 isVIP:(BOOL)arg2 { 52 | arg2 = 1; 53 | %orig; 54 | } 55 | %end 56 | 57 | %hook ACUserVIPInfo 58 | - (BOOL)isVIP { 59 | return 1; 60 | } 61 | - (BOOL)isAutoRenew { 62 | return 0; 63 | } 64 | - (void)setIsAutoRenew:(BOOL)arg1 { 65 | arg1 = 0; 66 | %orig; 67 | } 68 | - (NSDate *)vipExpiredDate { 69 | NSString *dateStr = @"10-10-2099"; 70 | NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 71 | [dateFormat setDateFormat:@"dd-MM-yyyy"]; 72 | NSDate *date = [dateFormat dateFromString:dateStr]; 73 | return date; 74 | } 75 | - (void)setVipExpiredDate:(id)arg1 { 76 | NSString *dateStr = @"10-10-2099"; 77 | NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 78 | [dateFormat setDateFormat:@"dd-MM-yyyy"]; 79 | NSDate *date = [dateFormat dateFromString:dateStr]; 80 | arg1 = date; 81 | %orig; 82 | } 83 | %end 84 | 85 | %hook ACUser 86 | - (BOOL)isVIP { 87 | return 1; 88 | } 89 | %end 90 | 91 | %hook ACUserStatisticTool 92 | + (void)setUserID:(id)arg1 isVIP:(BOOL)arg2 { 93 | arg2 = 1; 94 | %orig; 95 | } 96 | %end 97 | 98 | %hook ACVPNServerArea 99 | - (BOOL)isVIP { 100 | return 1; 101 | } 102 | - (void)setIsVIP:(BOOL)arg1 { 103 | arg1 = 1; 104 | %orig; 105 | } 106 | %end 107 | 108 | %hook APMInAppPurchaseItem 109 | - (BOOL)isFreeTrial { 110 | return 0; 111 | } 112 | - (void)setFreeTrial:(BOOL)arg1 { 113 | arg1 = 0; 114 | %orig; 115 | } 116 | - (BOOL)isIntroductoryOffer { 117 | return 0; 118 | } 119 | - (void)setIntroductoryOffer:(BOOL)arg1 { 120 | arg1 = 0; 121 | %orig; 122 | } 123 | %end 124 | 125 | %hook SubscriptionView 126 | - (void)autoRenewSwitchClick:(id)arg1 { 127 | } 128 | %end 129 | 130 | %hook RMAppReceipt 131 | - (BOOL)containsInAppPurchaseOfProductIdentifier:(id)arg1 { 132 | return 1; 133 | } 134 | - (BOOL)containsActiveAutoRenewableSubscriptionOfProductIdentifier:(id)arg1 forDate:(id)arg2 { 135 | return 0; 136 | } 137 | %end 138 | 139 | %hook RMAppReceiptIAP 140 | - (BOOL)isActiveAutoRenewableSubscriptionForDate:(id)arg1 { 141 | return 0; 142 | } 143 | %end 144 | 145 | %hook RMStoreUtils 146 | + (BOOL)isExpiredProductOfIdentifier:(id)arg1 { 147 | return 0; 148 | } 149 | + (BOOL)isExistActivedAutoRenewableSubscriptionForDate:(id)arg1 { 150 | return 0; 151 | } 152 | + (BOOL)isExistActivedAutoRenewableSubscription { 153 | return 0; 154 | } 155 | %end -------------------------------------------------------------------------------- /Twitch++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook TWAccountManager 2 | - (BOOL)isTurbo { 3 | return 1; 4 | } 5 | %end -------------------------------------------------------------------------------- /VPN Proxy Master++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook VipHelper 2 | + (BOOL)isVIP { 3 | return 1; 4 | } 5 | + (BOOL)isRenewable { 6 | return 0; 7 | } 8 | %end 9 | 10 | %hook ACStatisticTool 11 | + (void)setUserID:(id)arg1 isVIP:(BOOL)arg2 { 12 | arg2 = 1; 13 | %orig; 14 | } 15 | %end 16 | 17 | %hook ACUserVIPInfo 18 | - (BOOL)isVIP { 19 | return 1; 20 | } 21 | - (BOOL)isAutoRenew { 22 | return 0; 23 | } 24 | - (void)setIsAutoRenew:(BOOL)arg1 { 25 | arg1 = 0; 26 | %orig; 27 | } 28 | - (NSDate *)vipExpiredDate { 29 | NSString *dateStr = @"10-10-2099"; 30 | NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 31 | [dateFormat setDateFormat:@"dd-MM-yyyy"]; 32 | NSDate *date = [dateFormat dateFromString:dateStr]; 33 | return date; 34 | } 35 | - (void)setVipExpiredDate:(id)arg1 { 36 | NSString *dateStr = @"10-10-2099"; 37 | NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 38 | [dateFormat setDateFormat:@"dd-MM-yyyy"]; 39 | NSDate *date = [dateFormat dateFromString:dateStr]; 40 | arg1 = date; 41 | %orig; 42 | } 43 | %end 44 | 45 | %hook ACUser 46 | - (BOOL)isVIP { 47 | return 1; 48 | } 49 | %end 50 | 51 | %hook ACUserStatisticTool 52 | + (void)setUserID:(id)arg1 isVIP:(BOOL)arg2 { 53 | arg2 = 1; 54 | %orig; 55 | } 56 | %end 57 | 58 | %hook ACVPNServerArea 59 | - (BOOL)isVIP { 60 | return 1; 61 | } 62 | - (void)setIsVIP:(BOOL)arg1 { 63 | arg1 = 1; 64 | %orig; 65 | } 66 | %end 67 | 68 | %hook ACVPNServersViewController 69 | - (BOOL)onTrialVIP { 70 | return 0; 71 | } 72 | %end 73 | 74 | %hook APMInAppPurchaseItem 75 | - (BOOL)isFreeTrial { 76 | return 0; 77 | } 78 | - (void)setFreeTrial:(BOOL)arg1 { 79 | arg1 = 0; 80 | %orig; 81 | } 82 | - (BOOL)isIntroductoryOffer { 83 | return 0; 84 | } 85 | - (void)setIntroductoryOffer:(BOOL)arg1 { 86 | arg1 = 0; 87 | %orig; 88 | } 89 | %end 90 | 91 | %hook MainViewController 92 | - (BOOL)showRatingAfterReturn { 93 | return 0; 94 | } 95 | - (void)setShowRatingAfterReturn:(BOOL)arg1 { 96 | arg1 = 0; 97 | %orig; 98 | } 99 | - (BOOL)rateInAppStore { 100 | return 0; 101 | } 102 | - (void)setRateInAppStore:(BOOL)arg1 { 103 | arg1 = 0; 104 | %orig; 105 | } 106 | - (BOOL)showVipButton { 107 | return 0; 108 | } 109 | - (void)setShowVipButton:(BOOL)arg1 { 110 | arg1 = 0; 111 | %orig; 112 | } 113 | - (void)onClickActButton:(id)arg1 { 114 | } 115 | %end 116 | 117 | %hook SettingsViewController 118 | - (void)onClickVip { 119 | } 120 | - (void)onClickFeedback { 121 | } 122 | - (void)onClickRate { 123 | } 124 | - (void)onClickAccount { 125 | } 126 | %end 127 | 128 | %hook RMAppReceipt 129 | - (BOOL)containsInAppPurchaseOfProductIdentifier:(id)arg1 { 130 | return 1; 131 | } 132 | - (BOOL)containsActiveAutoRenewableSubscriptionOfProductIdentifier:(id)arg1 forDate:(id)arg2 { 133 | return 0; 134 | } 135 | %end 136 | 137 | %hook RMAppReceiptIAP 138 | - (BOOL)isActiveAutoRenewableSubscriptionForDate:(id)arg1 { 139 | return 0; 140 | } 141 | %end 142 | 143 | %hook RMStoreUtils 144 | + (BOOL)isExpiredProductOfIdentifier:(id)arg1 { 145 | return 0; 146 | } 147 | + (BOOL)isExistActivedAutoRenewableSubscriptionForDate:(id)arg1 { 148 | return 0; 149 | } 150 | + (BOOL)isExistActivedAutoRenewableSubscription { 151 | return 0; 152 | } 153 | %end -------------------------------------------------------------------------------- /YouTube Music++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook YTGlobalConfig 2 | - (BOOL)alwaysShowVisitAdvertiser { 3 | return 0; 4 | } 5 | %end 6 | 7 | %hook YTUpsell 8 | - (BOOL)isCounterfactual { 9 | return 1; 10 | } 11 | %end 12 | 13 | %hook YTIPlayerResponse 14 | - (BOOL)ytm_isAudioOnlyPlayable { 15 | return 1; 16 | } 17 | - (id)ytm_audioOnlyUpsell { 18 | return NULL; 19 | } 20 | - (id)offlineUpsell { 21 | return NULL; 22 | } 23 | - (id)backgroundUpsell { 24 | return NULL; 25 | } 26 | - (BOOL)isMonetized { 27 | return 0; 28 | } 29 | - (BOOL)isPlayableInBackground { 30 | return 1; 31 | } 32 | %end 33 | 34 | %hook YTSingleVideo 35 | - (BOOL)isPlayableInPictureInPicture { 36 | return 1; 37 | } 38 | - (BOOL)isPlayableInBackground { 39 | return 1; 40 | } 41 | %end 42 | 43 | %hook YTPlaybackData 44 | - (BOOL)isPlayableInBackground { 45 | return 1; 46 | } 47 | %end 48 | 49 | %hook YTIPlayabilityStatus 50 | - (BOOL)isKoreanAgeVerificationRequired { 51 | return 0; 52 | } 53 | - (BOOL)isAgeCheckRequired { 54 | return 0; 55 | } 56 | - (BOOL)isContentCheckRequired { 57 | return 0; 58 | } 59 | - (BOOL)isPlayableInBackground { 60 | return 1; 61 | } 62 | - (BOOL)isPlayableInPictureInPicture { 63 | return 1; 64 | } 65 | - (id)offlineUpsell { 66 | return NULL; 67 | } 68 | - (id)backgroundUpsell { 69 | return NULL; 70 | } 71 | %end 72 | 73 | %hook YTMVideoOverlayViewController 74 | - (BOOL)isContentPanAllowed { 75 | return 1; 76 | } 77 | - (id)maybeShowUserEducation { 78 | return NULL; 79 | } 80 | - (id)maybeShowAudioOnlyUpsell { 81 | return NULL; 82 | } 83 | - (BOOL)isAVSwitchAvailable { 84 | return 1; 85 | } 86 | - (BOOL)showAVSwitchUserEducation { 87 | return 0; 88 | } 89 | - (BOOL)canDoubleTapForCurrentPlayerState { 90 | return 1; 91 | } 92 | - (BOOL)isAudioOnlyAuthorized { 93 | return 1; 94 | } 95 | - (void)setAVSwitchAvailable:(BOOL)arg1 { 96 | arg1 = 1; 97 | %orig; 98 | } 99 | %end 100 | 101 | %hook YTMAudioCastUpsellDialogController 102 | - (id)showAudioCastUpsellDialogWithUpsellParentResponder:(id)arg1 { 103 | return NULL; 104 | } 105 | %end 106 | 107 | %hook YTMUpsellDialogController 108 | - (id)showUpsellDialogWithUpsell:(id)arg1 upsellParentResponder:(id)arg2 { 109 | return NULL; 110 | } 111 | - (id)showUpsellDialogWithUpsellResponderEvent:(id)arg1 { 112 | return NULL; 113 | } 114 | - (id)showUpsellDialogWithUpsell:(id)arg1 videoID:(id)arg2 toastType:(int)arg3 upsellParentResponder:(id)arg4 { 115 | return NULL; 116 | } 117 | %end 118 | 119 | %hook YTMSettings 120 | - (BOOL)areHintsDisabled { 121 | return 1; 122 | } 123 | - (BOOL)doubleTapToSeekEnabled { 124 | return 1; 125 | } 126 | - (BOOL)isAudioQualitySettingsEnabled { 127 | return 1; 128 | } 129 | - (BOOL)allowAudioOnlyManualQualitySelection { 130 | return 1; 131 | } 132 | - (BOOL)allowRestrictedContentFlow { 133 | return 1; 134 | } 135 | - (void)setHintsDisabled:(BOOL)arg1 { 136 | arg1 = 1; 137 | %orig; 138 | } 139 | %end 140 | 141 | %hook YTIBackgroundabilityRenderer 142 | - (id)backgroundUpsell { 143 | return NULL; 144 | } 145 | %end 146 | 147 | %hook YTMBackgroundUpsellNotificationController 148 | - (id)removePendingBackgroundNotifications { 149 | return NULL; 150 | } 151 | - (id)maybeScheduleBackgroundUpsellNotification { 152 | return NULL; 153 | } 154 | %end 155 | 156 | %hook YTMWatchViewController 157 | - (BOOL)isAudioOnlyAuthorized:(id)arg1 { 158 | return 1; 159 | } 160 | %end 161 | 162 | %hook YTMNavigationDrawerPromoView 163 | - (id)init { 164 | return NULL; 165 | } 166 | %end 167 | 168 | %hook YTDoubleTapToSeekController 169 | - (void)enableDoubleTapToSeek:(BOOL)arg1 { 170 | arg1 = 1; 171 | %orig; 172 | } 173 | - (void)showDoubleTapToSeekEducationView:(BOOL)arg1 { 174 | arg1 = 0; 175 | %orig; 176 | } 177 | %end 178 | 179 | %hook YTMContentViewController 180 | - (id)showUpsellOrUserMessageForOfflineVideos:(id)arg1 offlineWatchEndpoint:(id)arg2 { 181 | return NULL; 182 | } 183 | %end 184 | 185 | %hook YTIOfflineabilityRenderer 186 | - (id)offlineUpsell { 187 | return NULL; 188 | } 189 | %end 190 | 191 | %hook YTIOfflineState 192 | - (id)offlineUpsell { 193 | return NULL; 194 | } 195 | %end 196 | 197 | %hook YTPlayerPromoController 198 | - (BOOL)showBackgroundabilityUpsell { 199 | return 0; 200 | } 201 | - (BOOL)showBackgroundOnboardingHint { 202 | return 0; 203 | } 204 | %end 205 | 206 | %hook YTCarPlayController 207 | - (void)setPremiumSubscriber:(BOOL)arg1 { 208 | arg1 = 1; 209 | %orig; 210 | } 211 | - (BOOL)isPremiumSubscriber { 212 | return 1; 213 | } 214 | %end -------------------------------------------------------------------------------- /ZiniTevi++/Tweak.xm: -------------------------------------------------------------------------------- 1 | %hook NavRootVC 2 | - (UIView *)viewAds { 3 | return NULL; 4 | } 5 | %end 6 | 7 | %hook ALInterstitialAd 8 | - (void)initWithSdk:(id)arg1 { 9 | } 10 | %end 11 | 12 | %hook Util 13 | - (BOOL)isLimitTrackingAds { 14 | return 0; 15 | } 16 | %end --------------------------------------------------------------------------------