Jump to content
  • Sky
  • Mint
  • Azure
  • Indigo
  • Blueberry
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Pomegranate
  • Ruby Red
  • Orange
  • Banana
  • Apple
  • Emerald
  • Teal
  • Chocolate
  • Slate
  • Midnight
  • Maastricht
  • Charcoal
  • Matte Black

z2x22

Member
  • Content Count

    81
  • Joined

  • Last visited

Community Reputation

0 n00b

About z2x22

  • Rank
    Ahead of the Curve

Profile Information

  • iDevice
    iPhone X
  • iOS Version
    12.1.1
  • Jailbroken
    Yes
  • Rooted
    No

Recent Profile Visitors

120 profile views
  1. i fixed that by changing number of port
  2. i have error when i try to connect lldb to debug server on mac error: failed to get reply to handshake packet
  3. this is my tweak code #include "Macros.h" /*****************************/ // Please see sample.xm for sample menu code. // title of your menu static NSString *const title = @"test"; // who made the hack? static NSString *const credits = @"test"; // 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 MainAppController - (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. */ // add features here! addSliderHook(@"ffov", @"Adjust your field of view.", themeColor, 0, 100, 0); addSliderHook(@"Adjust Field of View", @"Adjust your field of view.", themeColor, 0, 100, 50); [main addSubview:openButton]; [main addSubview:menu]; buttonAdded = true; }); } %orig; } %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 void (* vp_FPWeapon_Update)(void *vp_FPWeapon);void _vp_FPWeapon_Update(void *vp_FPWeapon) {*(float *)((uint64_t)vp_FPWeapon + 0xC0) = [SliderHook getSliderValueForHook:@"ffov"];vp_FPWeapon_Update(vp_FPWeapon);}%ctor {MSHookFunction((void *)getRealOffset(0x101977710), (void *)_vp_FPWeapon_Update, (void**)&vp_FPWeapon_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]; }
  4. 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]; }
  • Recently Browsing   0 members

    No registered users viewing this page.


    • Administrator |
    • Global Moderator  |
    • Moderator  |
    • ViP Plus |
    • ViP Jailed |
    • ViP |
    • Cheater  |
    • Modder  |
    • Novice Cheater |
    • Rookie Modder |
    • Contributor |
    • Senior Member |
    • Member |
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy - Guidelines