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

    • Good Coffee, Great Coffee v1.10.3 +8 Mods [ Unlimited Currencies ]
      Mod APK Game Name: Good Coffee, Great Coffee By TAPBLAZE
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.tapblaze.coffeebusiness&hl=en_GB

       

      🤩 Hack Features

      - Unlimited Cash
      - Unlimited Gems
      - Unlimited Energy
      - Unlimited Brew Points
      - Unlimited Daily Rewards
      - All Decor Unlocked
      - All Equipment Unlocked
      - All Equipment Upgrades Unlocked
      - All Shop Upgrades Unlocked
      - Perfect Drinks
      • 4 replies
    • Dragon Village Rumble v1.006.020 +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
      • 38 replies
    • Tasty Travels: Merge Game v45.0 +4 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Tasty Travels: Merge Game By Century Games Pte. Ltd.
      Bundle ID: com.fatmerge.global
      iTunes Store Link: https://apps.apple.com/us/app/tasty-travels-merge-game/id6471045672?uo=4

       


      🤩 Hack Features

      - Unlimited Currencies -> Earn some.
      - Unlimited Energy -> Earn some.
      - Unlock Full Board -> In-game, tap the Shop button.*
      - Level Up Once -> In-game, tap the Shop button.*

      * - Only 1 feature can be enabled at once.
      • 52 replies
    • Good Coffee, Great Coffee v1.10.2 +8 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Good Coffee, Great Coffee By TAPBLAZE, LLC
      Bundle ID: com.tapblaze.coffeebusiness
      iTunes Store Link: https://apps.apple.com/us/app/good-coffee-great-coffee/id1603584945?uo=4
       


      🤩 Hack Features

      - Unlimited Cash
      - Unlimited Gems
      - Unlimited Energy
      - Unlimited Brew Points
      - Unlimited Daily Rewards
      - All Decor Unlocked
      - All Equipment Unlocked
      - All Equipment Upgrades Unlocked
      - All Shop Upgrades Unlocked
      - Perfect Drinks
      • 136 replies
    • Merge Studio: Fashion Makeover v4.2.0 +50++ Jailed Cheats [ Debug Menu ]
      Modded/Hacked App: Merge Studio: Fashion Makeover By Paxie Games Oyun ve Yazilim Anonim Sirketi
      Bundle ID: com.paxiegames.mergestudio
      iTunes Store Link: https://apps.apple.com/us/app/merge-studio-fashion-makeover/id1615964753?uo=4


      Hack Features:
      - Debug Menu -> Head over to Settings and toggle the Sound button.


      Jailbreak required hack(s): [Mod Menu Hack] Merge Studio: Fashion Makeover v2.3.0 +50++ 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/
      • 97 replies
    • God Breaker: Roguelike ARPG v1.1.0 [ +3 Cheats ] Easy Win
      Modded/Hacked App: God Breaker: Roguelike ARPG By GrowKing Inc.
      Bundle ID: com.growking.godslayer
      App Store Link: https://apps.apple.com/us/app/god-breaker-roguelike-arpg/id6746064502?uo=4

      🤩 Hack Features

      - ATK MAX
      - HP MAX
      - DEF MAX
      • 0 replies
    • God Breaker: Roguelike ARPG v1.1.0 [ +3 Jailed ] Easy Win
      Modded/Hacked App: God Breaker: Roguelike ARPG By GrowKing Inc.
      Bundle ID: com.growking.godslayer
      App Store Link: https://apps.apple.com/us/app/god-breaker-roguelike-arpg/id6746064502?uo=4

      🤩 Hack Features

      - ATK MAX
      - HP MAX
      - DEF MAX
      • 0 replies
    • God Breaker: Roguelike ARPG v1.1.0 +3 Jailed Cheats [ Damage + More ]
      Modded/Hacked App: God Breaker: Roguelike ARPG By GrowKing Inc.
      Bundle ID: com.growking.godslayer
      App Store Link: https://apps.apple.com/us/app/god-breaker-roguelike-arpg/id6746064502?uo=4

       

      🤩 Hack Features

      - Damage Multiplier 
      - God Mode
      - Speed Multiplier 
      • 1 reply
    • Zombie Bag Backpack Survivor v1.0.1 [ +8 APK MOD ] Currency Max
      Mod APK Game Name: Zombie Bag Backpack Survivor
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.dxgame.zombieWar&hl=en

       

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Cash
      - Unlimited AD Ticket
      - Energy [ 0 When Play Unlimited ]
      - Battle Gold [ Double Refresh Then Get ]
      - HP [ Just Place Weapon ]
      - ATK [ Just Place Weapon ]
      - DEF [ Just Place Weapon ]

      ⬇️ Android Mod APK Download Link


      Hidden Content

      Download Modded APK







       

      📖 Android Installation Instructions

      STEP 1: Download the modded APK file from the link above using your preferred Android browser or download manager.
      STEP 2: Once the download is complete, open your file manager and locate the downloaded .apk file (usually in the Downloads folder).
      STEP 3: Tap the APK file, then select Install. If prompted, enable Install from Unknown Sources in your device settings.
      STEP 3A: If the mod includes an OBB file, extract it if it’s inside an archive. Then move the folder to: /Android/obb/
      STEP 3B: If the mod includes a DATA file, extract it if it’s archived. Then move the folder to: /Android/data/
      STEP 4: Once installed, open the game and toggle your desired cheats & features through the APK mod menu. Enjoy!

       

      NOTE: If you have any questions or issues, read our Frequently Asked Questions topic. If you still need help, post your issue below and we’ll assist you as soon as possible. If the mod works for you, please share your feedback to help other members!

       

      🙌 Credits

      - IK_IK

       

      📷 Cheat Video/Screenshots

      N/A

       

       iOS & iPadOS App Hacks
      If you’re looking for Non-Jailbroken & No Jailbreak required iOS IPA hacks, visit the iOS Game Cheats & Hacks or the iOSGods App for a variety of modded games and apps for non-jailbroken iOS devices.
      • 0 replies
    • ACECRAFT v1.3.91 [+5 Jailed Cheats]
      Modded/Hacked App: ACECRAFT By VIZTA PTE. LTD.
      Bundle ID: com.vizta.wefly
      App Store Link: https://apps.apple.com/ca/app/acecraft/id6499112583?uo=4


       

      🤩 Hack Features

      - Never Die
      - One Hit Kill
      - High Energy Gain (Ultimate Skill)
      - Exp Gain Multiplier
      - Attack Multiplier
      • 69 replies
    • ACECRAFT v1.3.91 [+5 Cheats]
      Modded/Hacked App: ACECRAFT By VIZTA PTE. LTD.
      Bundle ID: com.vizta.wefly
      App Store Link: https://apps.apple.com/ca/app/acecraft/id6499112583?uo=4



      🤩 Hack Features

      - Never Die
      - One Hit Kill
      - High Energy Gain (Ultimate Skill)
      - Exp Gain Multiplier
      - Attack Multiplier
      • 34 replies
    • Transcender : Idle RPG v1.9.7 +3 Cheats
      Mod APK Game Name: Transcender : Idle RPG By Rookie Project Co., Ltd.
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.playgames.transcender

       

      🤩 Hack Features

      - Damage Multiplier
      - Never Die
      - Guest Login

       

      ⬇️ Android Mod APK Download Link


      Hidden Content

      Download Modded APK







       

      📖 Android Installation Instructions

      STEP 1: Download the modded APK file from the link above using your preferred Android browser or download manager.
      STEP 2: Once the download is complete, open your file manager and locate the downloaded .apk file (usually in the Downloads folder).
      STEP 3: Tap the APK file, then select Install. If prompted, enable Install from Unknown Sources in your device settings.
      STEP 3A: If the mod includes an OBB file, extract it if it’s inside an archive. Then move the folder to: /Android/obb/
      STEP 3B: If the mod includes a DATA file, extract it if it’s archived. Then move the folder to: /Android/data/
      STEP 4: Once installed, open the game and toggle your desired cheats & features through the APK mod menu. Enjoy!

       

      NOTE: If you have any questions or issues, read our Frequently Asked Questions topic. If you still need help, post your issue below and we’ll assist you as soon as possible. If the mod works for you, please share your feedback to help other members!

       

      🙌 Credits

      - AlyssaX64

       

      📷 Cheat Video/Screenshots

      N/A

       

       iOS & iPadOS App Hacks
      If you’re looking for Non-Jailbroken & No Jailbreak required iOS IPA hacks, visit the iOS Game Cheats & Hacks or the iOSGods App for a variety of modded games and apps for non-jailbroken iOS devices.
      • 3 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