Jump to content

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

    • Cash King: Tycoon Earn Money v1.17.3 +4 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Cash King: Tycoon Earn Money By BFK ARASTIRMA GELISTIRME YAZILIM BILGISAYAR SANAYI VE TICARET ANONIM SIRKETI
      Bundle ID: com.tcn.cking
      iTunes Store Link: https://apps.apple.com/us/app/cash-king-tycoon-earn-money/id6479973614?uo=4


      Mod Requirements:
      - Non-Jailbroken/Jailed or Jailbroken iPhone/iPad/iPod Touch.
      - Sideloadly / Cydia Impactor or alternatives.
      - A Computer Running Windows/macOS/Linux with iTunes installed.


      Hack Features:
      - Unlimited Cash -> Will increase instead of decrease.
      - Unlimited Tickets -> Will increase instead of decrease.
      - Unlimited Health & Happiness -> Will not decrease.
      -- No Ads


      Jailbreak required hack(s): [Mod Menu Hack] Cash King: Tycoon Earn Money v0.7.2 +4 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
        • Thanks
        • Winner
        • Like
      • 59 replies
    • Ninja Scroll Rush v0.2.3 [ +8 Cheats ] Currency Max
      Modded/Hacked App: Ninja Scroll Rush By Yso Corp
      Bundle ID: com.YsoCorp.NinjaScrollRush
      App Store Link: https://apps.apple.com/us/app/ninja-scroll-rush/id6755685134?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Keys +3
      - Unlimited Coins
      - Unlimited EXP / Faster LvL UP
      - HP MAX
      - ATK MAX
      - DEF MAX
      - Skill CD
      • 0 replies
    • Ninja Scroll Rush v0.2.3 [ +8 Jailed ] Currency Max
      Modded/Hacked App: Ninja Scroll Rush By Yso Corp
      Bundle ID: com.YsoCorp.NinjaScrollRush
      App Store Link: https://apps.apple.com/us/app/ninja-scroll-rush/id6755685134?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Keys +3
      - Unlimited Coins
      - Unlimited EXP / Faster LvL UP
      - HP MAX
      - ATK MAX
      - DEF MAX
      - Skill CD
      • 0 replies
    • Wagle Squad v1.3.0 +5 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Wagle Squad By EK GAMES
      Bundle ID: net.ekgames.projectz
      App Store Link: https://apps.apple.com/us/app/wagle-squad/id6752973592?uo=4

       

      🤩 Hack Features

      - Damage Multiplier
      - Defence Multiplier
      - God Mode
      - Auto Win -> Quit the level.
      - No Summon Cost/Cooldown 
        • Informative
        • Agree
        • Haha
        • Winner
        • Like
      • 13 replies
    • Dragon Village Rumble v1.008.021 +3 Jailed Cheats [ God Mode + More ]
      Modded/Hacked App: Dragon Village Rumble By Highbrow
      Bundle ID: com.highbrow.games.dvb.apple
      App Store Link: https://apps.apple.com/us/app/dragon-village-rumble/id6754904783?uo=4

       


      🤩 Hack Features

      - God Mode
      - One-Hit Kill
      - Game Speed Multiplier
        • Informative
        • Winner
        • Like
      • 45 replies
    • Love Eden: Chapters of Romance v2.0.3 +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.
        • Agree
        • Thanks
        • Like
      • 8 replies
    • Hello Kitty Friends Match v1.0.25 +1 Jailed Cheat [ Auto Win ]
      Modded/Hacked App: Hello Kitty Friends Match By LINE Games
      Bundle ID: com.linegames.hkfm
      App Store Link: https://apps.apple.com/us/app/hello-kitty-friends-match/id6742533643?uo=4

       
       

      🤩 Hack Features

      - Auto Win -> Move a block.
        • Informative
        • Agree
        • Haha
        • Like
      • 15 replies
    • Goblins Wood: Tycoon Idle Sim v2.57.0 +1++ Jailed Cheat [ Unlimited Currencies ]
      Modded/Hacked App: Goblins Wood: Tycoon Idle Sim By ProGamesLab LTD
      Bundle ID: idle.goblins.wood.tycoon
      iTunes Store Link: https://apps.apple.com/us/app/goblins-wood-tycoon-idle-sim/id6446766326?uo=4


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


      Jailbreak required hack(s): [Mod Menu Hack] Goblins Wood: Tycoon Idle Sim v2.42.0 +1++ Cheat [ 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
        • Thanks
        • Winner
        • Like
      • 71 replies
    • Octopus Feast v2.15.11 +1++ Jailed Cheat [ Unlimited Currencies ]
      Modded/Hacked App: Octopus Feast By Rollic Games Oyun Yazilim ve Pazarlama Anonim Sirketi
      Bundle ID: com.twodestudios.octopusfeast
      iTunes Store Link: https://apps.apple.com/us/app/octopus-feast/id6499421924?uo=4


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


      Jailbreak required hack(s): [Mod Menu Hack] Octopus Feast v1.2.4 +1++ Cheat [ 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
        • Thanks
        • Winner
        • Like
      • 58 replies
    • Gumslinger 2: Ducks & Nukes v1.0.7 +5 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Gumslinger 2: Ducks & Nukes By Itatake AB
      Bundle ID: se.itatake.gumslinger2
      App Store Link: https://apps.apple.com/us/app/gumslinger-2-ducks-nukes/id6755482784?uo=4

       


      🤩 Hack Features

      - Dumb Enemies
      - One-Hit Kill -> Linked. Use with Dumb Enemies.
      - Unlimited Currencies -> Earn some.
      - All Accessories Unlocked
      - All Weapons Unlocked
        • Agree
        • Winner
        • Like
      • 3 replies
    • Ghost Invasion: Idle Hunter v2.1 +5 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Ghost Invasion: Idle Hunter By Miniclip SA
      Bundle ID: com.miniclip.ghostinvasion
      App Store Link: https://apps.apple.com/us/app/ghost-invasion-idle-hunter/id6502696892?uo=4

       


      🤩 Hack Features

      - Damage Multiplier
      - Defence Multiplier
      - God Mode
      - Freeze Currencies
      - XP Multiplier
        • Agree
        • Winner
        • Like
      • 22 replies
    • Planet Crusher - Dig & Drill v0.26.1 +8 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Planet Crusher - Dig & Drill By Gryphon Games UG (haftungsbeschrankt)
      Bundle ID: com.gryphongames.planetcrusher
      App Store Link: https://apps.apple.com/us/app/planet-crusher-dig-drill/id6738657101?uo=4

       
       

      🤩 Hack Features

      - God Mode
      - Damage Multiplier
      - Drill Damage Multiplier
      - No Knockback
      - Unlimited Currencies -> Will increase instead of decrease.
      - All Planets Unlocked
      - Battle Pass Unlocked
      -- No Ads
        • Agree
        • Thanks
        • Winner
        • Like
      • 49 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