mirror of
https://github.com/NohamR/Tweaks.git
synced 2026-05-24 19:59:59 +00:00
Add Infuse rootless tweaks for iOS/tvOS
This commit is contained in:
3
Infuse/Infuse-iOS/.gitignore
vendored
Normal file
3
Infuse/Infuse-iOS/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
.theos/
|
||||
packages/
|
||||
.DS_Store
|
||||
7
Infuse/Infuse-iOS/Infuse.plist
Normal file
7
Infuse/Infuse-iOS/Infuse.plist
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
Filter = {
|
||||
Bundles = (
|
||||
"com.firecore.infuse",
|
||||
);
|
||||
};
|
||||
}
|
||||
13
Infuse/Infuse-iOS/Makefile
Normal file
13
Infuse/Infuse-iOS/Makefile
Normal file
@@ -0,0 +1,13 @@
|
||||
TARGET = iphone:latest:14.0
|
||||
INSTALL_TARGET_PROCESSES = infuse
|
||||
ARCHS = arm64 arm64e
|
||||
|
||||
include $(THEOS)/makefiles/common.mk
|
||||
|
||||
TWEAK_NAME = Infuse
|
||||
|
||||
Infuse_FILES = Tweak.x
|
||||
Infuse_CFLAGS = -fobjc-arc
|
||||
Infuse_FRAMEWORKS = Foundation
|
||||
|
||||
include $(THEOS_MAKE_PATH)/tweak.mk
|
||||
81
Infuse/Infuse-iOS/Tweak.x
Normal file
81
Infuse/Infuse-iOS/Tweak.x
Normal file
@@ -0,0 +1,81 @@
|
||||
// changes : FCInAppPurchaseServiceFreemium block deleted, FCTraktIAPManager block deleted, layoutSubviews -> awakeFromNib on FCVersionView, and the dead return %orig lines after return statements cleaned up (they were unreachable in the old version too)
|
||||
|
||||
#import <substrate.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
%hook FCIAPGUIHelper
|
||||
+(bool) isProAvailable {
|
||||
return TRUE;
|
||||
}
|
||||
+(bool) isSubscriptionBought {
|
||||
return TRUE;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FCInAppPurchaseServiceBase
|
||||
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||
return 1;
|
||||
}
|
||||
- (bool)isFeaturePurchased:(long long)arg1 {
|
||||
return 1;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FCInAppPurchaseServiceDummy
|
||||
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||
return 1;
|
||||
}
|
||||
%end
|
||||
|
||||
// REMOVED: FCInAppPurchaseServiceFreemium (class gone from binary, replaced by SK2)
|
||||
|
||||
// SK2 IAP backend
|
||||
%hook _TtC6infuse31InAppPurchaseServiceFreemiumSK2
|
||||
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||
return 1;
|
||||
}
|
||||
- (long long)iapVersionStatus {
|
||||
// FCUpgradeToProViewController.featureHasBought checks iapVersionStatus > 0
|
||||
return 1;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FCProductCollectionCell
|
||||
-(bool) featurePurchased {
|
||||
return TRUE;
|
||||
}
|
||||
%end
|
||||
|
||||
// REMOVED: FCTraktIAPManager (class gone from binary)
|
||||
|
||||
%hook FCUpgradeToProViewController
|
||||
-(bool) featureHasBought {
|
||||
return TRUE;
|
||||
}
|
||||
%end
|
||||
|
||||
// Add credits
|
||||
@interface FCVersionView : UIView
|
||||
@property (nonatomic, strong) UILabel *label;
|
||||
@end
|
||||
|
||||
%hook FCVersionView
|
||||
- (void)awakeFromNib {
|
||||
%orig;
|
||||
UILabel *label = (UILabel *)[self valueForKey:@"label"];
|
||||
if ([label.text containsString:@"Infuse Pro"] && ![label.text hasPrefix:@"Infuse Team •"]) {
|
||||
label.text = [NSString stringWithFormat:@"Infuse Team • %@", label.text];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// iOS 16 Crash Fix
|
||||
%hook CKContainer
|
||||
+ (id)defaultContainer {
|
||||
return nil;
|
||||
}
|
||||
+ (id)containerWithIdentifier:(id)arg1 {
|
||||
return nil;
|
||||
}
|
||||
%end
|
||||
10
Infuse/Infuse-iOS/control
Normal file
10
Infuse/Infuse-iOS/control
Normal file
@@ -0,0 +1,10 @@
|
||||
Package: io.infuseteam.infuserootless
|
||||
Name: Infuse (Rootless)
|
||||
Version: 2.0
|
||||
Architecture: iphoneos-arm
|
||||
Description: Unlock the full potential of Infuse
|
||||
Maintainer: Infuse Team
|
||||
Author: Infuse Team
|
||||
Section: Tweaks
|
||||
Depends: firmware (>= 18.3)
|
||||
Conflicts: io.infuseteam.infuse, io.infuseteam.infuseroothide, io.infuseteam.infuselegacy, xyz.eshaydev.ignition, com.ippteam.infuse, com.strejda603.infuse6pro, xyz.eshaydev.infuse
|
||||
26
Infuse/Infuse-iOS/index.md
Normal file
26
Infuse/Infuse-iOS/index.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Infuse (iOS)
|
||||
|
||||
Unlock the full potential of Infuse.
|
||||
|
||||
- **App**: [Infuse](https://apps.apple.com/fr/app/infuse/id1136220934)
|
||||
- **Tested version**: 8.4.2
|
||||
- **Target**: iOS 18+ (tested on iOS 18.7.1 using LiveContainer)
|
||||
|
||||
## Build
|
||||
|
||||
```sh
|
||||
make package FINALPACKAGE=1
|
||||
```
|
||||
|
||||
## Inject
|
||||
|
||||
```sh
|
||||
cyan -i infuse-8.4.2.ipa \
|
||||
-o infuse-8.4.2_patched.ipa \
|
||||
-f io.infuseteam.infuserootless_2.0_iphoneos-arm.deb \
|
||||
-u
|
||||
```
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||
3
Infuse/Infuse-tvOS/.gitignore
vendored
Normal file
3
Infuse/Infuse-tvOS/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
.theos/
|
||||
packages/
|
||||
.DS_Store
|
||||
7
Infuse/Infuse-tvOS/Infuse.plist
Normal file
7
Infuse/Infuse-tvOS/Infuse.plist
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
Filter = {
|
||||
Bundles = (
|
||||
"com.firecore.infuse",
|
||||
);
|
||||
};
|
||||
}
|
||||
17
Infuse/Infuse-tvOS/Makefile
Normal file
17
Infuse/Infuse-tvOS/Makefile
Normal file
@@ -0,0 +1,17 @@
|
||||
TARGET = appletv:latest:18.3
|
||||
ARCHS = arm64
|
||||
INSTALL_TARGET_PROCESSES = infuse
|
||||
THEOS_PACKAGE_SCHEME = rootless
|
||||
|
||||
include $(THEOS)/makefiles/common.mk
|
||||
|
||||
TWEAK_NAME = Infuse
|
||||
|
||||
Infuse_FILES = Tweak.x
|
||||
Infuse_CFLAGS = -fobjc-arc
|
||||
Infuse_FRAMEWORKS = Foundation UIKit
|
||||
|
||||
include $(THEOS_MAKE_PATH)/tweak.mk
|
||||
test-print:
|
||||
@echo "ARCH is $(THEOS_PACKAGE_ARCH)"
|
||||
@echo "CONTROL is $(_THEOS_DEB_PACKAGE_CONTROL_PATH)"
|
||||
81
Infuse/Infuse-tvOS/Tweak.x
Normal file
81
Infuse/Infuse-tvOS/Tweak.x
Normal file
@@ -0,0 +1,81 @@
|
||||
// changes : FCInAppPurchaseServiceFreemium block deleted, FCTraktIAPManager block deleted, layoutSubviews -> awakeFromNib on FCVersionView, and the dead return %orig lines after return statements cleaned up (they were unreachable in the old version too)
|
||||
|
||||
#import <substrate.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
%hook FCIAPGUIHelper
|
||||
+(bool) isProAvailable {
|
||||
return TRUE;
|
||||
}
|
||||
+(bool) isSubscriptionBought {
|
||||
return TRUE;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FCInAppPurchaseServiceBase
|
||||
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||
return 1;
|
||||
}
|
||||
- (bool)isFeaturePurchased:(long long)arg1 {
|
||||
return 1;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FCInAppPurchaseServiceDummy
|
||||
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||
return 1;
|
||||
}
|
||||
%end
|
||||
|
||||
// REMOVED: FCInAppPurchaseServiceFreemium (class gone from binary, replaced by SK2)
|
||||
|
||||
// SK2 IAP backend
|
||||
%hook _TtC6infuse31InAppPurchaseServiceFreemiumSK2
|
||||
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||
return 1;
|
||||
}
|
||||
- (long long)iapVersionStatus {
|
||||
// FCUpgradeToProViewController.featureHasBought checks iapVersionStatus > 0
|
||||
return 1;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FCProductCollectionCell
|
||||
-(bool) featurePurchased {
|
||||
return TRUE;
|
||||
}
|
||||
%end
|
||||
|
||||
// REMOVED: FCTraktIAPManager (class gone from binary)
|
||||
|
||||
%hook FCUpgradeToProViewController
|
||||
-(bool) featureHasBought {
|
||||
return TRUE;
|
||||
}
|
||||
%end
|
||||
|
||||
// Add credits
|
||||
@interface FCVersionView : UIView
|
||||
@property (nonatomic, strong) UILabel *label;
|
||||
@end
|
||||
|
||||
%hook FCVersionView
|
||||
- (void)awakeFromNib {
|
||||
%orig;
|
||||
UILabel *label = (UILabel *)[self valueForKey:@"label"];
|
||||
if ([label.text containsString:@"Infuse Pro"] && ![label.text hasPrefix:@"Infuse Team •"]) {
|
||||
label.text = [NSString stringWithFormat:@"Infuse Team • %@", label.text];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// iOS 16 Crash Fix
|
||||
%hook CKContainer
|
||||
+ (id)defaultContainer {
|
||||
return nil;
|
||||
}
|
||||
+ (id)containerWithIdentifier:(id)arg1 {
|
||||
return nil;
|
||||
}
|
||||
%end
|
||||
10
Infuse/Infuse-tvOS/control
Normal file
10
Infuse/Infuse-tvOS/control
Normal file
@@ -0,0 +1,10 @@
|
||||
Package: io.infuseteam.infuserootless
|
||||
Name: Infuse (Rootless)
|
||||
Version: 2.0
|
||||
Architecture: appletvos-arm64
|
||||
Description: Unlock the full potential of Infuse
|
||||
Maintainer: Infuse Team
|
||||
Author: Infuse Team
|
||||
Section: Tweaks
|
||||
Depends: firmware
|
||||
Conflicts: io.infuseteam.infuse, io.infuseteam.infuseroothide, io.infuseteam.infuselegacy, xyz.eshaydev.ignition, com.ippteam.infuse, com.strejda603.infuse6pro, xyz.eshaydev.infuse
|
||||
26
Infuse/Infuse-tvOS/index.md
Normal file
26
Infuse/Infuse-tvOS/index.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Infuse tvOS
|
||||
|
||||
Unlock pro features in Infuse.
|
||||
|
||||
- **App**: [Infuse](https://apps.apple.com/fr/app/infuse/id1136220934)
|
||||
- **Tested version**: 8.2.4
|
||||
- **Target**: tvOS 18.3 (tested on tvOS 18.3)
|
||||
|
||||
## Build
|
||||
|
||||
```sh
|
||||
make package FINALPACKAGE=1
|
||||
```
|
||||
|
||||
## Inject
|
||||
|
||||
```sh
|
||||
cyan -i infuse-8.2.4.ipa \
|
||||
-o infuse-8.2.4_patched.ipa \
|
||||
-f io.infuseteam.infuserootless_2.0_tvos-arm64.deb \
|
||||
-u
|
||||
```
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||
@@ -11,6 +11,8 @@ iOS tweaks built with [Theos](https://theos.dev), injected into IPAs via [cyan](
|
||||
| [TextasticPro](TextasticPro/index.md) | Textastic 10.9.2 | iOS 18+ |
|
||||
| [BusinessJB](BusinessJB/index.md) | Business 2.3.000 | iOS 15 |
|
||||
| [CreditAgricoleJB](CreditAgricoleJB/index.md) | Ma Banque 47.0.0 | iOS 15.8.6 |
|
||||
| [Infuse](Infuse/Infuse-tvOS/index.md) | Infuse 8.2.4 | tvOS 18.3 |
|
||||
| [Infuse (iOS)](Infuse/Infuse-iOS/index.md) | Infuse 8.4.2 | iOS 18+ |
|
||||
|
||||
## Build
|
||||
|
||||
|
||||
BIN
docs/screens/Infuse/mobile.png
Normal file
BIN
docs/screens/Infuse/mobile.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 232 KiB |
BIN
docs/screens/Infuse/settings.png
Normal file
BIN
docs/screens/Infuse/settings.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
Reference in New Issue
Block a user