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

    • Design Family Life v0.1.803 [ +7 Cheats ] Currency Max
      Modded/Hacked App: Design Family Life By UGI Studio Cyprus LTD
      Bundle ID: com.ugi.designfamilylife
      App Store Link: https://apps.apple.com/ph/app/design-family-life/id6746701133?uo=4

      🤩 Hack Features

      - Gems

      - Cash

      - Energy

      - ADS Ticket

      - LVL & EXP [ Task ]

      - Rewards [ Gems Cash Energy ADS Ticket ] Linked With LvL

      - Chacter Status [ Fitness Joy +More ] 
        • Like
      • 12 replies
    • Design Family Life v0.1.803 [ +7 Jailed ] Currency Max
      Modded/Hacked App: Design Family Life By UGI Studio Cyprus LTD
      Bundle ID: com.ugi.designfamilylife
      App Store Link: https://apps.apple.com/ph/app/design-family-life/id6746701133?uo=4

      🤩 Hack Features

      - Gems

      - Cash

      - Energy

      - ADS Ticket

      - LVL & EXP [ Task ]

      - Rewards [ Gems Cash Energy ADS Ticket ] Linked With LvL

      - Chacter Status [ Fitness Joy +More ] 
        • Agree
        • Winner
        • Like
      • 15 replies
    • Land Builder v1.27.8 [ +3 Cheats ] Currency Max
      Modded/Hacked App: Land Builder By SayGames LTD
      Bundle ID: com.game.perfectlands
      App Store Link: https://apps.apple.com/us/app/land-builder/id6443774303?uo=4 

      🤩 Hack Features

      - Gems
      - Gold
      - Skip
        • Like
      • 8 replies
    • Land Builder v1.27.8 [ +3 Jailed ] Currency Max
      Modded/Hacked App: Land Builder By SayGames LTD
      Bundle ID: com.game.perfectlands
      App Store Link: https://apps.apple.com/us/app/land-builder/id6443774303?uo=4
       

      🤩 Hack Features

      - Gems
      - Gold
      - Skip
        • Like
      • 16 replies
    • Cooking Chaos Cooking Games v2.5.0 [ +4 Cheats ] Currency Max
      Modded/Hacked App: Cooking Chaos Cooking Games By Flowmotion Entertainment: Top Free Fun Addictive Cool Games Inc.
      Bundle ID: com.cooking.chaos.restaurant.games
      App Store Link: https://apps.apple.com/us/app/cooking-chaos-cooking-games/id6739048278?uo=4

       
      🤩 Hack Features

      - Gems [ Time Mod Match - Match Time Over Then Show ] Check ScreenShoot
      - Coins [ Tip Reward ] Disable After Get
      - Life
      - Booster + Unlock
        • Like
      • 10 replies
    • Cooking Chaos Cooking Games v2.5.0 [ +4 Jailed ] Currency Max
      Modded/Hacked App: Cooking Chaos Cooking Games By Flowmotion Entertainment: Top Free Fun Addictive Cool Games Inc.
      Bundle ID: com.cooking.chaos.restaurant.games
      App Store Link: https://apps.apple.com/us/app/cooking-chaos-cooking-games/id6739048278?uo=4


      🤩 Hack Features

      - Gems [ Time Mod Match - Match Time Over Then Show ] Check ScreenShoot
      - Coins [ Tip Reward ] Disable After Get
      - Life
      - Booster + Unlock 
        • Thanks
        • Winner
        • Like
      • 12 replies
    • Archer Hunter: Roguelike Game v2.37.537 [ +4 Jailed ] Currency Max
      Modded/Hacked App: Archer Hunter: Roguelike Game By Suga Pte. Ltd.
      Bundle ID: co.imba.archero
      iTunes Store Link: https://apps.apple.com/us/app/archer-hunter-roguelike-game/id1543119725?uo=4


      🤩 Hack Features

      - Gems [ Revive To Get Disable After Hack ]
      - Coins [ Weapon Up To Get Disable After Hack ]
      - HP [ Check Status ]
      - ATK [ Check Status ]


      🍏 Jailbreak iOS hacks: https://iosgods.com/forum/5-game-cheats-hack-requests/
      🤖 Modded Android APKs: https://iosgods.com/forum/68-android-section/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 50 replies
    • Archer Hunter: Roguelike Game v2.37.537 [ +4 Cheats ] Currency Max
      Modded/Hacked App: Archer Hunter: Roguelike Game By Suga Pte. Ltd.
      Bundle ID: co.imba.archero
      iTunes Store Link: https://apps.apple.com/us/app/archer-hunter-roguelike-game/id1543119725?uo=4



      🤩 Hack Features

      - Gems [ Revive To Get Disable After Hack ]
      - Coins [ Weapon Up To Get Disable After Hack ]
      - HP [ Check Status ]
      - ATK [ Check Status ] 


      🍏 For Non-Jailbroken & No Jailbreak required hacks: https://iosgods.com/forum/79-no-jailbreak-section/
      🤖 Modded Android APKs: https://iosgods.com/forum/68-android-section/

       

      ⬇️ iOS Hack Download Link


      Hidden Content

      Download Hack
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 29 replies
    • Adventure Chef v1.62.99 [ +3 Cheats ] Currency Max
      Modded/Hacked App: Adventure Chef By Futurewave Games LLC
      Bundle ID: com.adventurechef
      App Store Link: https://apps.apple.com/us/app/adventure-chef/id6717580048?uo=4

       
      🤩 Hack Features

      - IAP FREE [ Buy Anything ] ADS
      - Gems
      - Cash
        • Winner
        • Like
      • 11 replies
    • Adventure Chef v1.62.99 [ +3 Jailed ] Currency Max
      Modded/Hacked App: Adventure Chef By Futurewave Games LLC
      Bundle ID: com.adventurechef
      App Store Link: https://apps.apple.com/us/app/adventure-chef/id6717580048?uo=4


      🤩 Hack Features

      - IAP FREE [ Buy Anything ] ADS
      - Gems
      - Cash
        • Like
      • 18 replies
    • Galaxiga: Classic Arcade Game v12.5 [ +7 Jailed ] Energy Max
      Modded/Hacked App: Galaxiga - Classic 80s Arcade By ONESOFT GLOBAL PTE. LTD.
      Bundle ID: com.os.space.force.galaxy.alien
      iTunes Store Link: https://apps.apple.com/us/app/galaxiga-classic-80s-arcade/id1519367184?uo=4


      Hack Features:

      - Premium Pass [ Rewards Only ]

      - Energy Unlimited [ Linked Premium Pass ]

      - Plane Unlocked [ Tire 1 Tire 2 ] 

      - Drone Unlocked [ Tire 1 Tire 2 ]

      - Stone Unlocked [ Tire 1 Tire 2 ] 

      - Unlock Gem Cost 0 [ Plane Drone Stone ]

      - Easy Kill [ Only SP - No PVP ] 

      - Win PvP Select Higher Rank [ Plane Drone Stone ] Easy To Win PvP NO Bannnn


      Jailbreak required hack(s): https://iosgods.com/forum/5-game-cheats-hack-requests/
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Agree
        • Thanks
        • Winner
        • Like
      • 73 replies
    • Galaxiga: Classic Arcade Game v12.5 [ +7 Cheats ] Energy Max
      Modded/Hacked App: Galaxiga - Classic 80s Arcade By ONESOFT GLOBAL PTE. LTD.
      Bundle ID: com.os.space.force.galaxy.alien
      iTunes Store Link: https://apps.apple.com/us/app/galaxiga-classic-80s-arcade/id1519367184?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:
      - Premium Pass [ Rewards Only ]

      - Energy Unlimited [ Linked Premium Pass ]

      - Plane Unlocked [ Tire 1 Tire 2 ] 

      - Drone Unlocked [ Tire 1 Tire 2 ]

      - Stone Unlocked [ Tire 1 Tire 2 ] 

      - Unlock Gem Cost 0 [ Plane Drone Stone ] Maybe Effect PvP 

      - Easy Kill [ Only SP - No PVP ] 

      - Win PvP Select Higher Rank [ Plane Drone Stone ]

      Not3:- Don't Abuse The Hack Incase Banned Lower Chances Maybe


      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/


      iOS Hack Download Link:

      Hidden Content

      Download Hack
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 115 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