Tutorial iOS Mod Menu Theos NIC Template - Create MM for iOS

red16

Platinian
Original poster
Sep 23, 2019
11
277
28
Platinmods.com
r16Menu Template for Theos!

Sample Menu UI look.
6D21035C-D303-4699-967D-38B764441281.png

Get from GitHub here

Hidden content
** You must be signed up and reply to the thread or click 'Like' under this post before you can see the hidden links contained here. **
If you still facing issues revealing the hidden links, please read this.

Features:
* Customizable UI
* Customizable menu logo
* 7 different switchs:
* Patcher
* Patch
* Regular switch
* Textfield Switch wide or right
* Slider Switch
* Index switch
* Hook Swith

* Patcher and Patch switch is based on KittyMemory
* Original bytes are required
* Supports MSHookMemory
* Write unlimited bytes to a offset

Encryption:
  • I did not include encryption you will have to make your own to encrypt nsstrings.
Installation:
  • Download the modmenu template paste in /var/theos/templates/ios/theos
Usage:
Open r16Logo.h and paste your own menu image <Base64 Encode - Online>
Objective-C:
menu.r16Logo = @"YOUR BASE 64 Here"; //for both menu and button will implement button and logo searperatly later
Using a custom framework:
You can set this in the function startAuthentication() inside Tweak.xm but this is not requierd. Dont worry about it skip_

menu.frameworkNamed = @"UnityFramework";

Patching variables:
C++:
//call these inside ur own custom functions
*(int*)[UIKeyPatch address:@"0x78" ptr:ptr] = 999;
*(bool*)[UIKeyPatch address:@"0x32" ptr:ptr] = true;
*(float*)[UIKeyPatch address:@"0x56" ptr:ptr] = 999.0f;
Hooking methods:
Objective-C:
//toggle on or off
[r16Hook toggleHook:true
address:@"0x101C0E5F0"
with:(void *)PlayerMoveC_Update
original:(void **)&orig_PlayerMoveC_Update];

//without toggle
[r16Hook hook:@"0x10276FB26"
with:(void *)Player_Update
original:(void **)&_Player_Update];

//shmoos
HOOK(@"0x102517FB251", Player_Update, orig_Player_Update);
HOOK_NO_ORIG(@"0x102517FB251", Player_Update);
Patching a plain offset:
[UIKeyPatch offset:@"0x104361010" byte:@"0xC0035FD6"];
[UIKeyPatch offset:@"0x104361010" byte:@"0x000080D2C0035FD6"];

// You can write as many bytes as you want to an offset i think
[UIKeyPatch offset:@"0x104361010" byte:@"0x00F0271E0008201E000080D2C0035FD6"];
Patcher switch:
Objective-C:
[menu addPatcher:@"Custom Patch #1"]; //custom offsetpatcher switch live
Plain Switch:
Objective-C:
[menu addSwitch:@"Mana"
description:@"Infinite mana"];
Textfield Switch Right:
Objective-C:
[menu addTextfieldRight:@"Set Weapon:"
description:@""];
Textfield Switch Wide:
Objective-C:
[menu addTextfieldWide:@"Chat Spam:"
description:@""];
Slider Switch:
Objective-C:
[menu addSlider:@"Custom Fov"
description:@""
initialValue:1.00
minValue:1.00
maxValue:200.00];
Index Switch:
Objective-C:
[menu addIndexSwitch:@"Pick Damage"
description:@""
items:@[@"10", @"20", @"40", @"80", @"120", @"140"]];
Hook Switch:
Objective-C:
//adding one hook
[menu addHookNamed:@"Aimbot"
description:@""
hook:@[[r16Hook hook:@"0x10276FB26"
with:(void *)Player_Update
original:(void **)&_Player_Update]]];

//adding infinte :)
[menu addHookNamed:@"Aimbot"
description:@""
hook:@[
[r16Hook hook:@"0x10276FB26"
with:(void *)Player_Update
original:(void **)&_Player_Update],
[r16Hook hook:@"0x10276FB26"
with:(void *)Player_Update
original:(void **)&_Player_Update],
[r16Hook hook:@"0x10276FB26"
with:(void *)Player_Update
original:(void **)&_Player_Update]]
];
Checking if a switch is on:
Objective-C:
bool manaOn = [menu getSwitchOnForSwitch:@"Mana"];

if(manaOn) {
//stuff
}

//checking directly:
if([menu getSwitchOnForSwitch:@"Mana"]) {
//stuff
}

//using index string-arrays start at 0
if([menu getIndexForString:@"Pick Damage"] == 1/*20*/){
//do stuff
}
if([menu getIndexForString:@"Pick Damage"] == 0/*10*/){
//do stuff
}
Getting value from textfield and slider:
Objective-C:
//textfield
int userValue = [menu getInt:@"Switch Name"];
NSString *userValue3 = [menu getNSString:@"Switch Name"];

//slider
float userValue1 = [menu getFloat:@"Switch Name"];
Credits:
* @red16
* @TheArmKing
* For helping meh and ideas ;-;
*Ruit
*[KittyMemory](https://github.com/MJx0/KittyMemory)
Contact:
If you find a bug in this beta version hit me up
Don't spam me please.
 

Attachments

Last edited:

datdudechico

Rookie
May 28, 2021
2
0
1
28
Earth
Need help, can you tell me how can I set up this for a flex patch switch on

Checking if a switch is on:
Objective-C:
bool manaOn = [menu getSwitchOnForSwitch:@"Mana"];

if(manaOn) {
//stuff
}

My tweak example

#import <UIKit/UIKit.h>

%hook LocalUserData
-(bool)isTrailUnlocked {
return TRUE;
}
%end

@red16