Jump to content

How to call the function? (iOS jailbreak)


Go to solution Solved by Saitama,

10 posts in this topic

Recommended Posts

Posted

Hi I'm trying to call a function in the game Hide N Seek : Mini Games.

Here is my code, (I just need to call any function):

function dump:

//RVA: 0x11FE288 Offset: 0x11FE288 VA: 0x11FE288
   private void Update() { }


#include <unistd.h>
#include <dispatch/dispatch.h>
#include <mach-o/dyld.h>

uintptr_t getExecAddr(uintptr_t addr)
{
 const struct mach_header* header = _dyld_get_image_header(341); // this is the library index, it's so big because I'm              using a debugger so far.
 if (header == NULL){return 0;}

 uintptr_t libLoadAddr = (uintptr_t)header;
 uintptr_t exec_addr = libLoadAddr + addr;

 return exec_addr;
}

void (*Update)();

%ctor { 

 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

  sleep(15); // wait for all libraries to load

  Update = (void(*)())getExecAddr(0x11FE288);

  Update();

 });
 
}

The game crashes when the moment comes to call the function. What am I doing wrong? :(

Posted

Keep It Simple - using this one


u dont need header index etc
u need library name
 

[menu setFrameworkName:"UnityFramework"];


next is

void (*Update)(void *inst) = (void(*)(void *))getRealOffset(0x11FE288);

and call of this is

Update(inst);


Why inst?
Because its not static function - and this function is called from some class
*inst is a class that has this function and the first arg is for call

  • Informative 1
Posted

Thanks for the answer! but i did not understand where to call the function, if this is done in the same place where the pointer is declared, the compiler will gile the error "use of undeclared identifier 'inst'' for Update(inst);

Posted
20 hours ago, nngot44 said:

Thanks for the answer! but i did not understand where to call the function, if this is done in the same place where the pointer is declared, the compiler will gile the error "use of undeclared identifier 'inst'' for Update(inst);

because u dont declare this variable and dont get the pointer of object created by this class

also dont know why u need to call exact this function 
in Unity games this function basically called automatically each frame (if the class inherits MonoBehaviour class)
 

  • Solution
Posted (edited)

the main logic is
var someClass = new SomeClass(); //or other c# initialisation 
someClass.SomeMethod();

SomeMethod() cant be called from no where

Example #1

public class SomeClass : MonoBehaviour 
{
	// Fields
	...

	// Properties
	...

	// Methods
	...
	// RVA: 0x100400 Offset: 0x100400 VA: 0x100400
	public static SomeClass get_Instance() { }

	// RVA: 0x100500 Offset: 0x100500 VA: 0x100500
	public void SomeMethod() // address 0x100500

	// RVA: 0x100600 Offset: 0x100600 VA: 0x100600
	public static void SomeStaticMethod() // address 0x100600
	...
}

 

void* (*SomeClass$$get_Instance)() = (void(*)())getRealOffset(0x100400);
void (*SomeClass$$SomeMethod)(void *SomeClass) = (void(*)(void *))getRealOffset(0x100500);

void* SomeClassInstance = SomeClass$$get_Instance();
SomeClass$$SomeMethod(SomeClassInstance);

 

void (*SomeClass$$SomeStaticMethod)() = (void(*)())getRealOffset(0x100600);

SomeClass$$SomeStaticMethod();

Example #2

public class SomeOtherClass : MonoBehaviour 
{
	// Fields
	...

	// Properties
	...

	// Methods
	...
	// RVA: 0x100300 Offset: 0x100300 VA: 0x100300
	public void InitWithSomeClass(SomeClass someClassInstance) { }
	...
}

 

void* SomeClassInstance = NULL;
void (*SomeOtherClass$$InitWithSomeClass_original)(void *SomeOtherClassInstance, void* someClassInstance);
void _SomeOtherClass$$InitWithSomeClass_hook(void *SomeOtherClassInstance, void* someClassInstance) 
{
	SomeClassInstance = someClassInstance;
	SomeOtherClass$$InitWithSomeClass_original(SomeOtherClassInstance, someClassInstance);
}

HOOK(0x100300, _SomeOtherClass$$InitWithSomeClass_hook, SomeOtherClass$$InitWithSomeClass_original);

 

Updated by Saitama
  • Winner 1
Posted (edited)

Example #3

public class SomeThirdClass : MonoBehaviour 
{
	// Fields
	...
	public SomeClass SomeClassField // 0x100
	...

	// Properties
	...

	// Methods
	...
	// RVA: 0x100200 Offset: 0x100200 VA: 0x100200
	public void Update() { }
	...
}

 

void* SomeClassInstance = NULL;
void (*SomeThirdClass$$Update_original)(void *SomeThirdClassInstance);
void _SomeThirdClass$$Update_hook(void *SomeThirdClassInstance) 
{
	void* someClassInstance = *(void **)((uint64_t)SomeThirdClassInstance + 0x100);
	if(someClassInstance != NULL)
    {
		SomeClassInstance = someClassInstance;
    }
	SomeThirdClass$$Update_hook(SomeThirdClassInstance);
}

HOOK(0x100200, _SomeThirdClass$$Update_hook, SomeThirdClass$$Update_original);

 

 

Updated by Saitama
  • Winner 1
Posted

Thanks for these examples, I'm new and still learning how to make dylib libraries for games. I tried to call the Update function because I thought it would be the easiest to call :)

Posted (edited)

I used your advice and wrote this code (i hope my method returns the correct address) :

#include <unistd.h>
#include <dispatch/dispatch.h>
#include <mach-o/dyld.h>

uintptr_t getExecAddr(uintptr_t addr)
{
    const struct mach_header* header = _dyld_get_image_header(341);
    if (header == NULL){return 0;}

    uintptr_t libLoadAddr = (uintptr_t)header;
    uintptr_t exec_addr = libLoadAddr + addr;

    return exec_addr;
}

%ctor 
{

	dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

		sleep(150);

		void* (*VELights$$get_Instance)() = (void* (*)())getExecAddr(0x12FD104);
		void (*VELights$$ResetMainSunLightAngle)(void *VELights) = (void(*)(void *))getExecAddr(0x12FD4B8);

		void* VELightsInstance = VELights$$get_Instance();
		VELights$$ResetMainSunLightAngle(VELightsInstance);
		
	});	

}	

 

In the debugger, I always get rather strange errors, for example, from the libobjc.A.dylib'objc_retain library. 

I thought it would be easier for me if it was possible to disable ASLR for this game. Is it possible to do this on iOS 13?

 

Updated by nngot44
Posted

basically start from doing some easier things
for example change values from 
public int get_someGold();
and setter
public void set_someGold(int goldVal);

its will be easier to understand that call some function

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
  • Our picks

    • Disney Magic Match 3D +4 Jailed Cheats [ Unlimited Everything ]
      Modded/Hacked App: Disney Magic Match 3D By Jam City, Inc.
      Bundle ID: com.jamcity.pdt
      App Store Link: https://apps.apple.com/us/app/disney-magic-match-3d/id6468690398?uo=4

       


      🤩 Hack Features

      - Unlimited Coins
      - Unlimited Lives
      - Unlimited Pre-Game Boosters
      - Unlimited In-Game Boosters
        • Like
      • 8 replies
    • Vampire Survivors +4 Mods [ Damage & Defence ]
      Mod APK Game Name: Vampire Survivors By Poncle
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.poncle.vampiresurvivors

       

      🤩 Hack Features

      - Damage Multiplier 
      - Defence Multiplier
      - God Mode
      - Unlock All Weapons -> Head over to Options and toggle the Sounds button.
        • Agree
        • Thanks
        • Winner
        • Like
      • 2 replies
    • Vampire Survivors +4 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Vampire Survivors By Poncle
      Bundle ID: com.poncle.VampireSurvivors
      iTunes Store Link: https://apps.apple.com/us/app/vampire-survivors/id6444525702
       

      Hack Features:
      - Damage Multiplier
      - Defence Multiplier
      - All Weapons Unlocked -> Head over to Options and toggle the Sounds button.


      Jailbreak required hack(s): [Mod Menu Hack] Vampire Survivors v1.6.104 +5 Cheats [ Damage & Defence ] - Free Jailbroken Cydia Cheats - iOSGods
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 157 replies
    • Idle Gas Station Tycoon +2 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Idle Gas Station Tycoon By Lime Games LLC
      Bundle ID: com.limegames.idlegas
      iTunes Store Link: https://apps.apple.com/us/app/idle-gas-station-tycoon/id6446057753?uo=4


      Hack Features:
      - Unlimited Cash -> Will increase instead of decrease.
      - Unlimited Gems -> Will increase instead of decrease.


      Jailbreak required hack(s): [Mod Menu Hack] Idle Gas Station Tycoon v1.2 +2 Cheats [ Unlimited Currencies ] - Free Jailbroken Cydia Cheats - iOSGods
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Like
      • 6 replies
    • Loot Heroes: Fantasy RPG Games +28 Jailed Cheats [ Unlimited Everything ]
      Modded/Hacked App: Loot Heroes: Fantasy RPG Games By BoomBit, Inc.
      Bundle ID: com.bbp.lootheroes
      iTunes Store Link: https://apps.apple.com/us/app/loot-heroes-fantasy-rpg-games/id6642699678?uo=4


      Hack Features:
      - Freeze Everything -> Currencies, Hero Cards, Hero Skill Points will all freeze.
      - God Mode -> Traps still cause damage.
      - One-Hit Kill
      - No Attack Delay
      - All Critical Hits
      - All Heroes Unlocked
      - All Skins Unlocked
      - No Skill Cooldown
      - Nickname Edit Unlocked
      - No Nickname Filter
      - No Guild Name Filter
      - No Dash Cooldown
      - Unlimited Boosters
      - Auto Play
      - No Camp Upgrade Cost
      - Unlimited Bolts
      - No Ads

      VIP
      - Unlimited Everything -> Currencies, Hero Cards, Hero Skill Points will all increase instead of decrease.
      - Currency Modifier -> Earn or spend some.
      - Unlimited Hero Cards -> Earn some.
      - Unlimited Hero Skill Points -> Earn some.
      - Trophy Modifier -> Earn or lose some to stick to the leaderboard.
      - Guild Score Modifier -> Earn some.
      - Unlimited Event Score -> Earn some.
      - Max Hero Mastery Level
      - Auto Win
      - Battle Pass Unlocked
      - VIP Enabled
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 247 replies
    • Merge City - Travel & Story v1.3.1 [ +3 APK MOD ] Currency Max
      Mod APK Game Name: Merge City - Travel & Story
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.bigcool.puzzle.merge.city&hl=en

      🤩 Hack Features

      - Unlimited Gold
      - Unlimited Cash
      - Energy / Buy With Gold
      • 0 replies
    • Merge City: Travel & Story v1.3.1 [ +3 Cheats ] Currency Max
      Modded/Hacked App: Merge City: Travel & Story By Hangzhou Mengku Technology Co., Ltd.
      Bundle ID: com.bigcool.puzzle.merge.city
      App Store Link: https://apps.apple.com/us/app/merge-city-travel-story/id6760990504?uo=4

      🤩 Hack Features

      - Unlimited Gold
      - Unlimited Cash
      - Unlimited Energy
      • 2 replies
    • Merge City: Travel & Story v1.3.1 [ +3 Jailed ] Currency Max
      Modded/Hacked App: Merge City: Travel & Story By Hangzhou Mengku Technology Co., Ltd.
      Bundle ID: com.bigcool.puzzle.merge.city
      App Store Link: https://apps.apple.com/us/app/merge-city-travel-story/id6760990504?uo=4

      🤩 Hack Features

      - Unlimited Gold
      - Unlimited Cash
      - Unlimited Energy
      • 0 replies
    • Idle Berserker Legend Of Kali +2 Mods [ Damage + More ]
      Mod APK Game Name: Idle Berserker Legend Of Kali By A1GAMES
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.a1gamesstudio.berserker

       

      🤩 Hack Features

      - Damage Multiplier
      - No Skill Cooldown
      • 0 replies
    • Backpack Legends Adventure RPG +1++ Jailed Cheat [ Unlimited Currencies ]
      Modded/Hacked App: Backpack Legends Adventure RPG By ONDI TECHNOLOGY JSC
      Bundle ID: com.ondi.pack.adventure
      App Store Link: https://apps.apple.com/us/app/backpack-legends-adventure-rpg/id6755376569?uo=4

       

      🤩 Hack Features

      - Unlimited Currencies -> Will increase instead of decrease.
        • Thanks
        • Winner
        • Like
      • 0 replies
    • Duriano: Roguelike RPG +2 Mods [ Damage + More ]
      Mod APK Game Name: Duriano: Roguelike RPG By Adisoft Gaming
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.adisoft.duriano

       

      🤩 Hack Features

      - Damage Multiplier 
      - God Mode
        • Like
      • 2 replies
    • Backpack Legends Adventure RPG v0.4.5 [ +12 Cheats ] Currency Max
      Modded/Hacked App: Backpack Legends Adventure RPG By ONDI TECHNOLOGY JSC
      Bundle ID: com.ondi.pack.adventure
      App Store Link: https://apps.apple.com/us/app/backpack-legends-adventure-rpg/id6755376569?uo=4

      🤩 Hack Features

      - Enough Currency
      - Enough Resources
      - Freeze Currency
      - Freeze Resources
      :::::: VIP ::::::
      - ADS NO
      - Unlimited Currency
      - Unlimited Resources
      - Inventory Slot MAX
      Weapon Stats
      - ATK MAX
      - HP MAX
      - DEF MAX
      - Speed MAX
      - Items Bonus / Linked Weapon Stats
        • Informative
        • Like
      • 2 replies
×
  • Create New...

Important Information

We would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines