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

red16

Platinian
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 make a comment or click 'Like' under this post before you can see the hidden links contained here.
You might need to refresh the page after pressing like. 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

  • image0.jpg
    image0.jpg
    15.2 KB · Views: 393
Last edited:
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
 
Back
Top Bottom