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!

170 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 50
  • Thanks 11
  • Haha 5
  • Upvote 165
  • Agree 5
  • Winner 3

Share this post


Link to post
Share on other sites
  • Topic Author
  • enjoy :D

    Edited by shmoo
    • Upvote 3

    Share this post


    Link to post
    Share on other sites
  • Topic Author
  • 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. :)

    • 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 RamL BuTT
                                                MS Tweak Designer
         
        A simple tool to generate pref-bundels (GUI's for mobilesubstrate hacks).
         
         
        Don't ask me how to use it, will make proper documentation when I release my full hack studio with a drag and drop GUI builder 
         
         
        This is a small tool for people who know what they are doing lol....
         
         
         
         
         

         
         
         
         
         
         
         
         
        Download v1.0:
         
         

        Hidden Content
        React or reply to this topic to see the hidden content. More info  
         
         
         
         
        Download v1.4:
         
         

        Hidden Content
        React or reply to this topic to see the hidden content. More info  
         
         
         
         
        Download v1.8:
         
         

        Hidden Content
        React or reply to this topic to see the hidden content. More info  
         
         
         
         
         
         
      • By WarL0ck
        Hello Everyone,   Cyder 3.0 is Tool, with which you will be able to download the Free Cydia Deb files from almost any repo on your Windows Computer. We dont know how much people need it, but we made it cause we missed it. Please note this is an initial beta release, may contain defects, so dont get mad.   Features:
        Add Repo Reload/Update Repo Delete/Remove Repo Search Packages Download Individual Package Download Package with Dependencies Download Queue with status Browse Downloads Pre Added Some Repositories  
        Requirements:
        Windows Vista Windows 7 Windows 8 Windows 8.1 Windows 10 Microsoft .Net Framework 4.5.2 -- App Downloads it automatically so dont worry if you haven't.   Change Log:
        https://forum.ipahub...yder/cyder.html   Download Hidden Content
        React or reply to this topic to see the hidden content. More info   Virus Scans   VirusTotal Jotti   Screenshots             Update is coming soon....
      • By xiaov
        Big thanks to @Amuyea @Zimon for helping me to done this App. After few days, float converter tools finally complete!
         
        This is a converter which use for Float Convert. The value is what you saw it during you are using GDB / LLDB.
         
        Function :
        - Convert float value from GDB/LLDB >>  Float value.
        - Convert 10byte Decimal  >> 16byte Hexdecimal.
        - Convert 16byte Hexdecimal >> 16byte Decimal.
         
        UI for the APP:
             

         
        Page 1:
        GDB/lldb when u found a float value ( i found this float from skill cooling time which is float value)
        ( all the ARM instruction included /  .f32 / .f64  / f )  (armv7 - vxxx.f32, arm64 - fxxx.32 xx)

         
        Enter the value from R1 (1084227584)  to iOSGods Calculator "Float Section" (Page1), after you entered the value, press "Done".
        the  value in "Float:" is what exactly we want. So 1084227584 means my skill cooling time is 5.0 seconds.

         
        Page 2: 16byte Hexdecimal to 10byte decimal.

         
        Page 3: 10byte Decimal to 16byte Hexdecimal.
         

         
        Download link :

        Hidden Content
        React or reply to this topic to see the hidden content. More info  
        Credits:
        - @xiaov (for coding)
        - @Amuyea (for UI design and tester)
        - @Zimon (for UI design and image)
         
      • By FiLex

         
        Name of the game you want hacked: Happy Daycare Stories
        Version of the game: 1.0.1
        Google Play Store Link:
         https://play.google.com/store/apps/details?id=com.playtoddlers.happydaycarestories.free

        Rooted or Unrooted
        Requested Features: 
        - Unlock In-Apps
      • By arthurdapaz
        MemPatcher — a better writeData alternative
        RELEASE (v1.0)
        DISCLAIMER Use this and modify it as you wish, if you know what you're doing. But, remember to give the proper credits.   INTRO Hello, iOSGoders coders, I was suposed to release this a year ago,
        but real life has consumed my virtual life.   Advantages over writeData.h: 1) no need to get original offsets for disabling hacks anymore. 2) Objective-C (easier for C-dummies) 3) it can be easily expanded for multiple offsets using NSMutableArrays (will post a youtube example if you guys want)   CONS: IT IS EXPOSING OFFSETS EASILY don't use it for public hacks, only for personal ones, until I release a C++ version instead of Objective-C      
        USAGE:
         
        Move the two files (MemPatcher.h and MemPatcher.m) to your Tweak.xm folder
        and make sure to add it to be compiled at your Makefile:
           (your hack name)_FILES = Tweak.xm MemPatcher.m  
        And then you go to your Tweak.xm
        and add theses lines:
        #import "MemPatcher.h" Then you instantiate your hack:
        MemPatcher *hack = [MemPatcher patch:0xMEMORYOFFSET data:0xNEWVALUE]; Simple example for two hacks:
        MemPatcher *hackA, *hackB; hackA = [MemPatcher patch:0xAFD01C data:0x70477047]; hackB = [MemPatcher patch:0xCD90F2 data:0x01207047]; Then enabling:
        [hackA apply]; [hackB apply]; Or disabling:
        [hackA reset]; [hackB reset]; Also, I have exposed a method for ASLR offset calculation just in case
        you need to MSHookFunction any offset directly. See the example:
        MSHookFunction( (void*) ([MemPatcher calculate:0x1CECA0]),                 (void*) new_method,                 (void**) &old_method); Don't use 'calculate' inside [MemPatcher patch:...],
        because it does this math by default.
        CHANGE LOG:
        v1.0 
        released MemPatcher work for x64 and x32 bits hacks TODO:
        — You tell me!
        CREDITS:
        — Razzile, HackJack, DiDA (our master) and me
         
         
    • 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.