Jump to content

19 posts in this topic

Recommended Posts

Posted

Hey guys. After hours of coding and help from various people, I finally got my Patcher to compile. Problem is, the hack makes the game crash after I swipe two fruits.

 

My iPhone specs:

6+ running ARM64

 

Here's the code (Don't steal my offsets)

 

 

My Tweak.xm

#include <UIKit/UIKit.h>
#include <CoreFoundation/CoreFoundation.h>
#include <substrate.h>
#include <Foundation/Foundation.h>

#define PLIST_PATH @"/var/mobile/Library/Preferences/com.goggwell.FruitNinja.plist"

inline bool GetPrefBool(NSString *key) {
    return [[[NSDictionary dictionaryWithContentsOfFile:PLIST_PATH] valueForKey:key] boolValue];
}

bool (*old_IsTimedGamev)(void *ptr);
int (*old_WaveManager9SpawnBombEiP12SPAWNER_INFOi)(void *ptr);
int (*old_WaveManager17GetCriticalChanceEi)(void *ptr);
int (*old_Components5Score8LifeLostE8_Vector3IfEiP6Entity)(void *ptr);
bool (*old_Components5Score9IsNewBestEv)(void *ptr);
int (*old_AIManager10Tournament11GetEntryFeeERKN6Mortar11AsciiStringE)(void *ptr);


bool IsTimedGamev(void *ptr) {
    if(GetPrefBool(@"kTimed")) {
        return FALSE;
    } else {
        return old_IsTimedGamev(ptr);
    }
}

int WaveManager9SpawnBombEiP12SPAWNER_INFOi(void *ptr) {
    if(GetPrefBool(@"kBomb")) {
        return 0;
    } else {
        return old_WaveManager9SpawnBombEiP12SPAWNER_INFOi(ptr);
    }
}

int WaveManager17GetCriticalChanceEi(void *ptr) {
    if(GetPrefBool(@"kCrit")) {
        return 100;
    } else {
        return old_WaveManager17GetCriticalChanceEi(ptr);
    }
}

int Components5Score8LifeLostE8_Vector3IfEiP6Entity(void *ptr) {
    if(GetPrefBool(@"kLost")) {
        return 0;
    } else {
        return old_Components5Score8LifeLostE8_Vector3IfEiP6Entity(ptr);
    }
}

int Components5Score9IsNewBestEv(void *ptr) {
    if(GetPrefBool(@"kBest")) {
        return TRUE;
    } else {
        return old_Components5Score9IsNewBestEv(ptr);
    }
}

int AIManager10Tournament11GetEntryFeeERKN6Mortar11AsciiStringE(void *ptr) {
    if(GetPrefBool(@"kFee")) {
        return 0;
    } else {
        return old_AIManager10Tournament11GetEntryFeeERKN6Mortar11AsciiStringE(ptr);
    }
}


__attribute__((constructor)) void DylibMain()
{

    MSHookFunction(MSFindSymbol(NULL,"__Z11IsTimedGamev"),(void *)IsTimedGamev,(void**)&old_IsTimedGamev);
    MSHookFunction(MSFindSymbol(NULL,"__ZN11WaveManager9SpawnBombEiP12SPAWNER_INFOi"),(void *)WaveManager9SpawnBombEiP12SPAWNER_INFOi,(void**)&old_WaveManager9SpawnBombEiP12SPAWNER_INFOi);
    MSHookFunction(MSFindSymbol(NULL,"__ZN11WaveManager17GetCriticalChanceEi"),(void *)WaveManager17GetCriticalChanceEi,(void**)&old_WaveManager17GetCriticalChanceEi);
    MSHookFunction(MSFindSymbol(NULL,"__ZN10Components5Score8LifeLostE8_Vector3IfEiP6Entity"),(void *)Components5Score8LifeLostE8_Vector3IfEiP6Entity,(void**)&old_Components5Score8LifeLostE8_Vector3IfEiP6Entity);
    MSHookFunction(MSFindSymbol(NULL,"__ZNK10Components5Score9IsNewBestEv"),(void *)Components5Score9IsNewBestEv,(void**)&old_Components5Score9IsNewBestEv);
    MSHookFunction(MSFindSymbol(NULL,"__ZN9AIManager10Tournament11GetEntryFeeERKN6Mortar11AsciiStringE"),(void *)AIManager10Tournament11GetEntryFeeERKN6Mortar11AsciiStringE,(void**)&old_AIManager10Tournament11GetEntryFeeERKN6Mortar11AsciiStringE);

}
 

 

 

 

 

My Makefile (Tweak)

ARCHS = armv7 arm64
include theos/makefiles/common.mk

TWEAK_NAME = FruitNinja
FruitNinja_FILES = Tweak.xm

include $(THEOS_MAKE_PATH)/tweak.mk

after-install::
	install.exec "killall -9 SpringBoard"
SUBPROJECTS += fruitninja
include $(THEOS_MAKE_PATH)/aggregate.mk
 

 

 

 

 

My Makefile (Pref)

ARCHS = armv7 arm64
include theos/makefiles/common.mk

BUNDLE_NAME = FruitNinja
FruitNinja_FILES = FruitNinja.mm
FruitNinja_INSTALL_PATH = /Library/PreferenceBundles
FruitNinja_FRAMEWORKS = UIKit
FruitNinja_PRIVATE_FRAMEWORKS = Preferences

include $(THEOS_MAKE_PATH)/bundle.mk

internal-stage::
	$(ECHO_NOTHING)mkdir -p $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences$(ECHO_END)
	$(ECHO_NOTHING)cp entry.plist $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences/FruitNinja.plist$(ECHO_END)
 

 

 

 

 

My xxx.mm file

#import <Preferences/Preferences.h>



@interface FruitNinjaListController: PSListController {

}

@end



@implementation FruitNinjaListController

- (id)specifiers {

	if(_specifiers == nil) {

		_specifiers = [[self loadSpecifiersFromPlistName:@"FruitNinja" target:self] retain];

	}

	return _specifiers;

}



-(void)respring {

	 system("killall -9 SpringBoard");

      }



@end



// vim:ft=objc
 

 

 

 

 

My Pref PLIST

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>entry</key>
	<dict>
		<key>cell</key>
		<string>PSLinkCell</string>
		<key>icon</key>
		<string>icon.png</string>
		<key>label</key>
		<string>Fruit Ninja Hack</string>
	</dict>
	<key>items</key>
	<array>
		<dict>
			<key>cell</key>
			<string>PSSwitchCell</string>
			<key>default</key>
			<false/>
			<key>defaults</key>
			<string>com.goggwell.FruitNinja</string>
			<key>key</key>
			<string>kTimed</string>
			<key>label</key>
			<string>No Timer</string>
		</dict>
		<dict>
			<key>cell</key>
			<string>PSSwitchCell</string>
			<key>default</key>
			<false/>
			<key>defaults</key>
			<string>com.goggwell.FruitNinja</string>
			<key>key</key>
			<string>kBomb</string>
			<key>label</key>
			<string>No Bombs</string>
		</dict>
		<dict>
			<key>cell</key>
			<string>PSSwitchCell</string>
			<key>default</key>
			<false/>
			<key>defaults</key>
			<string>com.goggwell.FruitNinja</string>
			<key>key</key>
			<string>kCrit</string>
			<key>label</key>
			<string>(90%)Always Crit</string>
		</dict>
		<dict>
			<key>cell</key>
			<string>PSSwitchCell</string>
			<key>default</key>
			<false/>
			<key>defaults</key>
			<string>com.goggwell.FruitNinja</string>
			<key>key</key>
			<string>kLost</string>
			<key>label</key>
			<string>Lose No Life</string>
		</dict>
		<dict>
			<key>cell</key>
			<string>PSSwitchCell</string>
			<key>default</key>
			<false/>
			<key>defaults</key>
			<string>com.goggwell.FruitNinja</string>
			<key>key</key>
			<string>kBest</string>
			<key>label</key>
			<string>Always Best Score</string>
		</dict>
		<dict>
			<key>cell</key>
			<string>PSSwitchCell</string>
			<key>default</key>
			<false/>
			<key>defaults</key>
			<string>com.goggwell.FruitNinja</string>
			<key>key</key>
			<string>kWin</string>
			<key>label</key>
			<string>Always Win (unless you're noob)</string>
		</dict>
		<dict>
			<key>cell</key>
			<string>PSSwitchCell</string>
			<key>default</key>
			<false/>
			<key>defaults</key>
			<string>com.goggwell.FruitNinja</string>
			<key>key</key>
			<string>kFee</string>
			<key>label</key>
			<string>No Tournament Fee</string>
		</dict>
		<dict>
			<key>cell</key>
			<string>PSSwitchCell</string>
			<key>default</key>
			<false/>
			<key>defaults</key>
			<string>com.goggwell.FruitNinja</string>
			<key>key</key>
			<string>kBeat</string>
			<key>label</key>
			<string>Beat Tournament</string>
		</dict>
		<dict>
			<key>cell</key>
			<string>PSGroupCell</string>
			<key>label</key>
			<string>Hacked by Goggwell</string>
		</dict>
		<dict>
			<key>cell</key>
			<string>PSButtonCell</string>
			<key>label</key>
			<string>Respring</string>
			<key>action</key>
			<string>respring</string>
		</dict>
	</array>
	<key>title</key>
	<string>Fruit Ninja Hack</string>
</dict>
</plist>  

 

 

 

If anyone could help me out that would be much appreciated :D

Posted

WaveManager9SpawnBombEiP12SPAWNER Is not an integer. BX LR or (void) WaveManager9SpawnBombEiP12SPAWNER { return; }

Posted

WaveManager9SpawnBombEiP12SPAWNER Is not an integer. BX LR or (void) WaveManager9SpawnBombEiP12SPAWNER { return; }

It worked on my Tweak though

Posted

Change *ptr to *self

Ok I'll try

 

 

Use what I have you for an example

I did, but it didn't compile and when it did, it crashed my game

Posted

Ok I'll try

 

 

I did, but it didn't compile and when it did, it crashed my game

Just use the code as an example. Nothing else. Also do what z0ne said, *self. It was in my example. Also it maybe your function.
Posted

try thes ...

 

if(GetPrefBool(@"kBomb")) {
return 0;

 

to

 

if(GetPrefBool(@"kBomb")) {
return -1;

 

and do't put popup MGS

 

hook appdelegate

-(void) bla bla ....

Posted

try thes ...

 

if(GetPrefBool(@"kBomb")) {

return 0;

 

to

 

if(GetPrefBool(@"kBomb")) {

return -1;

 

and do't put popup MGS

 

hook appdelegate

-(void) bla bla ....

I made one with 0 already. That's not the problem.
Posted

try thes ...

 

if(GetPrefBool(@"kBomb")) {

return 0;

 

to

 

if(GetPrefBool(@"kBomb")) {

return -1;

 

and do't put popup MGS

 

hook appdelegate

-(void) bla bla ....

 

That worked on my other tweak. I'm still trying to fix the code.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Our picks

    • Cats And The Forest v2.0.12 [ +3 APK MOD ] Gold Unlimited
      Mod APK Game Name: Cats And The Forest
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.SuperCarrot.CatsAndTheForest&hl=en_US

       

      🤩 Hack Features

      - Never Die
      - Unlimited Gold / Enemy & Boss Drop
      - Claim Rewards For Gems

      ⬇️ Android Mod APK Download Link


      Hidden Content

      Download Modded APK







       

      📖 Android Installation Instructions

      STEP 1: Download the modded APK file from the link above using your preferred Android browser or download manager.
      STEP 2: Once the download is complete, open your file manager and locate the downloaded .apk file (usually in the Downloads folder).
      STEP 3: Tap the APK file, then select Install. If prompted, enable Install from Unknown Sources in your device settings.
      STEP 3A: If the mod includes an OBB file, extract it if it’s inside an archive. Then move the folder to: /Android/obb/
      STEP 3B: If the mod includes a DATA file, extract it if it’s archived. Then move the folder to: /Android/data/
      STEP 4: Once installed, open the game and toggle your desired cheats & features through the APK mod menu. Enjoy!

       

      NOTE: If you have any questions or issues, read our Frequently Asked Questions topic. If you still need help, post your issue below and we’ll assist you as soon as possible. If the mod works for you, please share your feedback to help other members!

       

      🙌 Credits

      - IK_IK

       

      📷 Cheat Video/Screenshots

      N/A

       

       iOS & iPadOS App Hacks
      If you’re looking for Non-Jailbroken & No Jailbreak required iOS IPA hacks, visit the iOS Game Cheats & Hacks or the iOSGods App for a variety of modded games and apps for non-jailbroken iOS devices.
      • 0 replies
    • MWT: Tank Battles v1.15.1 Jailed Cheats +5
      Modded/Hacked App: MWT: Tank Battles By ARTSTORM FZE
      Bundle ID: com.Shooter.ModernWarfront
      iTunes Store Link: https://apps.apple.com/us/app/mwt-tank-battles/id6469805187?uo=4


      Hack Features:
      - Multiply Attack
      - Multiply Defense
      - God Mode
      - Freeze Boosters
      - Free Subscription?
      + 10% EXP
      + 50% Cash / Gold


      iOS Hack Download IPA Link: https://iosgods.com/topic/188441-mwt-tank-battles-v121-jailed-cheats-5/
      • 210 replies
    • Gun Hero: Cat Survival Shooter v1.2.4 [ +8 APK MOD ] Currency Max
      Mod APK Game Name: Gun Hero: Cat Survival Shooter
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.BMGames.GunHero&hl=en_US
      🤩 Hack Features

      - Auto ADS OFF
      - Unlimited Gems / Earn
      - Unlimited Coins / Earn
      - Unlimited ADS Ticket / Earn
      - Unlimited Keys +2 / Earn
      - Unlimited Scrolls / Earn
      - Unlimited HP / AiD Kit Use In Battle
      - Unlimited ATK / Linked
      • 0 replies
    • Fishing Hook2 v1.0.3 [ +1 APK MOD ] Currency Max
      Mod APK Game Name: Fishing Hook2
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.mobirix.fishinghook2&hl=en_US

      🤩 Hack Features

      - Unlimited Gold / Sell Fish
      • 0 replies
    • ACE Fighter Modern Air Combat v2.747  [ +2 APK MOD ] Currency Max
      Mod APK Game Name: ACE Fighter: Modern Air Combat
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.ParsisGames.AirCombatEn&hl=en_US

      🤩 Hack Features

      - Unlimited Gold / Disable After Hack
      - Unlimited Energy / When 0 Then Use
      • 0 replies
    • My War: Frozen Survival v1.1.31 Jailed Cheats +2
      Modded/Hacked App: My War: Frozen Survival By EVISTA PTE. LTD.
      Bundle ID: com.evsita.mywar.global.ios
      App Store Link: https://apps.apple.com/us/app/my-war-frozen-survival/id6753156289?uo=4

       

      📌 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🤩 Hack Features

      - God Mode
      - Multiply Attack

       

      Jailbroken Hack: https://iosgods.com/topic/203750-my-war-frozen-survival-cheats-v1131-2/

       

      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/203749-my-war-frozen-survival-v1131-jailed-cheats-2/
      • 0 replies
    • Idle Ninja Online: NINJA AFK 2.481 +4 Cheats
      Mod APK Game Name: Idle Ninja Online: NINJA AFK By Puzzle Monsters Inc.
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.puzzlemonsters.growninja

       

      🤩 Hack Features

      - Hit Count Multiplier
      - Move Speed Multiplier
      - No Skills Cooldown
      - No Mana Consume

       

      ⬇️ Android Mod APK Download Link


      Hidden Content

      Download Modded APK







       

      📖 Android Installation Instructions

      STEP 1: Download the modded APK file from the link above using your preferred Android browser or download manager.
      STEP 2: Once the download is complete, open your file manager and locate the downloaded .apk file (usually in the Downloads folder).
      STEP 3: Tap the APK file, then select Install. If prompted, enable Install from Unknown Sources in your device settings.
      STEP 3A: If the mod includes an OBB file, extract it if it’s inside an archive. Then move the folder to: /Android/obb/
      STEP 3B: If the mod includes a DATA file, extract it if it’s archived. Then move the folder to: /Android/data/
      STEP 4: Once installed, open the game and toggle your desired cheats & features through the APK mod menu. Enjoy!

       

      NOTE: If you have any questions or issues, read our Frequently Asked Questions topic. If you still need help, post your issue below and we’ll assist you as soon as possible. If the mod works for you, please share your feedback to help other members!

       

      🙌 Credits

      - AlyssaX64

       

      📷 Cheat Video/Screenshots

      N/A

       

       iOS & iPadOS App Hacks
      If you’re looking for Non-Jailbroken & No Jailbreak required iOS IPA hacks, visit the iOS Game Cheats & Hacks or the iOSGods App for a variety of modded games and apps for non-jailbroken iOS devices.
      • 1 reply
    • Weapon Merge Battle v0.1.8 [ +3 APK MOD ] Never Die
      Mod APK Game Name: Weapon Merge Battle
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.riomaster.weaponmerge&hl=en

      🤩 Hack Features

      - ATK Max
      - HP Max
      - DEF Max
      • 1 reply
    • Royal Knights GO v1.1.30 [ +5 APK MOD ] Currency Max
      Mod APK Game Name: Royal Knights GO
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.supercandy.royalknights&hl=en_US
      🤩 Hack Features

      - Unlimited Gems / Linked With Store Rewards
      - Quest / Claim All
      - Premium & Stage Pass Unlocked
      - Hero Status / ATK HP DEF / Just Upgrade Faster Increase
      - Skill CD
      • 1 reply
    • Project Makeover v2.121.1 +4 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Project Makeover By Magic Tavern, Inc.
      Bundle ID: com.bgg.jump
      App Store Link: https://apps.apple.com/us/app/project-makeover/id1483058899?uo=4

       
       

      🤩 Hack Features

      - Unlimited Cash
      - Unlimited Coins
      - Unlimited Gems
      - Unlimited Lives

      This hack was made by @Cashlaz. Give him all your love & appreciation! ❤️
      • 35 replies
    • Groove Journey v6.5.1 Jailed Mod +1
      Modded/Hacked App: Groove Journey By Somtochukwu Mbala
      Bundle ID: com.kaipha.groovejourney
      iTunes Store Link: https://apps.apple.com/us/app/groove-journey/id6736345547?uo=4


      Hack Features:
      - PREMIUM


      iOS Hack Download IPA Link: https://iosgods.com/topic/190862-groove-journey-v311-jailed-mod-1/
      • 185 replies
    • (18+) Star Lusts v1.28.0 +2 Jailed Cheats
      <br style="background-color:#1e1f25;color:rgba(255,255,255,0.81);font-size:14px;">
      Modded/Hacked App: Star Lusts By EroLabs<br style="background-color:#1e1f25;color:rgba(255,255,255,0.81);font-size:14px;">
      Bundle ID: com.pinkcore.starlusts<br style="background-color:#1e1f25;color:rgba(255,255,255,0.81);font-size:14px;">
      iTunes Store Link: https://www.ero-labs.com/en/ios2/index.html?id=40

       

      📌 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🤩 Hack Features

      - Damage Multiplier
      - Never Die

       

      ⬇️ iOS Hack Download IPA Link


      Hidden Content

      Download via the iOSGods App







       

      📖 PC Installation Instructions

      STEP 1: Download the pre-hacked .IPA file from the link above to your computer. To download from the iOSGods App, see our iOSGods App IPA Download Tutorial which includes a video example.
      STEP 2: Download Sideloadly and install it on your Windows or Mac.
      STEP 3: Open Sideloadly on your computer, connect your iOS device, and wait until your device name appears in Sideloadly.
      STEP 4: Once your iDevice is recognized, drag the modded .IPA file you downloaded and drop it into the Sideloadly application.
      STEP 5: Enter your Apple Account email, then press “Start.” You’ll then be asked to enter your password. Go ahead and provide the required information.
      STEP 6: Wait for Sideloadly to finish sideloading/installing the hacked IPA. If there are issues during installation, please read the note below.
      STEP 7: Once the installation is complete and you see the app on your Home Screen, you will need to go to Settings -> General -> Profiles / VPN & Device Management. Once there, tap on the email you entered from step 6, and then tap on 'Trust [email protected]'.
      STEP 8: Now go to your Home Screen and open the newly installed app and everything should work fine. You may need to follow further per app instructions inside the hack's popup in-game.

      NOTE: iOS/iPadOS 16 and later, you must enable Developer Mode. For free Apple Developer accounts, you will need to repeat this process every 7 days. If you have any questions or problems, read our Sideloadly FAQ section of the topic and if you don't find a solution, please post your issue below and we'll do our best to help! If the hack does work for you, post your feedback below and help out other fellow members that are encountering issues.

       

      🙌 Credits

      - AlyssaX64

       

      📷 Cheat Video/Screenshots

      N/A

       
      • 24 replies
×
  • Create New...

Important Information

We would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines