Jump to content

11 posts in this topic

Recommended Posts

Updated (edited)

Hello, in this tutorial I will show one of the ways to hook a function. I will be hooking a function from a Unity game.

First you need to find the address at which the beginning of the function is located in real time, this is difficult due to ASLR (address randomization).

First, let's write a method that will return the following address:

// RVA: 0x11FE288 Offset: 0x11FE288 VA: 0x11FE288
    private void Update() { }
  (This is the address and information about the function that is in the compiled game engine)

uint64_t getExecAddr(uint64_t addr, int index)
{
    const struct mach_header* header = _dyld_get_image_header(index);
    if (header == NULL){return 0;}

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

    return exec_addr;
}

In this example, we are making a method that returns a number of type uint64_t and takes two parameters: the address of the function (for example, the one I gave above) and the library index.

Using the _dyld_get_image_header() method, we get the address from which the library was loaded by its index.

 

How to find the library index? This can be done in two ways: Using the LLDB debugger (image list command) or using another method that we will now write (this method is better than the first one)

uint64_t getLibIndex(const char* que_image)
{
	int i = 0;
	int image_count = _dyld_image_count();

	for(; i < image_count; i++)
	{
		const char* req_image = _dyld_get_image_name(i);

		if(req_image && strcmp(req_image, que_image) == 0)
			{return i;}
	}
	return -1;
}

This method takes a path parameter to the library, we use the _dyld_image_count() method to find out how many libraries are loaded into the game process, then using a loop we compare our path to the library with others, and if the paths match, we return the index.

Okay, there's not much left. Now let's create a pointer to the old function and create a replacement function that will be called instead of the original one:

void (*old_Update)(void *self);

void Update(void *self)
{
 	// "your code here"
  
	old_Update(self);
}

Now let's just make a hook according to a template that can be easily found on the Internet:

%ctor 
{		
	MSHookFunction( (void *)address_to_your_func_with_aslr, (void *)Update, (void **)&old_Update);	
}	

To make it clearer, I will show the full code of my hook:

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

uint64_t getExecAddr(uint64_t addr, int index)
{
    const struct mach_header* header = _dyld_get_image_header(index);
    if (header == NULL){return 0;}

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

    return exec_addr;
}


uint64_t getLibIndex(const char* que_image)
{
	int i = 0;
	int image_count = _dyld_image_count();

	for(; i < image_count; i++)
	{
		const char* req_image = _dyld_get_image_name(i);

		if(req_image && strcmp(req_image, que_image) == 0)
			{return i;}
	}
	return -1;
}


void (*old_Update)(void *self);

void Update(void *self)
{
	sleep(5);
	old_Update(self);
}


%ctor 
{	
	dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

		sleep(150);

		int index = getLibIndex("/private/var/containers/Bundle/Application/BAE27894-6809-4743-AFFA-C1F6B93195CB/hidenseek.app/Frameworks/UnityFramework.framework/UnityFramework");
		
		uint64_t address = getExecAddr(0x11fe288, index);

		MSHookFunction( (void *)address, (void *)Update, (void **)&old_Update);

	});	

}	

 

This is my test version of the hook, it works great. (dispatch_async I used to wait until all libraries are loaded) In my example, the hook changes the behavior of the program so that when Update() is called, the game slows down for 5 seconds, this is only a beta version and you can add other logic there :)

If you liked the tutorial, please rate it. I will try to answer questions :)

 

 

Updated by nngot44
  • Like 4
  • Thanks 1
  • Informative 1
Posted

Very good tutorial for beginner, easy to read and detailed

Thank you for posting

Posted
3 hours ago, nngot44 said:
/private/var/containers/Bundle/Application/BAE27894-6809-4743-AFFA-C1F6B93195CB/

Have to be careful here if you plan on releasing this tweak. :) This location is dynamic and changes per device & iOS version.

  • Informative 1
Posted

Really nice. Have you try this on Dopamine jailbreak? I got some issue while hooking on Dopamine.

 

Posted
1 minute ago, 34306 said:

Really nice. Have you try this on Dopamine jailbreak? I got some issue while hooking on Dopamine.

 

What kind of issues? I've seen similar reports after converting rootful to rootless with iGameGod.

Posted
Just now, Rook said:

What kind of issues? I've seen similar reports after converting rootful to rootless with iGameGod.

I have no idea, maybe it's Dopamine issue. Opa said on 1.1 he fixed PPLRW but when i tried to hooking (Unity game). It still crash. I have no idea what's going on..
xVY8cNF.jpg

Posted
Just now, 34306 said:

I have no idea, maybe it's Dopamine issue. Opa said on 1.1 he fixed PPLRW but when i tried to hooking (Unity game). It still crash. I have no idea what's going on..
xVY8cNF.jpg

Shouldn't this be an ElleKit related issue rather than Dopamine?

I tried hooks on palera1n rootless and they seem to work fine.

Posted
Just now, Rook said:

Shouldn't this be an ElleKit related issue rather than Dopamine?

I tried hooks on palera1n rootless and they seem to work fine.

Let me update Ellekit. They already have Substitute, Substrate, Libhooker. And Ellekit such a weird thing...

Report back to you later!

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

    • Zombie Tsunami v4.6.8 Jailed Cheats +1
      Modded/Hacked App: Zombie Tsunami By Mobigame
      Bundle ID: net.mobigame.ZombieCarnaval
      iTunes Store Link: https://apps.apple.com/us/app/zombie-tsunami/id529652920?uo=4

       

      🔧 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🚀 Hack Features

      - Free iAP (Press cancel when Buy) -- Turn on from iOSGods Menu first


      🍏 Jailbreak iOS hacks: 

       

      📥 iOS Hack Download IPA Link


      Hidden Content

      Download via the iOSGods App







       

      📖 PC Installation Instructions

      STEP 1: Download the pre-hacked .IPA file from the link above to your computer. To download from the iOSGods App, see our iOSGods App IPA Download Tutorial which includes a video example.
      STEP 2: Download Sideloadly and install it on your Windows or Mac.
      STEP 3: Open Sideloadly on your computer, connect your iOS device, and wait until your device name appears in Sideloadly.
      STEP 4: Once your iDevice is recognized, drag the modded .IPA file you downloaded and drop it into the Sideloadly application.
      STEP 5: Enter your Apple Account email when prompted, then press “Start.” You’ll then be asked to enter your password. Go ahead and provide the required information.
      STEP 6: Wait for Sideloadly to finish sideloading/installing the hacked IPA. If there are issues during installation, please read the note below.
      STEP 7: Once the installation is complete and you see the app on your Home Screen, you will need to go to Settings -> General -> Profiles / VPN & Device Management. Once there, tap on the email you entered from step 6, and then tap on 'Trust [email protected]'.
      STEP 8: Now go to your Home Screen and open the newly installed app and everything should work fine. You may need to follow further per app instructions inside the hack's popup in-game.

      NOTE: iOS/iPadOS 16 and later, you must enable Developer Mode. For free Apple Developer accounts, you will need to repeat this process every 7 days. If you have any questions or problems, read our Sideloadly FAQ section of the topic and if you don't find a solution, please post your issue below and we'll do our best to help! If the hack does work for you, post your feedback below and help out other fellow members that are encountering issues.

       

      🙌 Credits

      - Laxus

       

      🎥 Cheat Video/Screenshots

      N/A
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 258 replies
    • Gangstar Vegas Cheats v9.0.0 +4
      Modded/Hacked App: Gangstar Vegas - Mafia action By Gameloft
      Bundle ID: com.gameloft.gangstar4
      iTunes Store Link: https://apps.apple.com/us/app/gangstar-vegas-mafia-action/id571393580?uo=4

       

      📌 Mod Requirements

      - Jailbroken iPhone or iPad.
      - iGameGod / Filza / iMazing.
      - Cydia Substrate, ElleKit, Substitute or libhooker depending on your jailbreak (from Cydia, Sileo or Zebra).

       

      🤩 Hack Features

      - Infinite Currencies
      - Infinite Run ( To stop running turn off in menu then click run again )
      - Infinite Ammo / No Reload ( Required re-launching the game after purchasing new gun and enabled in menu before load into the game )
      - No Cops


      NOTE: Turn off wifi before playing


      🍏 For Non-Jailbroken & No Jailbreak required hacks: https://iosgods.com/topic/166702-gangstar-vegas-mafia-action-v791-jailed-cheats-3/

       

      ⬇️ iOS Hack Download Link: https://iosgods.com/topic/147734-gangstar-vegas-cheats-v800-4/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 1,032 replies
    • Family Guy The Quest for Stuff v7.9.4 +4 Cheats
      Modded/Hacked App: Family Guy The Quest for Stuff By Jam City, Inc.
      Bundle ID: com.tinycorp.familyguy
      iTunes Store Link: https://apps.apple.com/us/app/family-guy-the-quest-for-stuff/id838500730?uo=4

       

      📌 Mod Requirements

      - Jailbroken iPhone or iPad.
      - iGameGod / Filza / iMazing.
      - Cydia Substrate, ElleKit, Substitute or libhooker depending on your jailbreak (from Cydia, Sileo or Zebra).

       

      🤩 Hack Features

      - Free Store → Shows price but still able to buy
      - Free Action Skipping
      - Free Rent Skipping
      - Free Land Clear Skipping


      🍏 For Non-Jailbroken & No Jailbreak required hacks: https://iosgods.com/topic/80941-family-guy-the-quest-for-stuff-v752-2-cheats-for-jailed-idevices/

       

      ⬇️ iOS Hack Download Link: https://iosgods.com/topic/80238-family-guy-the-quest-for-stuff-v752-4-cheats/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 1,176 replies
    • We Are Warriors! Cheats v1.59.3 +3
      Modded/Hacked App: We Are Warriors! By Lessmore UG haftungsbeschraenkt
      Bundle ID: com.vjsjlqvlmp.wearewarriors
      iTunes Store Link: https://apps.apple.com/us/app/we-are-warriors/id6466648550?uo=4


      Mod Requirements:
      - Jailbroken iPhone/iPad/iPod Touch.
      - iGameGod / Filza / iMazing or any other file managers for iOS.
      - Cydia Substrate, ElleKit, Substitute or libhooker depending on your jailbreak.
      - PreferenceLoader (from Cydia, Sileo or Zebra).


      Hack Features:
      - Unlimited everything
      - Auto complete task
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 103 replies
    • Kingdom Rush Battles: TD Game v1.1.1 +4 Jailed Cheats [ No Tower Cost ]
      Modded/Hacked App: Kingdom Rush Battles: TD Game By Ironhide S.A.
      Bundle ID: com.ironhidegames.kingdomrush.mp
      App Store Link: https://apps.apple.com/ph/app/kingdom-rush-battles-td-game/id6746510979?uo=4

       
       

      🤩 Hack Features

      - Dumb Enemy -> Disables your enemy from buying towers.
      - No Tower Build Cost -> Use with Dumb Enemy.
      - No Tower Upgrade Cost -> Use with Dumb Enemy.
      - No Tower Skill Upgrade Cost -> Use with Dumb Enemy.
        • Informative
        • Winner
        • Like
      • 21 replies
    • Kingdom Rush Battles: TD Game v1.1.1 +4 Cheats [ No Tower Cost ]
      Modded/Hacked App: Kingdom Rush Battles: TD Game By Ironhide S.A.
      Bundle ID: com.ironhidegames.kingdomrush.mp
      App Store Link: https://apps.apple.com/ph/app/kingdom-rush-battles-td-game/id6746510979?uo=4

       


      🤩 Hack Features

      - Dumb Enemy -> Disables your enemy from buying towers.
      - No Tower Build Cost -> Use with Dumb Enemy.
      - No Tower Upgrade Cost -> Use with Dumb Enemy.
      - No Tower Skill Upgrade Cost -> Use with Dumb Enemy.
        • Agree
        • Haha
        • Winner
        • Like
      • 17 replies
    • The Walking Zombie 2 v3.45.0 +12 Jailed Cheats [ God Mode, Damage, Speed ]
      Modded/Hacked App: The Walking Zombie 2 By Alda Games s.r.o.
      Bundle ID: com.aldagames.zombieshooter
      iTunes Store Link: https://apps.apple.com/us/app/the-walking-zombie-2/id1477794561
       

      Hack Features:
      - Unlimited Silver
      - Unlimited Gold
      - God Mode
      - Custom Damage
      - Custom Move Speed
      - Custom Doctor
      - Unlimited Ammo -> Will not decrease.
      - Instant Reload
      - Insane Fire Rate
      - No Weapon Recoil
      - No Weapon Spread
      - No Camera Shake


      Jailbreak required hack(s): [Mod Menu Hack] The Walking Zombie 2 v3.6.12 +12 Cheats [ God Mode, Damage, Speed ] - 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
      • 94 replies
    • The Walking Zombie 2 v3.45.0 +12 Cheats [ God Mode, Damage, Speed ]
      Modded/Hacked App: The Walking Zombie 2 By Alda Games s.r.o.
      Bundle ID: com.aldagames.zombieshooter
      iTunes Store Link: https://apps.apple.com/us/app/the-walking-zombie-2/id1477794561


      Hack Features:
      - Unlimited Silver
      - Unlimited Gold
      - God Mode
      - Custom Damage
      - Custom Move Speed
      - Custom Doctor
      - Unlimited Ammo -> Will not decrease.
      - Instant Reload
      - Insane Fire Rate
      - No Weapon Recoil
      - No Weapon Spread
      - No Camera Shake


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/forum/79-no-jailbreak-section/
      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
      • 84 replies
    • Whispers - Interactive Stories v2.3.11 +2 Jailed Cheats [ Free Choices ]
      Modded/Hacked App: Whispers: Interactive Stories By GAMEHAUS LIMITED
      Bundle ID: com.twincat.stories
      iTunes Store Link: https://apps.apple.com/us/app/whispers-interactive-stories/id1546336250
       

      Hack Features:
      - All Chapters Unlocked
      - Free Premium Choices


      Jailbreak required hack(s): [Mod Menu Hack] Whispers: Interactive Stories v1.4.9 +2 Cheats [ Free Choices ] - 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
      • 309 replies
    • Senses - Choose Romance Story v1.18.2 +2 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Senses - Choose Romance Story By Allustone, Inc.
      Bundle ID: games.extras.novels
      App Store Link: https://apps.apple.com/us/app/senses-choose-romance-story/id1665172637?uo=4

       


      🤩 Hack Features

      - Unlimited Gems -> Head into Settings > Support and toggle the Copy UDID button.*
      - Unlimited Keys -> Head into Settings > Support and toggle the Copy UDID button.*

      * - Only use 1 feature at a time.
        • Haha
        • Thanks
        • Winner
        • Like
      • 56 replies
    • Senses - Choose Romance Story v1.18.2 +2 Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Senses - Choose Romance Story By Allustone, Inc.
      Bundle ID: games.extras.novels
      App Store Link: https://apps.apple.com/us/app/senses-choose-romance-story/id1665172637?uo=4

       
       

      🤩 Hack Features

      - Unlimited Gems -> Head into Settings > Support and toggle the Copy UDID button.*
      - Unlimited Keys -> Head into Settings > Support and toggle the Copy UDID button.*

      * - Only use 1 feature at a time.
        • Agree
        • Haha
        • Thanks
        • Like
      • 8 replies
    • MeChat - Interactive Stories v4.41.0 +5 Jailed Cheats [ Unlimited Gems ]
      Modded/Hacked App: MeChat - Interactive Stories By IMPONILOX LIMITED
      Bundle ID: world.playme.mechat
      App Store Link: https://apps.apple.com/us/app/mechat-interactive-stories/id1536157979?uo=4

       

      📌 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🤩 Hack Features

      - Unlimited Gems -> Will increase instead of decrease.
      - Unlock All Photos
      - Unlock All Audio Clips
      -- VIP Enabled

      VIP
      - Unlimited Gems -> Earn some then disable this feature. DO NOT SPEND ANY GEMS WHILST THIS FEATURE IS ENABLED!
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 843 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