Jump to content

 Something great is coming! 🤖

Stay tuned for the big reveal happening here on iOSGods on the 20th of February!

Dealing with ASLR in Palera1n Jailbreak


5 posts in this topic

Recommended Posts

Updated (edited)

I have been getting the virtual memory address slide amount of the application by

#include <mach-o/dyld.h>
_dyld_get_image_vmaddr_slide(0);

_dyld_get_image_vmaddr_slide: https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/dyld.3.html

However, on Palera1n (v1.4.1), "/usr/lib/substitute-loader.dylib" seems to be the 0th image index.
Therefore, the argument to _dyld_get_image_vmaddr_slide must be 1.

uint64_t getRealOffset(uint64_t offset) {
    return _dyld_get_image_vmaddr_slide(1) + offset;
    // return _dyld_get_image_vmaddr_slide(0) + offset;
}

 

With Framework

If the image index is not fixed as in Unity, it can be done as follows

#include <string.h>
#include <stdlib.h>

uint64_t getRealOffset$Palera1n(const char *image_name, uint64_t offset) {
    if (image_name == NULL) {
        const char *progname = getprogname();
        if (progname) {
            return getRealOffset$Palera1n(progname, offset);
        }
        return _dyld_get_image_vmaddr_slide(1) + offset;
    }

    const uint32_t image_count = _dyld_image_count();
    for (int i = 0; i < image_count; ++i) {
        if (strstr(_dyld_get_image_name(i), image_name)) {
            return _dyld_get_image_vmaddr_slide(i) + offset;
        }
    }
    // error...
    return offset;
}

getprogname: https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/getprogname.3.html

Example argument for image_name:

// PUBG
getRealOffset$Palera1n("ShadowTrackerExtra", 0x100345678);
// or
getRealOffset$Palera1n(NULL, 0x100345678);

// YouTube
getRealOffset$Palera1n("YouTube", 0x100345678);
// or
getRealOffset$Palera1n(NULL, 0x100345678);

// Unity - (e.g. Survivor!.io)
getRealOffset$Palera1n("UnityFramework", 0x345678);

 

Conclusion

The following may only work with Palera1n or only with the current version of Palera1n.

const uint64_t slide = _dyld_get_image_vmaddr_slide(1);
MSHookFunction((void *)(0x100345678 + slide), ...);
MSHookFunction((void *)(0x100789ABC + slide), ...);

It might be better to specify by image name so that it works without worrying about the argument to _dyld_get_image_vmaddr_slide.

const uint64_t slide = getRealOffset$Palera1n("ImageName", 0x0);
if (slide) {
    MSHookFunction((void *)(0x100345678 + slide), ...);
    MSHookFunction((void *)(0x100789ABC + slide), ...);
}

 

Updated by tat5
Conclusion was not good.
Posted (edited)

Could you try this?
 

uint64_t getRealOffset(uint64_t offset) {

    if (strstr(_dyld_get_image_name(0), "substitute")) { 
        return _dyld_get_image_vmaddr_slide(1) + offset;
    }

    const uint32_t image_count = _dyld_image_count();
    for (int i = 0; i < image_count; ++i) {
        if (strstr(_dyld_get_image_name(i), "UnityFramework")) { 
            return _dyld_get_image_vmaddr_slide(i) + offset;
        }
    }

    return _dyld_get_image_vmaddr_slide(0) + offset; // if not our base executable is the traditional?
}



 

Updated by quatorze
Posted
46 minutes ago, quatorze said:

Could you try this?
 

uint64_t getRealOffset(uint64_t offset) {
 
    const uint32_t image_count = _dyld_image_count();
     for (int i = 0; i < image_count; ++i) {
        if (strstr(_dyld_get_image_name(0), "substitute")) { // check if substitute loaded as 1st image
            return _dyld_get_image_vmaddr_slide(1) + offset;
        } else if (strstr(_dyld_get_image_name(i), "UnityFramework")) { // check for unityframework
                return _dyld_get_image_vmaddr_slide(i) + offset;
            } else {
                   return _dyld_get_image_vmaddr_slide(0) + offset; // if not our base executable is the traditional?  
            }

       NSLog(@"An error occured");
       return offset;
}

Wouldn't it terminate the for loop once?
I don't think it works well when UnityFramework is the target.

Is this what you mean?

uint64_t getRealOffset(uint64_t offset) {
    if (strstr(_dyld_get_image_name(0), "substitute")) { // check if substitute loaded as 1st image
        return _dyld_get_image_vmaddr_slide(1) + offset;
    }

    const uint32_t image_count = _dyld_image_count();
    for (int i = 0; i < image_count; ++i) {
        if (strstr(_dyld_get_image_name(i), "UnityFramework")) { // check for unityframework
            return _dyld_get_image_vmaddr_slide(i) + offset;
        }
    }

    return _dyld_get_image_vmaddr_slide(0) + offset; // if not our base executable is the traditional?
}

It may not be able to deal with the case where the next of substitute is not the correct answer. I don't know if such a case can happen...

if (strstr(_dyld_get_image_name(0), "substitute")) { // check if substitute loaded as 1st image
    return _dyld_get_image_vmaddr_slide(1) + offset;// Absolutely?
}

I just think your code is cleaner and better.🙆‍♂️

 

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

    • Legend of Avatar v1.13.1 Jailed Cheats +3
      Modded/Hacked App: Legend of Avatar By billionairegames
      Bundle ID: com.billionairegames.serares
      App Store Link: https://apps.apple.com/us/app/legend-of-avatar/id6746192853?uo=4

       
       

      🤩 Hack Features

      - Damage Multiplier
      - Defence Multiplier
      - God Mode
      • 207 replies
    • Dawn of Ages: Medieval Games v2.8.0 +5 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Dawn of Ages: total war battle By BoomBit, Inc.
      Bundle ID: com.stratospheregames.dawnofages
      App Store Link: https://apps.apple.com/us/app/dawn-of-ages-total-war-battle/id6477473268?uo=4

       


      🤩 Hack Features

      - Damage Multiplier
      - Defence Multiplier
      - God Mode
      - Dumb Enemy
      - Premium Enabled
      • 126 replies
    • Resident Evil Survival Unit v1.4.4 +6 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Resident Evil Survival Unit By Aniplex Inc.
      Bundle ID: com.aniplex.resu
      App Store Link: https://apps.apple.com/us/app/resident-evil-survival-unit/id6744668327?uo=4

       
       

      🤩 Hack Features

      - Damage Multiplier [ Battle ]
      - Defence Multiplier [ Battle ]
      - God Mode [ Battle ]
      - God Mode [ Explore ]
      - One-Hit Kill [ Explore ]
      - Freeze Items & Ammo
      • 94 replies
    • Slime Castle - Idle TD v2.9.2 +8 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Slime Castle - Idle TD By AZUR INTERACTIVE GAMES LIMITED
      Bundle ID: com.redtailworks.slimetd
      iTunes Store Link: https://apps.apple.com/us/app/slime-castle-idle-td/id6480410032?uo=4


      Hack Features:
      - Unlimited Coins -> Will increase instead of decrease.
      - Unlimited Diamonds -> Will increase instead of decrease.
      - Unlimited Silver -> Will increase instead of decrease.
      - God Mode
      - x5 Speed Unlocked
      - No Ads


      Jailbreak required hack(s): [Mod Menu Hack] Slime Castle - Idle TD v0.9.2 +6 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/
      • 262 replies
    • Grimguard Tactics: Fantasy RPG v1.23.8 +3 Jailed Cheats [ Auto Win ]
      Modded/Hacked App: Grimguard Tactics: Fantasy RPG By Outerdawn Limited
      Bundle ID: com.outerdawn.grimguard
      iTunes Store Link: https://apps.apple.com/us/app/grimguard-tactics-fantasy-rpg/id1496893856?uo=4


      Hack Features:
      - Auto Win
      - Unlimited Daily Rewards
      - No Stamina Cost


      Jailbreak required hack(s): [Mod Menu Hack] Grimguard Tactics: Fantasy RPG v1.1.10 +3 Cheats [ Auto Win ] - ViP 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/
      • 158 replies
    • Hungry Shark World v7.5.7 +9 Mods [ Unlimited Currencies ]
      Mod APK Game Name: Hungry Shark World By Ubisoft Entertainment
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.ubisoft.hungrysharkworld

       

      🤩 Hack Features

      - Unlimited Coins
      - Unlimited Gems
      - Unlimited Pearls
      - Unlock All
      - Freeze Health
      - Freeze Boost
      - Season Pass Unlocked
      - Score Multiplier
      - No Gravity 
      • 10 replies
    • Hungry Shark World v7.5.6 +9 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Hungry Shark World By Ubisoft
      Bundle ID: com.ubisoft.hungrysharkworld
      iTunes Store Link: https://apps.apple.com/us/app/hungry-shark-world/id1046846443?uo=4


      Hack Features:
      - Coin Modifier
      - Gem Modifier
      - Pearl Modifier
      - Unlock All
      - Freeze Health
      - Freeze Boost
      - Season Pass Unlocked
      - Score Multiplier
      - No Gravity
      • 330 replies
    • MY LITTLE PONY: MAGIC PRINCESS v10.9.1 +3 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: MY LITTLE PONY: MAGIC PRINCESS By Gameloft
      Bundle ID: com.gameloft.mylittlepony
      App Store Link: https://apps.apple.com/us/app/my-little-pony-magic-princess/id533173905?uo=4

       


      🤩 Hack Features

      - Freeze Coins
      - Freeze Gems
      - Freeze Hearts
      • 420 replies
    • Mob Control v3.12.3 +7 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Mob Control By Voodoo
      Bundle ID: com.vincentb.MobControl
      iTunes Store Link: https://apps.apple.com/us/app/mob-control/id1562817072?uo=4


      Hack Features:
      - Unlimited Coins -> Earn or spend some.
      - Unlimited Skip'Its -> Earn or spend some.
      - Unlimited Stars -> Earn some.
      - Unlimited Bricks
      - Unlimited Earnt Bricks
      - Unlimited Cards -> Will increase instead of decrease.
      - No Card Requirement


      Jailbreak required hack(s): [Mod Menu Hack] Mob Control v2.78.0 +7 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/
      • 314 replies
    • Mob Control v3.12.3 +7 Mods [ Unlimited Currencies ]
      Mod APK Game Name: Mob Control
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.vincentb.MobControl

       

      🤩 Hack Features

      - Unlimited Coins -> Will increase instead of decrease.
      - Unlimited Skip'Its -> Will increase instead of decrease.
      - Unlimited Stars -> Earn some.
      - Unlimited Bricks
      - Unlimited Earnt Bricks
      - Unlimited Cards -> Will increase instead of decrease.
      - No Card Requirement
      • 11 replies
    • Love Eden: Chapters of Romance v2.0.5 +10++ Jailed Cheats [ Debug Menu ]
      Modded/Hacked App: Love Eden: Chapters of Romance By NODERNO LIMITED
      Bundle ID: com.noderno.loveeden
      App Store Link: https://apps.apple.com/us/app/love-eden-chapters-of-romance/id6471411677?uo=4

       


      🤩 Hack Features

      - Debug Menu -> Head over to your profile and then tap on Settings.
      • 14 replies
    • Love Eden: Interactive Stories v2.0.5 +10++ Mods [ Debug Menu ]
      Mod APK Game Name: Love Eden: Interactive Stories By Noderno Limited
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.noderno.loveeden

       

      🤩 Hack Features

      - Debug Menu -> Head over to your profile and then tap on Settings. 
      • 6 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