Jump to content

How can i use on off with mshookfunction


z2x22
Go to solution Solved by Ted2,

4 posts in this topic

Recommended Posts

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
Link to comment
Share on other sites

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

    • Cup Heroes v1.4.2 Cheats +2
      Modded/Hacked App: Cup Heroes By Voodoo
      Bundle ID: com.501.cuphero
      iTunes Store Link: https://apps.apple.com/us/app/cup-heroes/id6469621221?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:
      - Debug Menu: Setting -> Discord -> Float Icon -> Game Progress
      - Premium: Setting -> Discord -> Float Icon -> In-App Purchase
        • Like
      • 0 replies
    • Cup Heroes v1.4.2 Cheats +2
      Modded/Hacked App: Cup Heroes By Voodoo
      Bundle ID: com.501.cuphero
      iTunes Store Link: https://apps.apple.com/us/app/cup-heroes/id6469621221?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:
      - Debug Menu: Setting -> Discord -> Float Icon -> Game Progress
      - Premium: Setting -> Discord -> Float Icon -> In-App Purchase
      • 0 replies
    • Battle Z: Idle Attack! v1.2.1 Cheats +2
      Modded/Hacked App: Battle Z: Idle Attack! By Voodoo
      Bundle ID: com.oxvgames.battlez
      iTunes Store Link: https://apps.apple.com/us/app/battle-z-idle-attack/id6473258286?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:
      - Debug Menu: Setting -> Restore Purchases ->Float Icon -> Game Progress
      - Premium: Setting -> Restore Purchases ->Float Icon -> In-App Purchase
      • 0 replies
    • Battle Z: Idle Attack! v1.2.1 Cheats +2
      Modded/Hacked App: Battle Z: Idle Attack! By Voodoo
      Bundle ID: com.oxvgames.battlez
      iTunes Store Link: https://apps.apple.com/us/app/battle-z-idle-attack/id6473258286?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:
      - Debug Menu: Setting -> Restore Purchases ->Float Icon -> Game Progress
      - Premium: Setting -> Restore Purchases ->Float Icon -> In-App Purchase
        • Like
      • 2 replies
    • Bag Fight v1.4.0 Cheats +2
      Modded/Hacked App: Bag Fight By Voodoo
      Bundle ID: com.allinc.bagfight
      iTunes Store Link: https://apps.apple.com/us/app/bag-fight/id6474043641?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:
      - Debug Menu: Setting -> Turn off Music ->Float Icon -> Game Progress; Gear; Open extended cheats menu
      - Premium: Setting -> Turn off Music ->Float Icon -> In-App Purchase
        • Like
      • 0 replies
    • Bag Fight v1.4.0 Cheats +2
      Modded/Hacked App: Bag Fight By Voodoo
      Bundle ID: com.allinc.bagfight
      iTunes Store Link: https://apps.apple.com/us/app/bag-fight/id6474043641?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:
      - Debug Menu: Setting -> Turn off Music ->Float Icon -> Game Progress; Gear; Open extended cheats menu
      - Premium: Setting -> Turn off Music ->Float Icon -> In-App Purchase
        • Agree
        • Thanks
      • 0 replies
    • Coffee Pack v1.7.0 Cheats +2
      Modded/Hacked App: Coffee Pack By Voodoo
      Bundle ID: com.PubtrainGames.CoffeePack
      iTunes Store Link: https://apps.apple.com/us/app/coffee-pack/id6475177029?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:

      NEED TO PLAY PAST TURTORIAL BEFORE OPEN DEBUG MENU!!!



      - Debug Menu: Setting -> Restore Purchases -> Crash -> Reopen ->Float Icon -> Coffee Shop Debug; Coffee Pack Debug; Weekly Quest Debug
      - Premium: Setting -> Restore Purchases -> Crash -> Reopen ->Float Icon -> In-App Purchase
      • 0 replies
    • Coffee Pack v1.7.0 Cheats +2
      Modded/Hacked App: Coffee Pack By Voodoo
      Bundle ID: com.PubtrainGames.CoffeePack
      iTunes Store Link: https://apps.apple.com/us/app/coffee-pack/id6475177029?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:

      NEED TO PLAY PAST TURTORIAL BEFORE OPEN DEBUG MENU!!!



      - Debug Menu: Setting -> Restore Purchases -> Crash -> Reopen ->Float Icon -> Coffee Shop Debug; Coffee Pack Debug; Weekly Quest Debug
      - Premium: Setting -> Restore Purchases -> Crash -> Reopen ->Float Icon -> In-App Purchase
      • 1 reply
    • Color Clash!! v1.2 Cheats +2
      Modded/Hacked App: Color Clash!! By Voodoo
      Bundle ID: com.playakor.clashofcolor
      iTunes Store Link: https://apps.apple.com/us/app/color-clash/id6475672172?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:
      - Debug Menu: Setting -> Restore Purchases -> Float icon -> Game Settings
      - Premium: Setting -> Restore Purchases -> Float icon -> In-App Purchase -> VoodooPremium
      • 0 replies
    • Color Clash!! v1.2 Cheats +2
      Modded/Hacked App: Color Clash!! By Voodoo
      Bundle ID: com.playakor.clashofcolor
      iTunes Store Link: https://apps.apple.com/us/app/color-clash/id6475672172?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:
      - Debug Menu: Setting -> Restore Purchases -> Float icon -> Game Settings
      - Premium: Setting -> Restore Purchases -> Float icon -> In-App Purchase -> VoodooPremium
      • 0 replies
    • Pill Fortress v6.3 Cheats +2
      Modded/Hacked App: Pill Fortress By Voodoo
      Bundle ID: com.ristretto.pillfortress
      iTunes Store Link: https://apps.apple.com/us/app/pill-fortress/id6477394168?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:
      - Debug Menu: Setting -> Restore Purchases -> Float icon -> Game Debug
      - Premium: Setting -> Restore Purchases -> Float icon -> In-App Purchase -> VoodooPremium
      • 0 replies
    • Pill Fortress v6.3 Cheats +2
      Modded/Hacked App: Pill Fortress By Voodoo
      Bundle ID: com.ristretto.pillfortress
      iTunes Store Link: https://apps.apple.com/us/app/pill-fortress/id6477394168?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:
      - Debug Menu: Setting -> Restore Purchases -> Float icon -> Game Debug
      - Premium: Setting -> Restore Purchases -> Float icon -> In-App Purchase -> VoodooPremium
      • 0 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