Jump to content

Some questions with reversing asm via ida


Go to solution Solved by Theo1357,

11 posts in this topic

Recommended Posts

Posted

Got a few questions, Still new to decompiling stuff and reversing so yeah.

I will list them below.

 

1.

When I am reversing a function and it calls the CityBalance$$GetUpgradePrice then (I am guessing) it stores the returned value in D8 from D0 right? 

image.png

 

2.

When decompiling functions I sometimes see var_whateverhere = 0xwhateverHere but it isnt a field offset of anykind, what do they do and how can I understand them? (I included some of the start asm of that function to help you understand if needed)

image.png

 

3.

When wanting to hook onto functions, to modify the field offset (in this case we will use 0x10 = int Coins) would I do something like FunctionOffset + 0x10 to get the fieldoffest variable to then read/write toward that pointed to object?

 

Like I said I am still new to decompiling stuff and reversing, please excuse me if this is easy for you. 

  • Solution
Posted

1. Yes
2. I gusse it is offset in stack, skip it
3. No, you must use pointer class + 0x10

void (*old_PersistentPlayerUpdate)(void* _this) = nil;
void PersistentPlayerUpdate(void* _this) {
   old_PersistentPlayerUpdate(_this);
   if ([menu isSwitchWithIdentifierActive:@"currency"]) {
     void *playerData = *(void **)((uint64_t)_this + 0x18);
     void *Container = *(void **)((uint64_t)playerData + 0x30);
     void *Player = *(void **)((uint64_t)Container + 0x10);
     void *player = *(void **)((uint64_t)Player + 0x10);
    *(int *)((uint64_t)player + 0x134) = 999999999;
    *(int *)((uint64_t)player + 0x138) = 999999999;
    *(int *)((uint64_t)player + 0x13C) = 999999999;
    *(int *)((uint64_t)player + 0x140) = 999999999;
  }
}

MSHookFunction((void *)getRealOffset(APEncryptHex(0x013BE034)), (void *)PersistentPlayerUpdate, (void **)&old_PersistentPlayerUpdate);

  • Like 2
Posted
4 minutes ago, tien0246 said:

1. Yes
2. I gusse it is offset in stack, skip it
3. No, you must use pointer class + 0x10

void (*old_PersistentPlayerUpdate)(void* _this) = nil;
void PersistentPlayerUpdate(void* _this) {
   old_PersistentPlayerUpdate(_this);
   if ([menu isSwitchWithIdentifierActive:@"currency"]) {
     void *playerData = *(void **)((uint64_t)_this + 0x18);
     void *Container = *(void **)((uint64_t)playerData + 0x30);
     void *Player = *(void **)((uint64_t)Container + 0x10);
     void *player = *(void **)((uint64_t)Player + 0x10);
    *(int *)((uint64_t)player + 0x134) = 999999999;
    *(int *)((uint64_t)player + 0x138) = 999999999;
    *(int *)((uint64_t)player + 0x13C) = 999999999;
    *(int *)((uint64_t)player + 0x140) = 999999999;
  }
}

MSHookFunction((void *)getRealOffset(APEncryptHex(0x013BE034)), (void *)PersistentPlayerUpdate, (void **)&old_PersistentPlayerUpdate);

Thank you and thank you alot more for providing a code sample. 

Posted
On 6/2/2024 at 9:55 AM, tien0246 said:

3. No, you must use pointer class + 0x10

Just to be 100% sure:

The offset of the class would be the pointer class in this case correct?
image.png

So 0x32B87DC 0x14 (example)

Posted
38 minutes ago, carpoa said:

Just to be 100% sure:

The offset of the class would be the pointer class in this case correct?
image.png

So 0x32B87DC 0x14 (example)

Nope, pointer not offset.

If you wanna hack field in ida, try find somewhere like

str w9, [x19, #0x10]
register w9 hold your coin, find at the top somewhere write the value in w9

Posted
1 minute ago, tien0246 said:

Nope, pointer not offset.

If you wanna hack field in ida, try find somewhere like

str w9, [x19, #0x10]
register w9 hold your coin, find at the top somewhere write the value in w9

ic mk. Could you just explain using pointers and getting them please? Thanks for your help :thankyou:

Posted
31 minutes ago, carpoa said:

ic mk. Could you just explain using pointers and getting them please? Thanks for your help :thankyou:

 

On 6/2/2024 at 3:55 PM, tien0246 said:

1. Yes
2. I gusse it is offset in stack, skip it
3. No, you must use pointer class + 0x10

void (*old_PersistentPlayerUpdate)(void* _this) = nil;
void PersistentPlayerUpdate(void* _this) {
   old_PersistentPlayerUpdate(_this);
   if ([menu isSwitchWithIdentifierActive:@"currency"]) {
     void *playerData = *(void **)((uint64_t)_this + 0x18);
     void *Container = *(void **)((uint64_t)playerData + 0x30);
     void *Player = *(void **)((uint64_t)Container + 0x10);
     void *player = *(void **)((uint64_t)Player + 0x10);
    *(int *)((uint64_t)player + 0x134) = 999999999;
    *(int *)((uint64_t)player + 0x138) = 999999999;
    *(int *)((uint64_t)player + 0x13C) = 999999999;
    *(int *)((uint64_t)player + 0x140) = 999999999;
  }
}

MSHookFunction((void *)getRealOffset(APEncryptHex(0x013BE034)), (void *)PersistentPlayerUpdate, (void **)&old_PersistentPlayerUpdate);

Using hook like it

  • Like 1
Posted
3 minutes ago, tien0246 said:

 

Using hook like it

ohh ok gotcha.

Reading the code I'm assuming _this is the pointer (I guess you could say that) for the class it is within right? I just want to be sure.

Posted
9 minutes ago, carpoa said:

ohh ok gotcha.

Reading the code I'm assuming _this is the pointer (I guess you could say that) for the class it is within right? I just want to be sure.

_this is poiter class

Posted
1 minute ago, tien0246 said:

_this is poiter class

gotcha right that makes sense thank you.

  • Like 1

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

    • DRAGON BALL Z DOKKAN BATTLE Japan (ドラゴンボールZ ドッカンバトル) v6.2.5 +7 Cheats!
      Modded/Hacked App: ドラゴンボールZ ドッカンバトル By BANDAI NAMCO Entertainment Inc.
      Bundle ID: jp.co.bandainamcogames.BNGI0211
      iTunes Link: https://itunes.apple.com/jp/app/ドラゴンボールz-ドッカンバトル/id951627670


      Hack Features
      - Unlimited HP  -  (Put .0 at the back of your value: 1000.0)
      - Unlimited Damage  -  (Put .0 at the back of your value: 1000.0)
      - Unlimited Defense  -  (Put .0 at the back of your value: 1000.0)
      - Dice Hack -  [ONLY RANGE BETWEEN 1 - 6 or it will crash]  -  (Put .0 at the back of your value: 4.0)
      - Dice Hack 1, 2, 3
      - Dice Hack 4, 5, 6
      - Auto Win Battles -> Disable if you get errors.
      PUT .0 at the back of all values!
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 8,071 replies
    • Mushroom War: Evolution TD v1.16.2 [ +8 APK MOD ] Currency Max
      Mod APK Game Name: Mushroom War: Evolution TD
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=rollingball.td.mushroom.warriors&hl=en

      🤩 Hack Features

      - ADS Skip Ticket Max / Rewards Free
      - Battle Food Speed
      ::::::: VIP :::::::
      - AI Freeze
      - Unlimited Gems
      - Unlimited Coins
      - Base HP MAX
      - Base HP Freeze
      - Hero HP Freeze
      • 1 reply
    • Mushroom War: Evolution TD v1.2.0 [ +8 Cheats ] Currency Max
      Modded/Hacked App: Mushroom War: Evolution TD By Hangzhou Rolling Technology Co., Ltd.
      Bundle ID: com.snowball.td.mushroom
      App Store Link: https://apps.apple.com/us/app/mushroom-war-evolution-td/id6761058966?uo=4

      🤩 Hack Features

      - ADS Skip Ticket Max / Rewards Free
      - Battle Food
      ::::::: VIP :::::::
      - AI Freeze
      - Unlimited Gems
      - Unlimited Coins
      - Base HP MAX
      - Base HP Freeze
      - Hero HP Freeze
      • 1 reply
    • Mushroom War: Evolution TD v1.2.0 [ +8 Jailed ] Currency Max
      Modded/Hacked App: Mushroom War: Evolution TD By Hangzhou Rolling Technology Co., Ltd.
      Bundle ID: com.snowball.td.mushroom
      App Store Link: https://apps.apple.com/us/app/mushroom-war-evolution-td/id6761058966?uo=4

      🤩 Hack Features

      - ADS Skip Ticket Max / Rewards Free
      - Battle Food
      ::::::: VIP :::::::
      - AI Freeze
      - Unlimited Gems
      - Unlimited Coins
      - Base HP MAX
      - Base HP Freeze
      - Hero HP Freeze
      • 1 reply
    • Skull Hero : XP Farm RPG v0.0.1.6 [ +3 APK MOD ] ATK MAX
      Mod APK Game Name: Skull Hero : XP Farm RPG
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.horus.hero.xp.farm.rpg&hl=en

      🤩 Hack Features

      - ViP Active
      - Enough Gems
      - ATK MAX
      • 0 replies
    • Skull Hero : XP Farm RPG v0.1.0 [ +3 Cheats ] ATK MAX
      Modded/Hacked App: Skull Hero : XP Farm RPG By HORUS ENTERTAINMENT LIMITED
      Bundle ID: com.horusent.hero.xp.farm.rpg
      App Store Link: https://apps.apple.com/us/app/skull-hero-xp-farm-rpg/id6775685404?uo=4

      🤩 Hack Features

      - ViP Active
      - Enough Gems
      - ATK MAX
      • 1 reply
    • Skull Hero : XP Farm RPG v0.1.0 [ +3 Jailed ] ATK MAX
      Modded/Hacked App: Skull Hero : XP Farm RPG By HORUS ENTERTAINMENT LIMITED
      Bundle ID: com.horusent.hero.xp.farm.rpg
      App Store Link: https://apps.apple.com/us/app/skull-hero-xp-farm-rpg/id6775685404?uo=4

      🤩 Hack Features

      - ViP Active
      - Enough Gems
      - ATK MAX
      • 0 replies
    • Highway of the Dead v0.2.8 [ +5 APK MOD ] Currency Max
      Mod APK Game Name: Highway of the Dead
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.YsoCorp.HighwayoftheDead

      🤩 Hack Features

      - Currency Freeze
      - Currency Enough
      - Unlimited Coins
      - Unlimited EXP / Faster Level UP
      - ATK Max
      • 1 reply
    • Highway of the Dead v0.2.2 [ +5 Jailed ] Currency Max
      Modded/Hacked App: Highway of the Dead By Yso Corp
      Bundle ID: com.YsoCorp.HighwayoftheDead
      App Store Link: https://apps.apple.com/us/app/highway-of-the-dead/id6759250268?uo=4

      🤩 Hack Features

      - Currency Freeze
      - Currency Enough
      - Unlimited Coins
      - Unlimited EXP / Faster Level UP
      - ATK Max
      • 0 replies
    • Highway of the Dead v0.2.2 [ +5 Cheats ] Currency Max
      Modded/Hacked App: Highway of the Dead By Yso Corp
      Bundle ID: com.YsoCorp.HighwayoftheDead
      App Store Link: https://apps.apple.com/us/app/highway-of-the-dead/id6759250268?uo=4

      🤩 Hack Features

      - Currency Freeze
      - Currency Enough
      - Unlimited Coins
      - Unlimited EXP / Faster Level UP
      - ATK Max
      • 0 replies
    • Card Train v1.1.1 [ +7 APK MOD ] Currency Max
      Mod APK Game Name: Card Train
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.kazrahann.cardtrain&ref

      🤩 Hack Features

      - Enough Cube
      - Enough Gems
      - Unlimited Coins
      - Mana Freeze
      - HP Max
      - HP Freeze
      - ATK Max
      • 1 reply
    • Mini Soccer Star 2026 +7 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: Mini Soccer Star 2026 By VIVA GAMES S.L.
      Bundle ID: com.touch2goal.soccer
      App Store Link: https://apps.apple.com/us/app/mini-soccer-star-2026/id1636072966?uo=4

       


      🤩 Hack Features

      - Unlimited Coins -> Earn or spend some.
      - Unlimited Gems -> Earn or spend some.
      - Unlimited Energy -> Earn or spend some.
      - Unlimited Tokens -> Earn or spend some.
      - Unlimited Skip Tickets -> Earn or spend some.
      -- VIP
      -- No Ads
        • Haha
        • Thanks
        • Winner
        • Like
      • 213 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