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

    • Planet Miner: Idle Action Game v0.4.1 [ +18 Cheats ] Currency Max
      Modded/Hacked App: Planet Miner: Idle Action Game By Gryphon Games UG (haftungsbeschrankt)
      Bundle ID: com.gryphongames.planetminer
      App Store Link: https://apps.apple.com/us/app/planet-miner-idle-action-game/id6755299482?uo=4

      🤩 Hack Features

      - ADS NO / Rewards Free
      - Unlimited Gems
      - Unlimited Coins / Linked DMG
      - Unlimited Skill Token / Linked DMG & Prestige
      - Lucky Draw Cost 0
      :: Status ViP ::
      - Faster Remove Planet / Linked DMG
      - Unlimited Rocket Spawn
      - Unlimited DMG
      - Unlimited HP
      - Unlimited DEF
      - Unlimited Life steal
      - Unlimited DMG Reduction
      - Unlimited Criti DMG
      - Unlimited Criti Chance
      - Unlimited Elite Ship DMG
      - Unlimited Elite Ship HP
      - Unlimited Elite Ship Chance
      - Muliti Ship Chance

      Note:- Just One Upgrade Status
      • 0 replies
    • Planet Miner: Idle Action Game v0.4.1 [ +18 Jailed ] Currency Max
      Modded/Hacked App: Planet Miner: Idle Action Game By Gryphon Games UG (haftungsbeschrankt)
      Bundle ID: com.gryphongames.planetminer
      App Store Link: https://apps.apple.com/us/app/planet-miner-idle-action-game/id6755299482?uo=4

      🤩 Hack Features

      - ADS NO / Rewards Free
      - Unlimited Gems
      - Unlimited Coins / Linked DMG
      - Unlimited Skill Token / Linked DMG & Prestige
      - Lucky Draw Cost 0
      :: Status ViP ::
      - Faster Remove Planet / Linked DMG
      - Unlimited Rocket Spawn
      - Unlimited DMG
      - Unlimited HP
      - Unlimited DEF
      - Unlimited Life steal
      - Unlimited DMG Reduction
      - Unlimited Criti DMG
      - Unlimited Criti Chance
      - Unlimited Elite Ship DMG
      - Unlimited Elite Ship HP
      - Unlimited Elite Ship Chance
      - Muliti Ship Chance

      Note:- Just One Upgrade Status
      • 0 replies
    • Matching Story v1.55.01 [ +6 Cheats ] Auto Win
      Modded/Hacked App: Matching Story By VERTEX GAMES PTE. LTD.
      Bundle ID: matching.story
      iTunes Store Link: https://apps.apple.com/ph/app/matching-story/id1558803930?uo=4


      🤩 Hack Features

      - Auto Win

      - Coins

      - Diamonds [ Win Match Linked With Moves ]

      - Lives

      - Booster

      - Moves
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 78 replies
    • Matching Story v1.55.01 [ +6 Jailed ] Auto Win
      Modded/Hacked App: Matching Story By VERTEX GAMES PTE. LTD.
      Bundle ID: matching.story
      iTunes Store Link: https://apps.apple.com/ph/app/matching-story/id1558803930?uo=4

       
      🤩 Hack Features

      - Auto Win

      - Coins

      - Diamonds [ Win Match Linked With Moves ]

      - Lives

      - Booster

      - Moves
        • Informative
        • Agree
        • Haha
        • Thanks
        • Like
      • 80 replies
    • Mech Assemble v1.6.35 Jailed Cheats +5
      Modded/Hacked App: Mech Assemble By ONEMT PTE. LTD.
      Bundle ID: com.ios.mecharogue.online
      App Store Link: https://apps.apple.com/us/app/mech-assemble/id6739125107?uo=4



      🤩 Hack Features

      - High Defense
      - No Reload
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 122 replies
    • Shuffleboard Club: PvP Arena v1.0.0 +50++ Jailed Cheats [ Debug Menu ]
      Modded/Hacked App: Shuffleboard Club: PvP Arena By BoomBit, Inc.
      Bundle ID: shuffle.board.sports.club.games
      App Store Link: https://apps.apple.com/us/app/shuffleboard-club-pvp-arena/id6744823998?uo=4

       

      🤩 Hack Features

      - Debug Menu -> Head into Settings and toggle the Music slider.
      • 1 reply
    • Sneaky Sasquatch Cheats v2.1.6 +3
      Modded/Hacked App: Sneaky Sasquatch By RAC7 Games
      Bundle ID: com.rac7.SneakySasquatch
      iTunes Store Link: https://apps.apple.com/us/app/sneaky-sasquatch/id1098342019?uo=4


      Hack Features:
      - Infinite Gold
      - Unlock All
      - No Hunger


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/topic/148262-sneaky-sasquatch-v172-jailed-cheats-3/


      iOS Hack Download Link: https://iosgods.com/topic/148261-sneaky-sasquatch-cheats-v172-3/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 193 replies
    • GardenScapes Cheats v9.3.1 +5
      Modded/Hacked App: Gardenscapes By Playrix Games
      Bundle ID: com.playrix.gardenscapes-m3-ios
      iTunes Store Link: https://itunes.apple.com/us/app/gardenscapes/id1105855019?mt=8&uo=4&at=1010lce4



      Hack Features:
      - Infinite Moves
      - Inifnite Boosters (Won't subtract when use)
      - Infinite Lives
      - Infinite Coins (Spend some/ Get some) - Not recommended cause sometimes it will bug your gameplay
      - Infinite Stars (Complete tasks without needing stars) - GAMEBREAKING FOR SURE  



      Hack Download Link: https://iosgods.com/topic/75340-arm64-gardenscapes-cheats-v280-5-vip/


      Credits:
      - @Laxus
      - @RudePerson For Inspiring Me
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 2,970 replies
    • Mini Golf Club PvP Multiplayer v1.0 +20++ Jailed Cheats [ Debug Menu ]
      Modded/Hacked App: Mini Golf Club PvP Multiplayer By BoomBit, Inc.
      Bundle ID: mini.golf.sports.club.games
      App Store Link: https://apps.apple.com/us/app/mini-golf-club-pvp-multiplayer/id6741755675?uo=4

       


      🤩 Hack Features

      - Debug Menu -> Head into Settings and toggle the Music slider.

      Most features probably won't work, but features like auto win, set trophies do work however. 
      • 0 replies
    • Love Island: The Game v1.6.8 +3 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Love Island: The Game By Fusebox Games
      Bundle ID: com.fuseboxgames.loveisland2
      iTunes Store Link: https://apps.apple.com/us/app/love-island-the-game/id1522699215
       

      Hack Features:
      - Unlimited Gems -> Earn or spend some.
      - Unlimited Tickets -> Earn or spend some.


      Jailbreak required hack(s): https://iosgods.com/topic/169224-love-island-the-game-all-versions-2-cheats-unlimited-currencies/
      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
      • 553 replies
    • Love Villa: Choose Your Story v6.5.8 +3 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Love Villa: Choose Your Story By Fusebox Games Ltd
      Bundle ID: com.fuseboxgames.loveisland
      iTunes Store Link: https://apps.apple.com/us/app/love-villa-choose-your-story/id1280910599?uo=4


      Hack Features:
      - Unlimited Gems -> Earn or spend some.
      - Unlimited Tickets -> Earn or spend some.
      - No Ads


      Jailbreak required hack(s): [Mod Menu Hack] Love Villa: Choose Your Story v6.4.0 +3 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
        • Thanks
        • Winner
        • Like
      • 26 replies
    • Darts Club v6.3.0 +28 Jailed Cheats [ Debug Menu ]
      Modded/Hacked App: Darts Club By BoomBit, Inc.
      Bundle ID: com.boombitgames.DartsClub
      iTunes Store Link: https://apps.apple.com/us/app/darts-club/id1389760587?uo=4


      Hack Features:
      - Unlimited Currencies
      - Debug Menu -> Head into Settings and toggle the DEBUG button. [ VIP ]
      -> Add Soft
      -> Add Hard
      -> Add Trophies
      -> Unlock All Parts/Emotes/Vanities/Wild Items
      + More!


      Jailbreak required hack(s): [Mod Menu Hack] Darts Club v5.8.6 +28 Cheats [ Debug Menu ] - 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
      • 34 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