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

    • Bulletstorm: Zombie Waves v1.4.3 [ +18 Jailed ] Currency Max
      Modded/Hacked App: Bulletstorm: Zombie Waves By LEGUAS INTREPIDAS UNIPESSOAL LDA
      Bundle ID: com.ryki.fps.zombie
      App Store Link: https://apps.apple.com/us/app/bulletstorm-zombie-waves/id6740300908?uo=4
       

      🤩 Hack Features

      - ViP Active

      - NO ADS [ Rewards Free ]

      - Gems [ Earn Then Get ]

      - Gold [ Earn Then Get ]

      - LvL & EXP [ Earn Then Get ]

      - Resources [ Earn Then Get ]

      - Blue Interest [ For Battle Skill & Attr Refresh ]

      - Advanced Diamond Free [ Pass Active ]

      - Claim Unlimited [ Advanced Diamond Free Pass ]

      - Rewards Unlocked All [ Advanced Diamond Free Pass ]

      - LvL Fund Active [ Advanced Diamond Free ]

      - Claim Unlimited [ Advanced Diamond Free LvL Fund ]

      - Rewards Unlocked All [ Advanced Diamond Free LVL Fund ]

      - Weapon Unlock [ No Need Blueprint ] Just Tap Unlock & Buy With Gems

      - Battle Items Skill

      - Ammo Max

      - No Reload

      - ATK HP DEF + More [ Linked With Battle Attributes Get Then Work ] Easy Kill
      • 10 replies
    • Bulletstorm: Zombie Waves v1.4.3 [ +18 Cheats ] Currency Max
      Modded/Hacked App: Bulletstorm: Zombie Waves By LEGUAS INTREPIDAS UNIPESSOAL LDA
      Bundle ID: com.ryki.fps.zombie
      App Store Link: https://apps.apple.com/us/app/bulletstorm-zombie-waves/id6740300908?uo=4

      🤩 Hack Features

      - ViP Active

      - NO ADS [ Rewards Free ]

      - Gems [ Earn Then Get ]

      - Gold [ Earn Then Get ]

      - LvL & EXP [ Earn Then Get ]

      - Resources [ Earn Then Get ]

      - Blue Interest [ For Battle Skill & Attr Refresh ]

      - Advanced Diamond Free [ Pass Active ]

      - Claim Unlimited [ Advanced Diamond Free Pass ]

      - Rewards Unlocked All [ Advanced Diamond Free Pass ]

      - LvL Fund Active [ Advanced Diamond Free ]

      - Claim Unlimited [ Advanced Diamond Free LvL Fund ]

      - Rewards Unlocked All [ Advanced Diamond Free LVL Fund ]

      - Weapon Unlock [ No Need Blueprint ] Just Tap Unlock & Buy With Gems

      - Battle Items Skill

      - Ammo Max

      - No Reload

      - ATK HP DEF + More [ Linked With Battle Attributes Get Then Work ] Easy Kill
      • 12 replies
    • Backpack Rush v1.862.225 [ +20 Jailed ] Currency Max
      Modded/Hacked App: Backpack Rush By Noodle Games Limited
      Bundle ID: com.onicore.backpack.rush
      iTunes Store Link: https://apps.apple.com/us/app/backpack-rush/id6736857029?uo=4

      Hack Features:

      - ADS Ticket

      - Gems

      - Gold

      - Energy

      - Silver Coins [ Merge Weapons ]

      - Summon Coins

      - Heroic Water [ Hero Up ]

      - Meteor Essence [ Gear Refining ]

      - Talent Book +2

      - Core Evo Stone [ Pet Evo Up ]

      - Fish Hook [ Obtain Gear During A Voyage ]

      - Pickaxe [ Mine ]

      - Blueprint [ Outfit Equip UP ]

      - Fragment [ Gear Up ]

      - Fragment [ Pet UP ]

      - Dungeon Keys +3

      - Spin

      - Enemy Status [ HP ATK 0 ] Easy Kill

      - DMG [ Outfit Just Equip & Unequip ]

      - HP [ Outfit Just Equip & Unequip ]

       
      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/
      • 68 replies
    • Backpack Rush v1.862.225 [ +20 Cheats ] Currency Max
      Modded/Hacked App: Backpack Rush By Noodle Games Limited
      Bundle ID: com.onicore.backpack.rush
      iTunes Store Link: https://apps.apple.com/us/app/backpack-rush/id6736857029?uo=4

      Hack Features:
      - ADS Ticket

      - Gems

      - Gold

      - Energy

      - Silver Coins [ Merge Weapons ]

      - Summon Coins

      - Heroic Water [ Hero Up ]

      - Meteor Essence [ Gear Refining ]

      - Talent Book +2

      - Core Evo Stone [ Pet Evo Up ]

      - Fish Hook [ Obtain Gear During A Voyage ]

      - Pickaxe [ Mine ]

      - Blueprint [ Outfit Equip UP ]

      - Fragment [ Gear Up ]

      - Fragment [ Pet UP ]

      - Dungeon Keys +3

      - Spin

      - Enemy Status [ HP ATK 0 ] Easy Kill

      - DMG [ Outfit Just Equip & Unequip ]

      - HP [ Outfit Just Equip & Unequip ]


      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/
      • 62 replies
    • Spin Break: Roulette Battle v1.8.4 [ +5 Cheats ] Currency Max
      Modded/Hacked App: Spin Break: Roulette Battle By Fifty-one percent Corp.
      Bundle ID: com.FiftyOnePercent.SpinBreak
      iTunes Store Link: https://apps.apple.com/us/app/spin-break-roulette-battle/id6462842820?uo=4

      Hack Features:

      - Currency Max

      - Energy Max

      - LvL Rewards Gold

      - Hero Status [ HP DMG DEF Luck Gold ]

      - Enemy Status [ ATK HP DEF 0 ]

       
      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/
      • 41 replies
    • Spin Break: Roulette Battle v1.8.4 [ +5 Jailed ] Currency Max
      Modded/Hacked App: Spin Break: Roulette Battle By Fifty-one percent Corp.
      Bundle ID: com.FiftyOnePercent.SpinBreak
      iTunes Store Link: https://apps.apple.com/us/app/spin-break-roulette-battle/id6462842820?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:

      - Currency Max

      - Energy Max

      - LvL Rewards Gold

      - Hero Status [ HP DMG DEF Luck Gold ]

      - Enemy Status [ ATK HP DEF 0 ]


      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/
      • 43 replies
    • Boom Castle Tower Defense TD v1.7.3 [ +7 Cheats ] Easy Win
      Modded/Hacked App: Boom Castle: Tower Defense TD By Terahype s.r.o.
      Bundle ID: castle.heroes.tower.defense.kingdom.magic.battle.archer
      iTunes Store Link: https://apps.apple.com/us/app/boom-castle-tower-defense-td/id6502820312?uo=4


      Hack Features:
      - Enemy Status [ HP DEF ]

      - Base HP 

      - Battle Cost 0 

      -  Stage Unlocked [ Play Any Stage ]

      - Battle Pass Unlocked 

      - Battle Pass Claim Unlimited [ Gems Gold ]

      - iGG Speed Hack Max 0 - 10 [ Skill CD - ATK Speed - Animation Speed - Wave Faster ] 


      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/
      • 75 replies
    • Boom Castle Tower Defense TD v1.7.3 [ +7 Jailed ] Easy Win
      Modded/Hacked App: Boom Castle: Tower Defense TD By Terahype s.r.o.
      Bundle ID: castle.heroes.tower.defense.kingdom.magic.battle.archer
      iTunes Store Link: https://apps.apple.com/us/app/boom-castle-tower-defense-td/id6502820312?uo=4


      Hack Features:

      - Enemy Status [ HP DEF ]

      - Base HP 

      - Battle Cost 0 

      - Stage Unlocked [ Play Any Stage ]

      - Battle Pass Unlocked 

      - Battle Pass Claim Unlimited [ Gems Gold ]

      - iGG Speed Hack Max 0 - 10 [ Skill CD - ATK Speed - Animation Speed - Wave Faster ]


      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/
      • 75 replies
    • Undead Slayer: Offline Action v3.47.28 [ +14 Cheats ] Currency Max
      Modded/Hacked App: Undead Slayer: Horde Survivor By Enigma Publishing Limited
      Bundle ID: com.undeadslayer.athree.epl.as
      App Store Link: https://apps.apple.com/ph/app/undead-slayer-horde-survivor/id6746744005?uo=4


      🤩 Hack Features

      - ADS NO [ Rewards Free ]

      - Gems

      - Soul Coins

      - Abyss Key

      - Rune Key

      - Gold Key

      - Red Dust

      - Blue Dust

      - Master Coin

      - Daily Star

      - HP [ Weapon Upgrade Then Equip ]

      - ATK [ Weapon Upgrade Then Equip ]
      • 26 replies
    • Undead Slayer: Offline Action v3.47.28 [ +14 Jailed ] Currency Max
      Modded/Hacked App: Undead Slayer: Horde Survivor By Enigma Publishing Limited
      Bundle ID: com.undeadslayer.athree.epl.as
      App Store Link: https://apps.apple.com/ph/app/undead-slayer-horde-survivor/id6746744005?uo=4
       

      🤩 Hack Features

      - ADS NO [ Rewards Free ]

      - Gems

      - Soul Coins

      - Abyss Key

      - Rune Key

      - Gold Key

      - Red Dust

      - Blue Dust

      - Master Coin

      - Daily Star

      - HP [ Weapon Upgrade Then Equip ]

      - ATK [ Weapon Upgrade Then Equip ]
      • 38 replies
    • Falltopia: Epic Space Idle RPG v0.0.218 [ +12 Cheats ] Currency
      Modded/Hacked App: Falltopia: Epic Space Idle RPG By Pusilung HK Limited
      Bundle ID: com.threehp013.idle.plane.shooting.space.force.game
      App Store Link: https://apps.apple.com/ph/app/falltopia-epic-space-idle-rpg/id6748329424?uo=4

      🤩 Hack Features

      - ADS NO / Rewards Free
      - Speed Boost Active
      - Currency / NO Need
      - Resources / NO Need
      - Defensec Pass
      - Upgrade Pass
      - Season Pass
      - Battle Pass
      - Blessings Active
      - HP / Equip & Unequip
      - ATK / Equip & Unequip
      - Def / Equip & Unequip
      • 27 replies
    • Falltopia: Epic Space Idle RPG v0.0.218 [ +12 Jailed ] Currency
      Modded/Hacked App: Falltopia: Epic Space Idle RPG By Pusilung HK Limited
      Bundle ID: com.threehp013.idle.plane.shooting.space.force.game
      App Store Link: https://apps.apple.com/ph/app/falltopia-epic-space-idle-rpg/id6748329424?uo=4

      🤩 Hack Features

      - ADS NO / Rewards Free
      - Speed Boost Active
      - Currency / NO Need
      - Resources / NO Need
      - Defensec Pass
      - Upgrade Pass
      - Season Pass
      - Battle Pass
      - Blessings Active
      - HP / Equip & Unequip
      - ATK / Equip & Unequip
      - Def / Equip & Unequip
      • 20 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