Skip to content

Spoowy63/iOS-Encrypted-MMT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 

Repository files navigation

iOS Mod Menu Template for Theos!

Sample UI of the Menu:

IMPORTANT: MAKE SURE EVERYTHING IS ENCRYPTED/OBFUSCATED BEFORE COMPILING OR ELSE IT MIGHT CRASH

CHANGES:

  • all your offsets get encrypted with Joeys XOR encryption.

  • header text, switch names, switch description and watermark text get obfuscated. (its pretty much as strong as base64)

  • gave the default menu a new look. if you dont like it change it :)

  • removed the menu icon in the header.

  • changed default menu icon

  • added glow to the menu. you can remove this if you want (how to do it is posted in Tweak.xm at the part where you can set the header title)

  • added "TAP ME.html" for more info

  • added optional watermark. if you enable watermark it will be positioned in the bottom left corner

  • when making a new project with this template it will automatically generate encryption codes/obfuscation string so you dont have to do anything

  • added a folder named "HelperFiles"

    • this folder contains 5 files. 2 for encrypting/decrypting offsets. 2 for obfuscating/deobfuscating some text.
    • tap the encrypt/obf file to encrypt/obfuscate everything
    • tap the decrypt/deObf file to decrypt/deobfuscate everything
    • make sure that everything is obfuscated/encrypted before you compile.
  • you can easily check if everything is obfuscated/encrypted at the top of your Tweak.xm ⬇

  • added this to menu.mm. if you want to change switch height you can but i dont recommend it.

  • changing the color for divider and glow is fine tho

Features:

  • Customizable UI

  • Customizable menu & button image icon

  • 4 types of switches:

    • Offset Patcher Switch
    • Empty Switch
    • Textfield Switch
    • Slider Switch
  • Backend Offset Patcher Switch is based on KittyMemory

    • Original bytes are not required
    • Supports MSHookMemory
    • Write unlimited bytes to a offset
  • Open Source Menu


Installation:

You can download the template here: Latest Release.
Also follow the instructions below otherwise you will run into errors!
iOS:

  1. install theos to /var/theos if you havent already done that
  2. copy the .nic.tar file to /var/theos/vendor/templates paste it there.
  3. open Newterm and login. now type this: /var/theos/bin/nic.pl you should see a list of templates. enter the number that corresponds to this template(Ted2's Encrypted MMT)
  4. fill out the questions.
  5. done your project should be in /var/mobile or somewhere else if you cd into a different directory
  6. In the makefile on line 22, you've to set the path to your SDK. This menu has been tested with the "iPhoneOS11.2.sdk" SDK from theos/sdks
  7. I use initializer_list in this project, iOS doesn't have this included by itself. You can download it here, save it as "initializer_list" and copy the file to: "$THEOS/sdks/iPhoneOS11.2.sdk/usr/include/c++/4.2.1/"

MacOS:

  1. Install xCode if you haven't already.
  2. In the Makefile of the project, change "MOBILE_THEOS=1" to "MOBILE_THEOS=0" on line 19 of the makefile.

Usage:

Changing the menu images

Inside the tweak.xm, you'll setup the menu under the function "setupMenu". Here you'll see two options under the menu: menuIcon & menuButton, those require a base64 image string. In order to get a base64 string from the image, upload the image here: https://www.browserling.com/tools/image-to-base64

Images 50x50 are recommended, you can get a sample of my images by copying the standard(in tweak.xm) base64 string & use this website to show the picture: https://base64.guru/converter/decode/image

Setting a framework as executable You can set this in the function setupMenu() inside Tweak.xm

[menu setFrameworkName:"FrameworkName"];

Patching a offset without switch:

patchOffset(0x1002DB3C8, "0xC0035FD6");
patchOffset(0x10020D2D4, "0x00008052C0035FD6");

// You can write as many bytes as you want to an offset
patchOffset(0x10020D3A8, "0x00F0271E0008201EC0035FD6");

Offset Patcher Switch:

[switches addOffsetSwitch:@"One Hit Kill"
            description:@"Enemy will die instantly"
              offsets:{0x1001BB2C0, 0x1002CB3B0, 0x1002CB3B8}
                bytes:{"0x00E0BF12C0035FD6", "0xC0035FD6", "0x00F0271E0008201EC0035FD6"}];

Empty Switch:

[switches addSwitch:@"Masskill"
            description:@"Teleport all enemies to you without them knowing"];

Textfield Switch:

[switches addTextfieldSwitch:@"Custom Gold"
            description:@"Here you can enter your own gold amount"
              inputBorderColor:UIColorFromHex(0xBD0000)];

Slider Switch:

[switches addSliderSwitch:@"Custom Move Speed"
            description:@"Set your custom move speed"
              minimumValue:0
                maximumValue:10
                  sliderColor:UIColorFromHex(0xBD0000)]; 

Checking if a switch is on:

bool isOn = [switches isSwitchOn:@"Switch Name Goes Here"];
    
if(isOn) {
  //Do stuff
}
    
//Or check directly:
if([switches isSwitchOn:@"Switch Name Goes Here"]) {
    // Do stuff
}

Getting textfield or slider value:

int userValue = [[switches getValueFromSwitch:@"Switch Name Goes Here"] intValue];
float userValue2 = [[switches getValueFromSwitch:@"Switch Name Goes Here"] floatValue];

The sample.xm in the project shows an example project.

Credits:


Contact:

If you need support you can join my telegram group: https://t.me/Spoowy63

About

This is a Mod Menu template for theos.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 73.1%
  • Objective-C++ 17.0%
  • C++ 9.9%