Add Infuse rootless tweaks for iOS/tvOS

This commit is contained in:
√(noham)²
2026-04-09 21:45:44 +02:00
parent 5973408630
commit 2e08be66c0
16 changed files with 287 additions and 1 deletions

2
.gitignore vendored
View File

@@ -2,4 +2,4 @@
/CreditAgricoleTweak
/RMHook
/rootless
Build.md
Build.md

3
Infuse/Infuse-iOS/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.theos/
packages/
.DS_Store

View File

@@ -0,0 +1,7 @@
{
Filter = {
Bundles = (
"com.firecore.infuse",
);
};
}

View 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
View 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
View 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

View 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
![mobile.png](../../docs/screens/Infuse/mobile.png)

3
Infuse/Infuse-tvOS/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.theos/
packages/
.DS_Store

View File

@@ -0,0 +1,7 @@
{
Filter = {
Bundles = (
"com.firecore.infuse",
);
};
}

View 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)"

View 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

View 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

View 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
![../docs/screens/Infuse/settings.png](../docs/screens/Infuse/settings.png)

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB