Jump to content

How can i use on off with mshookfunction


Go to solution Solved by Ted2,

4 posts in this topic

Recommended Posts

Posted

this is my tweak code 

 

#include "Macros.h"

BOOL mofeed = true;


/*****************************/
// Please see sample.xm for sample menu code.

// title of your menu
static NSString *const title = @""; 

// who made the hack?
static NSString *const credits = @"";

// what font do you want the text to be? don't put anything for the default font
static NSString *const font = @"";

// should the menu have a blurred background? true or false
// FYI: this won't always look pretty
static const bool blur = true;

// blur style
// you MUST pick from these three: UIBlurEffectStyleExtraLight, UIBlurEffectStyleLight, or UIBlurEffectStyleDark
// *** If you opted for no blur background, this is ignored. However, you still need to fill it in. ***
static const UIBlurEffectStyle blurStyle = UIBlurEffectStyleDark;

// A complete list of fonts can be found here: http://iosfonts.com/
/******************************/


%hook UnityAppController


- (void)applicationDidBecomeActive:(id)arg0 {

    /* For iOS 11 compatibility, the theme color must be here. */
    /* The overall color for the menu and the button. */
    /* If you want a custom color, use rgb(color code) */
    /* Use rgb(arc4random_uniform(0xFFFFFF)) for a random color each launch. */
    UIColor *themeColor = rgb(arc4random_uniform(0xFFFFFF));

    UIWindow *main = [UIApplication sharedApplication].keyWindow.rootViewController.view;

    UIButton *openButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    openButton.frame = CGRectMake((main.frame.size.width/2)-15, (main.frame.size.height/2)+75, 30, 30);
    openButton.backgroundColor = [UIColor clearColor];
    openButton.layer.cornerRadius = 16;
    openButton.layer.borderWidth = 2;
    openButton.layer.borderColor = themeColor.CGColor;
    [openButton addTarget:self action:@selector(wasDragged:withEvent:) 
    forControlEvents:UIControlEventTouchDragInside];
    [openButton addTarget:self action:@selector(showMenu) 
    forControlEvents:UIControlEventTouchDownRepeat];

    if(!buttonAdded){
        timer(5){
            UIWindow *main = [UIApplication sharedApplication].keyWindow.rootViewController.view;
            menu = [[ModMenu alloc] initWithTitle:title credits:credits fontName:font theme:themeColor blur:blur blurStyle:blurStyle];

            /*
            Add features below this comment. Feel free to delete this comment if you're comfortable with how this menu works.

            Things are added to the menu in the order you have added them.

            A Hack is a switch that contains offsets, hacked hexes, and original hexes. Straightforward.
            To create one, call addHack.
            addHack is called as follows: addHack(@"Hack Name", @"The description of your hack", themeColor, {offsets}, {hacked hexes}, {original hexes});
            For example:
            addHack(@"Infinite Ammo", @"Ammo doesn't run out.", themeColor, {0x1001B292A}, {0xC0035FD6}, {0xD213AEB5});
            You can also have multiple offsets, hacked hexes, and original hexes. There's no limit to the number of offsets you can have! For example:
            addHack(@"No Recoil", @"No recoil prevents any recoil from being applied when you shoot.", themeColor, {0x356a7c, 0x110f0a}, {0x7047, 0x7047}, {0xf0b5, 0xf0b5});
            
            A Hook is a switch that used to hook a function and apply a feature. This doesn't make much sense because you cannot "unhook" a function if
            the user wants the feature off. It currently serves no purpose except for backward compatibility. All it does is turn on or off now.

            A SliderHook is a slider that can be customized to have a minimum and maximum value.
            Good for hooking a function and returning user-specified values. To create one, call addSliderHook.
            addSliderHook is called as follows: addSliderHook(@"Hack Name", @"Description of your hack", themeColor, initial value, minimum value, maximum value);
            For example:
            addSliderHook(@"Adjust Field of View", @"Adjust your field of view.", themeColor, 0, 100, 50);
            To get the value of a SliderHook:
            float value = [SliderHook getSliderValueForHook:@"hack name here"];
            int value = (int)[SliderHook getSliderValueForHook:@"hack name here"];

            A TextfieldHook is a textfield. Again, good for hooking a function and returning user-specified values.
            To create one, call addTextfieldHook.
            addTextfieldHook is called as follows: addTextfieldHook(@"Hack name", @"Description of your hack", themeColor);
            For example:
            addTextfieldHook(@"Set Gems", @"Set your gem amount.", themeColor);
            To get the value of a TextfieldHook:
            NSString *value = [TextfieldHook getTextfieldValueForHook:@"hack name here"];
            float value = [[TextfieldHook getTextfieldValueForHook:@"hack name here"] floatValue];
            int value = [[TextfieldHook getTextfieldValueForHook:@"hack name here"] intValue];

            A Switch does nothing but turn on or off. Useful when you are in a hooked function and need to know when to call a function or mod an instance variable.
            Since it doesn't do anything but turn on or off, it is essentially the same thing as a Hook.
            To create one, call addSwitch.
            addSwitch is called as follows:
            addSwitch(@"Hack name", @"Description of your hack", themeColor);
            For example:
            addSwitch(@"Kill Everyone", @"Kill everyone in the lobby", themeColor);
            To test whether or not a Switch is on:
            bool on = [Switch getSwitchOnForSwitch:@"hack name here"];

            If you want to use writeData in your Tweak.xm, now you can! Call writeData like you normally would.
            Call writeData after the menu has been created. If you use it where you add features, you'll be fine.

            Handle hooking with the HOOK and HOOK_NO_ORIG macros. I decided to let you guys handle hooking because
            it is too troublesome to make sure I handle cases where you guys pass parameters incorrectly.

            If I wanted to hook a function called LocalPlayer::Update at 0x1001B762A with a pointer to the original function, I would do this:
            HOOK(0x1001B762A, _LocalPlayer_Update, LocalPlayer_Update);

            Where _LocalPlayer_Update is the function you write, and LocalPlayer_Update is the pointer to the original function.

            You can use HOOK_NO_ORIG if you don't need the pointer to the original function:
            HOOK_NO_ORIG(0x1001B762A, _LocalPlayer_Update);

            If that is too confusing, you can always just use MSHookFunction. HOOK and HOOK_NO_ORIG just wrap MSHookFunction in a cleaner call.
            */

MSHookFunction((void *)getRealOffset(0x101196238), (void *)_PlayerMovement_Update, (void **)&PlayerMovement_Update);


            // add features


addSwitch(@"test", @"Kill everyone in the lobby", themeColor);
            
            mofeed = [Switch getSwitchOnForSwitch:@"test"];

            [main addSubview:openButton];
            [main addSubview:menu];



            buttonAdded = true;
        });




    }

    %orig;
}

void (* PlayerMovement_Update)(void *PlayerMovement);
void _PlayerMovement_Update(void *PlayerMovement) {

*(float *)((uint64_t)PlayerMovement + 0x48) = 100.0f;
*(float *)((uint64_t)PlayerMovement + 0x78) = 100.0f;
*(float *)((uint64_t)PlayerMovement + 0x80) = 0.0f;
*(float *)((uint64_t)PlayerMovement + 0x74) = 16.0f;
PlayerMovement_Update(PlayerMovement);
}

%new
- (void)showMenu {
    [menu show];
}

%new
- (void)wasDragged:(UIButton *)button withEvent:(UIEvent *)event
{
    UITouch *touch = [[event touchesForView:button] anyObject];

    CGPoint previousLocation = [touch previousLocationInView:button];
    CGPoint location = [touch locationInView:button];
    CGFloat delta_x = location.x - previousLocation.x;
    CGFloat delta_y = location.y - previousLocation.y;

    button.center = CGPointMake(button.center.x + delta_x, button.center.y + delta_y);
}
%end

%ctor {
MSHookFunction((void *)getRealOffset(0x101196238), (void *)_PlayerMovement_Update, (void **)&PlayerMovement_Update);

}
void addHack(NSString *name, NSString *description, UIColor *theme, std::initializer_list<uint64_t> offsets, std::initializer_list<uint64_t> hackedHexes, std::initializer_list<uint64_t> originalHexes){
    if(menu == nil)
        return;
    
    std::vector<uint64_t> offsetVector;
    std::vector<uint64_t> hackedHexVector;
    std::vector<uint64_t> originalHexVector;
    
    offsetVector.insert(offsetVector.begin(), offsets.begin(), offsets.end());
    hackedHexVector.insert(hackedHexVector.begin(), hackedHexes.begin(), hackedHexes.end());
    originalHexVector.insert(originalHexVector.begin(), originalHexes.begin(), originalHexes.end());
    
    Hack *h = [[Hack alloc] initWithHackName:name info:description fontName:font theme:theme offset:offsetVector hackedHex:hackedHexVector originalHex:originalHexVector];
    [menu addHack:h];
}

void addHook(NSString *name, NSString *description, UIColor *theme){
    if(menu == nil)
        return;
    
    Hook *h = [[Hook alloc] initWithHookName:name info:description fontName:font theme:theme];
    [menu addHook:h];
}

void addSliderHook(NSString *name, NSString *description, UIColor *theme, float initialValue, float minValue, float maxValue){
    if(menu == nil)
        return;

    if(minValue > maxValue)
        return;
    
    SliderHook *sh = [[SliderHook alloc] initWithSliderHookName:name info:description fontName:font theme:theme initialValue:initialValue minValue:minValue maxValue:maxValue];
    [menu addHook:sh];
}

void addTextfieldHook(NSString *name, NSString *description, UIColor *theme){
    if(menu == nil)
        return;
    
    TextfieldHook *th = [[TextfieldHook alloc] initWithTextfieldHookName:name info:description fontName:font theme:theme];
    [menu addHook:th];
}

void addSwitch(NSString *name, NSString *description, UIColor *theme){
    if(menu == nil)
        return;
    
    Switch *s = [[Switch alloc] initWithSwitchName:name info:description fontName:font theme:theme];
    [menu addHook:s];
}

void writeData(uint64_t offset, uint64_t hex){
    if(menu == nil)
        return;
    
    [menu writeTo:offset withHex:hex];
}



 

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below. For more information, please read our Posting Guidelines.
Reply to this topic... Posting Guidelines

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Our picks

    • Perfect Kick 2 v2.0.61 [ +4 Cheats ] AI Freeze
      Modded/Hacked App: Perfect Kick 2 By Gamegou Limited
      Bundle ID: com.gamegou.perfectkick2
      iTunes Store Link: https://apps.apple.com/us/app/perfect-kick-2/id1475459866?uo=4
       

      🤩 Hack Features

      - Auto ADS OFF
      - Ball Speed 999x
      - AI Freeze
      - No Wind Effect
      • 0 replies
    • Perfect Kick 2 v2.0.61 [ +4 Jailed ] AI Freeze
      Modded/Hacked App: Perfect Kick 2 By Gamegou Limited
      Bundle ID: com.gamegou.perfectkick2
      iTunes Store Link: https://apps.apple.com/us/app/perfect-kick-2/id1475459866?uo=4


      🤩 Hack Features

      - Auto ADS OFF
      - Ball Speed 999x
      - AI Freeze
      - No Wind Effect
      • 0 replies
    • Nightfall: Kingdom Frontier TD v1.0.350 +8 Jailed Cheats [ Currencies ]
      Modded/Hacked App: Nightfall: Kingdom Frontier TD By Fansipan Limited
      Bundle ID: com.fansipan.nightfall.tower.simulation.strategy.td.game
      iTunes Store Link: https://apps.apple.com/us/app/nightfall-kingdom-frontier-td/id6621272416?uo=4


      Hack Features:
      - God Mode
      - Unlimited In-Game Coins -> Will increase instead of decrease.
      - Unlimited Currencies -> Will increase instead of decrease.
      - No Ads
      - Add 1K Currency -> Head over to Settings and toggle the Discord button. [ VIP ]
      - Unlock All Features -> Head over to Settings and toggle the Discord button. [ VIP ]
      - Unlock All / Everything ->  Head over to Settings and toggle the Discord button. [ VIP ]
      - Complete Tutorial -> Head over to Settings and toggle the Discord button. [ VIP ]


      Jailbreak required hack(s): [Mod Menu Hack] Nightfall: Kingdom Frontier TD v1.0.41 +8 Cheats [ Unlimited Currencies ] - Free Jailbroken Cydia Cheats - iOSGods
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 79 replies
    • Nightfall: Kingdom Frontier TD v1.0.350 +8 Cheats [ Currencies ]
      Modded/Hacked App: Nightfall: Kingdom Frontier TD By Fansipan Limited
      Bundle ID: com.fansipan.nightfall.tower.simulation.strategy.td.game
      iTunes Store Link: https://apps.apple.com/us/app/nightfall-kingdom-frontier-td/id6621272416?uo=4


      Hack Features:
      - God Mode
      - Unlimited In-Game Coins -> Will increase instead of decrease.
      - Unlimited Currencies -> Will increase instead of decrease.
      - No Ads
      - Add 1K Currency -> Head over to Settings and toggle the Discord button. [ VIP ]
      - Unlock All Features -> Head over to Settings and toggle the Discord button. [ VIP ]
      - Unlock All / Everything ->  Head over to Settings and toggle the Discord button. [ VIP ]
      - Complete Tutorial -> Head over to Settings and toggle the Discord button. [ VIP ]


      Non-Jailbroken & No Jailbreak required hack(s): [IPA Mod Menu] Nightfall: Kingdom Frontier TD v1.0.41 +8 Jailed Cheats [ Unlimited Currencies ] - Free Non-Jailbroken IPA Cheats - iOSGods
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 94 replies
    • Longleaf Valley v1.32.22 +1++ Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Longleaf Valley: Merge & Match By TreesPlease Games Ltd
      Bundle ID: com.treespleasegames.merge1
      iTunes Store Link: https://apps.apple.com/us/app/longleaf-valley-merge-match/id1573565989?uo=4


      Hack Features:
      - Unlimited Currencies -> Spend some.


      Jailbreak required hack(s): [Mod Menu Hack] Longleaf Valley: Merge & Plant ( All Versions ) +1++ Cheats [ Unlimited Currencies ] - Free Jailbroken Cydia Cheats - iOSGods
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Winner
        • Like
      • 32 replies
    • Longleaf Valley v1.32.22 +1++ Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Longleaf Valley: Merge & Match By TreesPlease Games Ltd
      Bundle ID: com.treespleasegames.merge1
      iTunes Store Link: https://apps.apple.com/us/app/longleaf-valley-merge-match/id1573565989?uo=4


      Hack Features:
      - Unlimited Currencies -> Spend some.


      Non-Jailbroken & No Jailbreak required hack(s): [Non-Jailbroken Hack] Longleaf Valley: Merge & Plant v1.10.48 +1++ Jailed Cheats [ Unlimited Currencies ] - Free Non-Jailbroken IPA Cheats - iOSGods
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 15 replies
    • Dinosaur Universe v39.0.0 +4 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Dinosaur Universe By Supercent Inc.
      Bundle ID: io.supercent.ageofdinosaurs
      iTunes Store Link: https://apps.apple.com/us/app/dinosaur-universe/id6448496802?uo=4

       


      🤩 Hack Features

      - Unlimited Currencies
      - Damage Multiplier
      - God Mode
      - Free In-App Purchases
      • 0 replies
    • Dinosaur Universe v39.0.0 +4 Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Dinosaur Universe By Supercent Inc.
      Bundle ID: io.supercent.ageofdinosaurs
      iTunes Store Link: https://apps.apple.com/us/app/dinosaur-universe/id6448496802?uo=4

       
       

      🤩 Hack Features

      - Unlimited Currencies
      - Damage Multiplier
      - God Mode
      - Free In-App Purchases
        • Agree
      • 2 replies
    • Dwarf Kingdom - Idle Survival v4.9 [Jailed Debug Menu]
      Modded/Hacked App: Dwarf Kingdom - Idle Survival By PAPER PIGEON YAZILIM VE OYUN GELISTIRME LIMITED SIRKETI
      Bundle ID: com.PaperPigeon.DwarfKingdom
      iTunes Store Link: https://apps.apple.com/us/app/dwarf-kingdom-idle-survival/id6477745778?uo=4



      🤩 Hack Features

      - Debug Menu (Enable cheat and debug menu will open)
       
      • 0 replies
    • Dwarf Kingdom - Idle Survival v4.9 [Debug Menu]
      Modded/Hacked App: Dwarf Kingdom - Idle Survival By PAPER PIGEON YAZILIM VE OYUN GELISTIRME LIMITED SIRKETI
      Bundle ID: com.PaperPigeon.DwarfKingdom
      iTunes Store Link: https://apps.apple.com/us/app/dwarf-kingdom-idle-survival/id6477745778?uo=4



      🤩 Hack Features

      - Debug Menu (Enable cheat and debug menu will open)
      • 0 replies
    • Cash King: Tycoon Earn Money v1.8.0 +4 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Cash King: Tycoon Earn Money By BFK ARASTIRMA GELISTIRME YAZILIM BILGISAYAR SANAYI VE TICARET ANONIM SIRKETI
      Bundle ID: com.tcn.cking
      iTunes Store Link: https://apps.apple.com/us/app/cash-king-tycoon-earn-money/id6479973614?uo=4


      Mod Requirements:
      - Non-Jailbroken/Jailed or Jailbroken iPhone/iPad/iPod Touch.
      - Sideloadly / Cydia Impactor or alternatives.
      - A Computer Running Windows/macOS/Linux with iTunes installed.


      Hack Features:
      - Unlimited Cash -> Will increase instead of decrease.
      - Unlimited Tickets -> Will increase instead of decrease.
      - Unlimited Health & Happiness -> Will not decrease.
      -- No Ads


      Jailbreak required hack(s): [Mod Menu Hack] Cash King: Tycoon Earn Money v0.7.2 +4 Cheats [ Unlimited Currencies ] - Free Jailbroken Cydia Cheats - iOSGods
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 35 replies
    • Cash King: Tycoon Earn Money v1.8.0 +4 Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Cash King: Tycoon Earn Money By BFK ARASTIRMA GELISTIRME YAZILIM BILGISAYAR SANAYI VE TICARET ANONIM SIRKETI
      Bundle ID: com.tcn.cking
      iTunes Store Link: https://apps.apple.com/us/app/cash-king-tycoon-earn-money/id6479973614?uo=4


      Mod Requirements:
      - Jailbroken iPhone/iPad/iPod Touch.
      - iGameGod / Filza / iMazing or any other file managers for iOS.
      - Cydia Substrate, ElleKit, Substitute or libhooker depending on your jailbreak.
      - PreferenceLoader (from Cydia, Sileo or Zebra).


      Hack Features:
      - Unlimited Cash -> Will increase instead of decrease.
      - Unlimited Tickets -> Will increase instead of decrease.
      - Unlimited Health & Happiness -> Will not decrease.
      -- No Ads


      Non-Jailbroken & No Jailbreak required hack(s): [IPA Mod Menu] Cash King: Tycoon Earn Money v0.7.2 +4 Jailed Cheats [ Unlimited Currencies ] - Free Non-Jailbroken IPA Cheats - iOSGods
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Thanks
        • Winner
        • Like
      • 22 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