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

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more!

This message will be removed once you have signed in.

shmoo

Tool
[NIC TEMPLATE] Mod Menu Theos Template! Easily Create Your Own iGMMs!

122 posts in this topic

Posted (edited)

Do not use this template for your own paid hacks. It's not a matter of me being stingy, it's a matter of respect. I spent two weeks putting a lot of effort into making this as best as I could and I do not want you to profit partly off of my effort. Thank you.

 

After around two weeks of hard work, I have finally finished my mod menu template. This is easily my best work and I hope you guys love it :D

 

This is a theos template that you can use to create your own mod menu. All the dirty work is handled for you (preferences, creating separate buttons, applying and reversing hacks, etc), so your job is just to give the menu a title, subtitle, theme color, font, and your hacks.

 

Here's just some of what my template has to offer: 

- Beautiful UI!

- Beautiful animations.

- You can specify a title, subtitle, font, and theme color.

- Portrait and landscape games are both supported.

- No need to worry about handling preferences.

- Three different hook types: a regular hook (no user input), a hook with a slider, and a hook with a textfield.

- Regular switches? Hell no! Instead, a beautiful custom button that ties perfectly with the menu is used.

- No Objective C experience needed.

- MSHookFunction and writeData calls are handled for you.

- Much, much more!

 

To open the menu, you double tap the button that shows up in the game. Drag the top part of menu to drag it.

 

First you'll have to "enable" c++ for your theos. This is not hard. It's just copying and pasting :p

Steps to enable c++ on your theos:

Spoiler

1. In iFile, navigate to /var/theos/sdks/your sdk/usr/include/c++/4.2.1/.

2. Copy every single thing in that folder.

3. Navigate to /var/theos/include/ and paste everything that was copied there. Ninety percent done!

4. Download this file: https://www.dropbox.com/s/0a7pgi8ri1r1tss/initializer_list?dl=0

5. Take that file and put it in /var/theos/include/

That's it! You're ready to use the template :D

 

Download link for the template:

Hidden Content

    Like this post or reply to this topic to see the hidden content. More info

Place it in /var/theos/templates/ :)

 

From here I will be explaining how to actually set up your menu. Working menu code is provided in a file called README.txt when you create a new project with this template, so if you feel that you are able to figure it out with my code, feel free to skip this and get right to making your menu :D
 

To add normal hacks:

Spoiler

To add a normal hack to the menu, all you have to do is write line of code:


addHack(@"Your hack name", @"A description of this hack", font, {your offsets here}, {your hacked hexes here}, {your original hexes here});

Some examples:

My offset is 0x340e1a, my hacked hex is 0x7047, my original hex is 0xf0b5.


addHack(@"Infinite Ammo", @"This hack will keep your ammo from decreasing.", font, {0x340e1a}, {0x7047}, {0xf0b5});

 

By the way, any amount of offsets can be added for one hack, not just one offset. So if you have a hack that requires more than one offset, just separate them with commas.

For example, my offsets are 0x340e1a, 0x440e1a, and 0x540e1a. My hacked hexes are 0x7047, 0xc046, and 0x0228, and my original hexes are 0xf0b5, 0x0120, and 0x2228, respectively.


addHack(@"God Mode", @"This hack will prevent you from taking damage and losing health.", font, {0x340e1a, 0x440e1a, 0x540e1a}, {0x7047, 0xc046, 0x0228}, {0xf0b5, 0x0120, 0x2228});

 

 

To add normal hooks: 

Spoiler

To add a normal hook (with no slider or textfield), that can be toggled on and off, use this code:


addHook(@"Hook name", @"Description of the hook", font, the address of the function you are hooking, the name of the function you are using for the hook, the name of the function you aren't using for the hook)

For example, if I was hooking a field of view function, I would normally define the two functions that I would be using for that hook like this:


	float (*getFovOrig)(void *_this);
	 
	float _getFovHooked(void *_this){
	//do stuff
	}

 

The resulting addHook call would look like this:


addHook(@"90 FOV", @"This hack will set your game's FOV to 90.", font, 0xc392da, (void *)_getFovHooked, (void *)getFovOrig);

 

To see if the user wants the hook on or not, use this line of code:


bool isOn = [Hook getHookOnForHook:@"hook name here"];

 

 

To add a hook with a slider:

Spoiler

To add a hook with a slider, use this function:


addSliderHook(@"Hook name", @"Description of the hook", font, lower bound for slider, upper bound for slider, function address, the name of the function you are using for the hook, the name of the function that you aren't using for the hook);

Use this line of code to retrieve the slider's value:


float val = [SliderHook getSliderValueForHook:@"hook name here"];

Let's say I wanted to make a hook with a slider that enabled the user to choose their FOV from 60 to 150. I would use this code:


	float (*getFovOrig)(void *_this);
	 
	float _getFovHooked(void *_this){
	return [SliderHook getSliderValueForHook:@"Field of view slider"];
	}
	 
	addSliderHook(@"Field of view slider", @"Use this slider to adjust your FOV from 60 to 150.", font, 60, 150, 0xc392da, (void *)_getFovHooked, (void *)getFovOrig);

 

 

To add a hook with a textfield:

Spoiler

Finally, to add a hook with textfield, use this function:


addTextfieldHook(@"Hook name", @"Description of hook", font, address of function that you are hooking, the name of the function you are using for the hook, the name of the function you aren't using for the hook);

To get the value from the textfield, you'll have to use one of these methods based on what your hooked function return type is:


	int val = [[TextfieldHook getTextfieldValueForHook:@"hook name here"] intValue];
	float val = [[TextfieldHook getTextfieldValueForHook:@"hook name here"] floatValue];

 

If I wanted to add a textfield that allowed the user to input their FOV, I would write this line of code:


addTextfieldHook(@"FOV Textfield", @"Input the value you want for your FOV.", font, 0xc392da, (void *)_getFovHooked, (void *)getFovOrig);

 

 

And the hooked functions would look like this:


	float (*getFovOrig)(void *_this);
	 
	float _getFovHooked(void *_this){
	if([TextfieldHook getTextfieldValueForHook:@"FOV Textfield"] != nil){ //the textfield will be empty on first run, and we don't want to return a nil value
	return [[TextfieldHook getTextfieldValueForHook:@"FOV Textfield"] floatValue];
	}
	 
	return getFovOrig(_this);
	}

 

 

 

NOTICE!

Always add (void *) to the beginning of the last two parameters if you are adding hooks. This is called casting, don't worry about it. Just know that it is needed.

 

Here is what your mod menu will generally look like if you choose green as your theme color and Copperplate-Bold as your font:

Credits:

- me

- @DiDA (for animation ideas!)

Edited by shmoo

Share this post


Link to post
Share on other sites
1 minute ago, Joka said:

Does this work for MS too?

Dont think so

Share this post


Link to post
Share on other sites

This is great! :)

Everyone else can leave their suggestions and ideas on this topic so we can further improve this iGMM. :)

Share this post


Link to post
Share on other sites

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

  • Similar Content

    • By peng2532

       
      Name of the game you want hacked: Brave Frontier
      Version of the game: 1.7.80
      Google Play Store Link: https://play.google.com/store/apps/details?id=sg.gumi.bravefrontier&hl=en
      Rooted or Unrooted: Unrooted
      Requested Features: 
      - God Mode 
      - No Key
      -Instant BB
      -Monster ATK
      -Monster HP 
      -Zel
      -Karma
      -Honor Points (Max 100)
       
    • By peng2532

      Name of the game you want hacked:  Final Fantasy Brave Exvius
      Version of the game: 2.2.0
      Google Play Store Link:https://play.google.com/store/apps/details?id=com.square_enix.android_googleplay.FFBEWW&hl=en
      Rooted or Unrooted: Unrooted
      Requested Features: 
      - Ultra Fast Limit Burst 
      - Player HP, ATK, DEF (For massive damage and god mode)
      -Monster Attack/Damage (Max 255, Makes game easier)
      -Monster HP (Max 255, 1 hit KO!)
      -Monster Def (Useful for Raid)
      -Material / Item / Weapon / Ability Capacity (Temporary)
      -Unit slots (Temporary)
      -Disable Random Monsters in Exploration 
      -Autowin (Use 0 Monster HP)
       
    • By dakshking
      Add the app image here! (just paste the Play Store image link inside img tags)
       
      Name of the game you want hacked: Star Crew
      Version of the game: Latest
      Google Play Store Link:https://play.google.com/store/apps/details?id=com.OhBiBi.StarLord2&hl=nl
      Rooted or Unrooted:no root
      Requested Features: 
      - unlimited gems , coins and energy 
      - anything else is also ok

    • By DiDA
      CPAntiDumper
      @caoyin has blessed us Cheaters with yet another amazing tool called "CPAntiDumper" or "CPAD" for short. The whole purpose of CPAD is to obfuscate your (modded) binary file(s) & prevent others from dumping offsets from your tweaks. CPAD works on binary files and .dylibs! If CPLoader (also from caoyin) is not for you, CPAntiDumper is a great alternative!
       
      Support
      - ARMv7 & ARM64 iOS Binary. Your binary must be thinned if you select only ARMv7.
      Android .SO support is coming very soon! Check back on this topic!
      If you need any help or have any questions, feel free to ask down below in a post.
       
      How to use it
      For ease of use, I have included a .bat file inside the download link below which simplifies the whole process by simply dragging your binary file to the .bat file and reading the on-screen instructions. Of course, you can modify the .bat to your liking. You will also need to edit it to add the location of cpad.exe on your computer. Example usage of CPAD.bat file.
      Note CPAD is only a Windows tool but will likely work on other operating systems with Wine since it's a simple CLI. 
      If you would like to run CPAD using cmd, you can do so using this command:
      cpad.exe BINARYFILENAME VALUE ARCH Example: cpad.exe baba 15000 arm64 cpad.exe iosfps 25000 armv7 Once you run the command, CPAD will analyze the binary and start obfuscating it thus preventing Binary Compare.
      Once CPAD completes the process, it will generate 2 new files. BINARYNAMEobf & BINARYNAME.txt
      BINARYNAMEobf will be the obfuscated binary file you will need to use. Rename the file and place it back into your IPA/APK and test/share your hack.
      BINARYNAME.txt will be the file that contains all the writeData instructions for you to implement inside your Tweak.xm. Most effective way to integrate all the writeDatas inside the .txt to your Tweak.xm is by placing your real writeData in a random place amongst all the other CPAD writeDatas. So if someone tries to dump your offsets, they will have to go through <YOURVALUE> (20,000 other writeDatas for example). This is only for iOS .deb hacks. Example:
      vm_writeData(0x100673DC0,0xC0033FD6); // writeData Generated by CPAD vm_writeData(0x100A969D8,0x2100014A); // writeData Generated by CPAD vm_writeData(0x100A969DC,0x420002CB); // writeData Generated by CPAD vm_writeData(0x100A969E4,0x210001CB); // writeData Generated by CPAD vm_writeData(0x10051EBF8,0xE00300AA); // writeData Generated by CPAD vm_writeData(0x100114DF8,0x12345678); // Your Real Offset! vm_writeData(0x10051EC44,0x000000CB); // writeData Generated by CPAD vm_writeData(0x10051EC4C,0x840004CB); // writeData Generated by CPAD vm_writeData(0x10051EC6C,0xC0033FD6); // writeData Generated by CPAD vm_writeData(0x10051EC74,0xE20302AA); // writeData Generated by CPAD vm_writeData(0x10051EC88,0xE10301AA); // writeData Generated by CPAD Remember! You can go crazy with your value by entering 100000 into CPAD which will make it super secure but will likely take a lot of time depending on your computer.
       
      Download

      Hidden Content
      Like this post or reply to this topic to see the hidden content. More info  
      Changelog
      - v1.0 Initial release. Only iOS ARMv7 Support.
      - v1.1 iOS ARM64 Support, improved interface.
    • By DiDA


      We are proud to present CPLoader Online! Thanks to @caoyin, this feature is now available online so you can now use CPLoader on any device! Mac, Windows, iOS, Android, Windows Phone, anywhere.


      How to use CPLoader Online:
      This works the same way as the GUI Version on Windows. Simply upload the .dylib file you want to secure, select the 'CPLoader' option and after a second or two, the page will refresh with a download link to the new obfuscated dylib!

      Once you download the obfuscated .dylib, you can place it inside the /ProjectName/_/Library/MobileSubstrate/DynamicLibraries/ folder then manually package the deb file using dpkg -b _ command.

      Note: The online version does not support license checks. It might in the future.

      This option has been tested multiple times and has worked fine. If you find any issues, please contact me regarding them.


      Credits:
      Kienn
      @caoyin
      @DiDA
       
      New and alternative "CPAntiDumper": 
       
  • Recently Browsing   0 members

    No registered users viewing this page.


    • Administrators |
    • Global Moderators  |
    • Moderators  |
    • ViP |
    • Cheaters |
    • Modders  |
    • Novice Cheaters |
    • Rookie Modders |
    • Supporters |
    • GFX Team  |
    • Senior Members |
    • Members |