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

    • Space Survivor Alien Attack v1.4.3 [ +14 APK MOD ] Currency Max
      Mod APK Game Name: Space Survivor Alien Attack
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.baa.galaxysurvivor&hl=en

      🤩 Hack Features

      - Unlimited Gems 
      - Unlimited Gold
      - Unlimited Energy
      - Unlimited Chest Keys+2
      - Unlimited Talent Stone
      - Unlimited ADS Ticket
      - Unlimited Skill Token
      - Unlimited Reinforcement Book
      - Unlimited Upgrade Elements
      - Survivor Pass Active
      - Survivor Pass [ Rewards Unlocked ]
      - ATK Range
      - Hero Status [ HP DMG ] Just Equip & Unequip
      • 0 replies
    • Matchington Mansion Cheats v1.194.0 +5
      Modded/Hacked App: Matchington Mansion By Magic Tavern, Inc.
      Bundle ID: com.matchington.mansion
      iTunes Store Link: https://apps.apple.com/us/app/matchington-mansion/id1216575026?uo=4

       

      📌 Mod Requirements

      - Jailbroken iPhone or iPad.
      - iGameGod / Filza / iMazing.
      - Cydia Substrate, ElleKit, Substitute or libhooker depending on your jailbreak (from Sileo, Cydia or Zebra).

       

      🤩 Hack Features

      - Infinite Moves
      - Infinite Lives
      - Infinite Booster
      - Infinite Coin (Spend some/ Get some)
      - Infinite Stars (Complete task without needing Stars)

       

      Non-Jailbroken Hack: https://iosgods.com/topic/75130-matchington-mansion-v11750-jailed-cheats-3/

       

      ⬇️ iOS Hack Download Link: https://iosgods.com/topic/75127-matchington-mansion-cheats-v11770-5/
      • 820 replies
    • Capybara Go v1.7.12 Jailed Cheats +6
      Modded/Hacked App: Capybara Go! By HABBY PTE. LTD.
      Bundle ID: com.habby.capybara
      App Store Link: https://apps.apple.com/us/app/capybara-go/id6596787726?uo=4

       

      📌 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🤩 Hack Features

      - Increase Game Speed
      - Premium Benefit (Not Battle Pass)
      - Unlimited Skills Refresh
      - Reselect Skills (Not sure Safe or not, only support some stages that let you choose 5 skills in a row, enable this so you can force refresh and select other skills)
      - Easy Fish
      - No Ads / Skip Ads

       

      DO NOT BUY VIP FOR JUST THIS CHEAT. USING MAY LEAD TO ACCOUNT BAN

       

      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/189055-capybara-go-v179-jailed-cheats-6/
      • 584 replies
    • League of Tanks - Global War v2.8.2 [ +1 APK MOD ] AI Stupid
      Mod APK Game Name: League of Tanks - Global War
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.surgegame.lotank&hl=en

      🤩 Hack Features

      - AI Stupid / Easy Win All Battle
      • 0 replies
    • Hero Survival IO 2 V1.1.8 [ +8 APK MOD ] Currency Max
      Mod APK Game Name: Hero Survival IO 2
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.game.hero.survival.io2&hl=en
       
      🤩 Hack Features

      - No ADS / Rewards Free
      - Gems Unlimited / Achievements Rewards
      - Gold Unlimited / In Battle Pick Box
      - ATK / In The Battle Pick skill
      - HP / In The Battle Pick skill
      - Def / In The Battle Pick skill
      - Skill EXP / Pick One Exp Quickly Get All Skill
      • 0 replies
    • Glow Tales: Merge & Makeover v1.1.0 +100 Jailed Cheats [ Debug Menu ]
      Modded/Hacked App: Glow Tales: Merge & Makeover By Paxie Games Oyun ve Yazilim Anonim Sirketi
      Bundle ID: com.paxiegames.glowtales
      App Store Link: https://apps.apple.com/us/app/glow-tales-merge-makeover/id6754087834?uo=4

       


      🤩 Hack Features

      - Debug Menu -> Head into Settings and toggle the Inbox button.
      • 5 replies
    • Monster Survivors v1.29.1 +5 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Monster Survivors By Voodoo
      Bundle ID: games.rivvy.monstersurvivors
      iTunes Store Link: https://apps.apple.com/us/app/monster-survivors/id6463493974?uo=4


      Hack Features:
      - Damage Multiplier
      - Defence Multiplier
      - Move Speed Multiplier
      - Unlimited Currencies -> Spend some.
      - Unlock All -> Head over to Settings and toggle the Music button.


      Jailbreak required hack(s): [Mod Menu Hack] Monster Survivors v1.5 +5 Cheats [ Damage & Defence ] - 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/
      • 184 replies
    • Resident Evil Survival Unit v1.3.1 +6 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Resident Evil Survival Unit By Aniplex Inc.
      Bundle ID: com.aniplex.resu
      App Store Link: https://apps.apple.com/us/app/resident-evil-survival-unit/id6744668327?uo=4

       
       

      🤩 Hack Features

      - Damage Multiplier [ Battle ]
      - Defence Multiplier [ Battle ]
      - God Mode [ Battle ]
      - God Mode [ Explore ]
      - One-Hit Kill [ Explore ]
      - Freeze Items & Ammo
      • 72 replies
    • Train of Hope: Survival Game v1.15.5 +5 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Train of Hope: Survival Game By Samfinaco LLC
      Bundle ID: com.samfinaco.tos
      iTunes Store Link: https://apps.apple.com/us/app/train-of-hope-survival-game/id6636482655?uo=4

       
       

      🤩 Hack Features

      - Damage Multiplier
      - Defence Multiplier
      - God Mode
      - Unlimited Resources -> Will increase instead of decrease.
      - Unlimited Hero Experience -> Will increase instead of decrease.
      • 86 replies
    • Monster Hunter Puzzles v2.22.02 +7 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Monster Hunter Puzzles By CAPCOM Co., Ltd
      Bundle ID: jp.co.capcom.mhpuzzle
      iTunes Store Link: https://apps.apple.com/us/app/monster-hunter-puzzles/id1591864714?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 Acorns -> Earn or spend some.
      - Unlimited Gems -> Earn or spend some.
      - Unlimited Tickets -> Earn or spend some.
      - Unlimited Lives -> Will not decrease.
      - Unlimited Boosters -> Will not decrease.
      - Unlimited Moves -> Will not decrease.
      - Auto Win


      Jailbreak required hack(s): [Mod Menu Hack] Monster Hunter Puzzles v2.01.02 +7 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/
      • 69 replies
    • Idle Zombie Miner: Gold Tycoon v2.302.2492 +1++ Jailed Cheat [ Currencies ]
      Modded/Hacked App: Idle Zombie Miner: Gold Tycoon By VISTREX LIMITED
      Bundle ID: com.zombie.idleminertycoon
      iTunes Store Link: https://apps.apple.com/us/app/idle-zombie-miner-gold-tycoon/id6471983323?uo=4


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


      Jailbreak required hack(s): [Mod Menu Hack] Idle Zombie Miner: Gold Tycoon v2.53.1001 +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/
      • 141 replies
    • Zombie Harbor: FPS Zombie Game v1.1.4 +12 Jailed Cheats [ Damage & Defence ]
      Modded/Hacked App: Zombie Harbor: FPS Zombie Game By MYGAMES MENA FZ LLC
      Bundle ID: games.my.zombie.shooter.fps
      App Store Link: https://apps.apple.com/us/app/zombie-harbor-fps-zombie-game/id6744439436?uo=4

       
       

      🤩 Hack Features

      - Freeze Currencies
      - Freeze Ammo
      - No Recoil
      - No Spread
      - Increased Fire Rate

      VIP
      - Damage Multiplier
      - Defence Multiplier
      - God Mode
      - Move Speed Multiplier
      - Unlimited Currencies
      - Kill All Enemies
      - Become Invisible
      • 12 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