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
shmoo

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

202 posts in this topic

Recommended Posts

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

    React 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
  • Like 89
  • Thanks 16
  • Haha 5
  • Upvote 169
  • Agree 9
  • Informative 3
  • Winner 7

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. :)

  • Upvote 4

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 m4skm4n
      Download link:

      Hidden Content
      React or reply to this topic to see the hidden content. More info  
      Make a file .lldbinit in your home directory (.lldbinit is the first thing that lldb reads when it loads) do cd ~ to go to your home directory if you run as root then home dir = /var/root if you run without root home dir = /var/mobile Add the following to the file (.lldbinit) settings set target.load-cwd-lldbinit true command script import custom.py Place custom.py in /var/mobile (working directory) start lldb Commands: ASLR : get aslr slide set-bp 0xaddress : set breakpoint (ASLR added) write 0xaddress 0xvalue : write to memory, same as => memory write -s 4 0xaddress 0xvalue (address frorm lldb) get-adr 0xaddress : [get address - aslr], to find the IDA Address If there are any errors, pls let me know. 
      Credits: M4skM4n
    • By DiDA
      Cydia Impactor

      Cydia Impactor is a GUI tool for working with mobile devices. It has features already, but is still very much a work-in-progress. It is developed by saurik (Twitter and website).

      You can use this tool to install IPA files on iOS and APK files on Android. It also can help you exploit the series of Android "Master Key" vulnerabilities.

      Download Cydia Impactor for Mac OS X, Windows, Linux (32-bit), or Linux (64-bit).
       
      Note: Do not "Run as Administrator" Impactor; doing this makes drag/drop of files not work on Windows 10.
       
      For iOS, if you are using either Windows or macOS, you definitely need to have iTunes installed for this tool to work (for different reasons). You do not need Xcode installed to use Impactor (even for features such as signing IPA files).

      To download new versions, use "Check for Updates..." under the Impactor menu from inside of the application. Impactor will also occasionally prompt about new versions that come out. 
       
      If you are having problems using Cydia Impactor, check out the FAQ down below and if you find no solution, make a Help & Support topic.
       
       
      Frequently Asked Questions
       
      Q: How long will I be able to use the sideloaded app?
      A: A normal & free Apple Developer account only allows the app to function for 7 days. After 7 days you can sideload it again, just make sure your progress is backed up.
       
      Q: The app on iOS 11 is displaying half screen? Black screen.
      A: The popup the modded IPA uses seems to cause issues with iOS 11's Rotation Lock. To fix this, simply disable rotation lock on your device via the Control Center then reopen the app. 
       
      Q: How can I save my in-game progress?
      A: You need to make sure your game progress is being synced over Game Center, Facebook, Twitter or Google+. If the game saves it's progress locally, you will need to install the modded IPA overwriting the one you already have installed. In order to overwrite, the modified IPA must have the same bundle ID and you must use the same Apple ID when sideloading. See below for more information.
       
      Q: Can I overwrite my current app without removing it?
      A: Yes, it is possible. In order to accomplish this, you need to sideload the modded IPA with the same Apple ID that your previously sideloaded app is with. Meaning you must use the same Apple ID you used to sideload the previous app. The bundle ID must be the same otherwise it will install as a duplicate app.
       
      Q: How many apps can I sideload?
      A: iOS 7, 8, 9: You can sideload as many apps as you like on your device. However your free developer account has limitations but you can easily bypass those limitations by creating a new Apple ID. On iOS 10, 11 and higher, you can only have 3 sideloaded apps installed on your device at the same time. Apple has limited this and will not allow any more for free Apple Developer accounts.
       
      Q: Cydia Impactor is stuck on "Verifying Application". Why?
      A: This has to do with the 3 app sideload limit on iOS 10. You will need to remove a sideloaded app on your device before you can install a new one. If you're not on iOS 10 or higher and you still get this error, make a support topic.
       
      Q: Cydia Impactor is stuck on "GeneratingApplicationMap". Why?
      A: This usually happens with some apps but even though Cydia Impactor is stuck there, the application installs fine on your device.
       
      Q: Cydia Impactor does not show my device?
      A: If this happens, try rebooting your PC, open up iTunes while your device is connected & make sure you tap on 'Trust' from the popup on your iDevice. Then open Cydia Impactor. If this does not help, try completely uninstalling then reinstalling iTunes.
       
      Q: How to fix the Cydia Impactor Runtime Errors or Disappearing/Closing Window?
      A: If you receive these errors, you may need to try a different USB cable & USB port. You can also try making a new user account on your Windows PC and run Cydia Impactor there.
       
      Q: How to fix the Cydia Impactor "http-win.cpp:xxx Peer certificate cannot be authenticated with given CA certificates" error?
      A: This is usually not an issue with Cydia Impactor. The error usually means that Apple's signing servers are down. Try again later. If the issue still persists, make a support topic.
       
      Q: How to fix the Cydia Impactor "provision.cpp:81 The 'Network Extensions' feature is only available to users enrolled in Apple Developer Program." error?
      A: Inside Cydia Impactor, click on the 'Xcode' option, then click on 'Revoke Certificates'. If that doesn't help, you may have 2-Step Authentication enabled for your Apple ID which is preventing you from using Cydia Impactor. Disable that or create a new Apple ID.
       
      Q: How to fix the Cydia Impactor "provision.cpp:168 Please sign in with an app specific password." error?
      A: If you get this error, please see this topic.
       
      Q: Can I install the modded IPA without overwriting or deleting the App Store IPA?
      A: Yes, you can. See this tutorial.
       
      Q: How do I fix "lockdown.cpp:57 LOCKDOWN_E_MUX_ERROR"?
      A: This issue is caused when another program on your computer might be interfering with Cydia Impactor. Close programs you are not using or restart your computer and run Cydia Impactor again.
       
      Q: How do I fix "You already have a current iOS Development certificate or a pending certificate request."?
      A: Inside Cydia Impactor -> Xcode -> Revoke Certificates. Enter your Apple ID & password then retry.
       
      Q: How do I fix "The maximum number of apps for free development profiles has been reached."?
      A: Apple limits how many apps you can sideload within 7 days using the same Apple ID. And once you reach that limit, your option is to wait, or use another Apple ID.
       
      Q: How do I fix "provision.cpp:138 maxQuantity" error?
      A: This is an issue that happens if you are using an older version of Cydia Impactor. Updating your Cydia Impactor to the latest version will fix this issue.
       
      Q: How do I fix "application already installed as incompatible team" error?
      A: This simply means that you already have the app installed on your iDevice and it cannot overwrite it. In order to fix this, you should either simply remove the existing app on your iDevice first then try sideloading again. Alternatively, you can install the new IPA with a custom Bundle Identifier so it installs as a duplicate app. See this topic.
       
      Q: How can I downgrade my Cydia Impactor? Make 'Revoke Certificates' option work.
      A: You can easily use an older version of Impactor by visiting the specific URL to download the version compatible with your Operating System. To download an even older version, change the URL to that version. Use 0.9.43 version to be able to use the revoke option.
      Windows: https://cache.saurik.com/impactor/win/Impactor_0.9.43.zip
      Mac: https://cache.saurik.com/impactor/mac/Impactor_0.9.42.dmg
      Linux 32-bit: https://cache.saurik.com/impactor/l32/Impactor32_0.9.43.tgz
      Linux 64-bit: https://cache.saurik.com/impactor/l64/Impactor64_0.9.43.tgz
       
       
      - More to be added -
    • By zhiduan
      stuck on "Verifying Application" stuck on,Am on ios 11.3.1.why?
    • By 0xBL4Z3R
      I installed this app last month but i forgot to share it with you guys, you might wanna hurry cos it can get pulled out from appstore anytime
      iTunes Link: (gonna hide this probably)

      Hidden Content
      React or reply to this topic to see the hidden content. More info The UI is awesome, d/l speed is blazing fast and you can download videos directly from youtube! You can change the search engine too, you can download from (Youtube, Soundcloud, dailymotion and vimeo) in the Search tab and there’s also the browser tab which is amazing to download animes from there (in my case)
      there are some ads but in the next updates there’ll be in-app purchases to remove it hopefully!
    • By JustinPet26
      iAP26 (Electra iOS 11)
      (Free iAP Purchases)

      Fully supports iOS 11 - 11.1.2
      (Electra fully supported)
      Free in app purchases on iOS 11 with Electra!
      You'll know if it doesn't work when (iAP transaction fails/app crashes)
       
      This WILL NOT work on everything!
      So please do not complain.

      WORKS ON iOS 11 - 11.1.2
       
      iOS 11-11.1.2 installation instructions with Electra! Hidden Content
      React or reply to this topic to see the hidden content. More info
      Brought to you by JustinPet26!
  • Recently Browsing   0 members

    No registered users viewing this page.


    • Administrator |
    • Global Moderator  |
    • Moderator  |
    • ViP Plus |
    • ViP |
    • Cheater  |
    • Modder  |
    • Novice Cheater |
    • Rookie Modder |
    • Contributor |
    • Senior Member |
    • Member |
×

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.