Jump to content

How would I override an method with its offset?


ubyt3x

11 posts in this topic

Recommended Posts

Posted

I'm very new into this game, yet I have some knowledge (programming and basic reverse-engineering).

I just dumped some data for a game (American Dad! Apocalypse Soon). It's an Unity game, so I used IL2CPPDump/I'm viewing the classes with dotPeek.

There are many methods including get and set methods. Basiclly every method has its own RVA and offset.

 

How would I change the behaviour of a method?

Say I want get_XYZValue() to return 1337 (or set_XYZValue(int x) to set x to 1337) and the offset is 0x17EC0809. Would I just override 17EC0809 with 0x539 or maybe 20A78052 (MOV W0, #1337) or is it more than that?

I tried the second approach with some functions using iOSGods Live Offset Patcher, yet it sadly didn't affect anything.

 

I appreciate any answer! Thanks.

Posted

Make sure that you have chosen the correct register to move a value into, and make sure it doesn’t get changed afterwards. This can be achieved by putting a RET statement right after it.

Posted
13 hours ago, bR34Kr said:

Make sure that you have chosen the correct register to move a value into, and make sure it doesn’t get changed afterwards. This can be achieved by putting a RET statement right after it.

Thanks for your answer.

I already know about RET, but how would you fit both MOV and RET in one single HEX and how could I get the current register? Do I need to debug it, or would fridump do the job?

And does that mean that the offset of a method is just pointing to the corresponding ARM code that is being executed, just like you'd inspect an method inside IDA?

Posted

If you are using in game Menu patching   your hack is  0x20A78052C0035FD6.

If you are just patching binary for ipa sideloading the hack is 20A78052C0035FD6.

Posted
On 11/4/2019 at 5:01 PM, Aarivex said:

I already know about RET, but how would you fit both MOV and RET in one single HEX and how could I get the current register? Do I need to debug it, or would fridump do the job?

Yeah, you can fit both MOV and RET in a function as long as the function is at least 4 bytes in size.

Posted
13 hours ago, DADi said:

Yeah, you can fit both MOV and RET in a function as long as the function is at least 4 bytes in size.

I got some answers on /r/jailbreakdevelopers that told me that I need the RVA and the ASLR slide, so it makes sense now to me.

Thanks for your answers!

What confused me was that why overriding a method address with ARM HEX instructions would work, but I got some insight there now that I know that you can "replace" the original function with your own and how the offset works using _dyld_get_image_vmaddr_slide(0).

Posted
51 minutes ago, Aarivex said:

I got some answers on /r/jailbreakdevelopers that told me that I need the RVA and the ASLR slide, so it makes sense now to me.

Thanks for your answers!

What confused me was that why overriding a method address with ARM HEX instructions would work, but I got some insight there now that I know that you can "replace" the original function with your own and how the offset works using _dyld_get_image_vmaddr_slide(0).

Ah, perhaps this would be of help to you. http://armconverter.com/mshookgenerator/

Posted
43 minutes ago, DADi said:

Ah, perhaps this would be of help to you. http://armconverter.com/mshookgenerator/

I already know that tool, but I can write that code on my own :D

I wrote this bit of code, which sadly doesn't affect anything:

#include <mach-o/dyld.h>
#include <substrate.h>
  
void *func = (void *)(_dyld_get_image_vmaddr_slide(0) + 0x101AA8924);
int (*original) (); // or int (*original) (void *self);
int replacement() { // or int replacement (void *self);
	return 10; 
}

%ctor {
	MSHookFunction(lvlFunc, (void *)replacement, (void **)&original);
}

whereas this code leads to an crash:

#include <mach-o/dyld.h>
#include <substrate.h>

int (*old_get_Level)(void *self);
int get_Level(void *self) {
	return 10;
}
  
%ctor {
	MSHookFunction((void *)(_dyld_get_image_vmaddr_slide(0) + 0x101AA8924), (void*)get_Level, (void**)&old_get_Level);
}

Not just with get_Level, but also with some methods inside a battle - f.e. MaxHealth or UnitHealth.

Posted

Is your offset an instrtuction inside the function? MSHookFunction only works on functions.

And also the function needs to be bigger than 8 bytes in order to use MSHookFunction on it from what I recall.

Archived

This topic is now archived and is closed to further replies.

  • Our picks

    • Jacket Escape v1.1.0 [ +2 Cheats ] Currency Max
      Modded/Hacked App: Jacket Escape By 蕴绮 黄
      Bundle ID: com.simplegame.jetpack
      App Store Link: https://apps.apple.com/us/app/jacket-escape/id6450668807?uo=4

      🤩 Hack Features

      - Unlimited Coins
      - Bullet Size Max
      • 1 reply
    • Jacket Escape v1.1.0 [ +2 Jailed ] Currency Max
      Modded/Hacked App: Jacket Escape By 蕴绮 黄
      Bundle ID: com.simplegame.jetpack
      App Store Link: https://apps.apple.com/us/app/jacket-escape/id6450668807?uo=4

      🤩 Hack Features

      - Unlimited Coins
      - Bullet Size Max
      • 1 reply
    • Motor Capital v1.0.0 [ +1 Cheats ] Enough Resources
      Modded/Hacked App: Motor Capital By 24 HIT Riga SIA
      Bundle ID: com.motor.capital
      App Store Link: https://apps.apple.com/us/app/motor-capital/id6771701401?uo=4

      🤩 Hack Features

      Pre Activated
      - Enough Resources / Only Upgrades & Building Upgrade
      • 1 reply
    • Motor Capital v1.0.0 [ +1 Jailed ] Enough Resources
      Modded/Hacked App: Motor Capital By 24 HIT Riga SIA
      Bundle ID: com.motor.capital
      App Store Link: https://apps.apple.com/us/app/motor-capital/id6771701401?uo=4

      🤩 Hack Features

      Pre Activated
      - Enough Resources / Only Upgrades & Building Upgrade
      • 0 replies
    • SimCity BuildIt Cheats v1.79.0 +1 [ Freeze Currencies ]
      Modded/Hacked App: SimCity BuildIt By EA Swiss Sarl
      Bundle ID: com.ea.simcitymobile.bv
      iTunes Store Link: https://apps.apple.com/us/app/simcity-buildit/id913292932?uo=4


      Hack Features:
      - Infinite Currencies


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/topic/124792-arm64-simcity-buildit-v1412-jailed-cheats-1/


      iOS Hack Download Link: https://iosgods.com/topic/157687-simcity-buildit-cheats-v1415-1/
      • 744 replies
    • Shoot & Hide v1.5.3 [ +6 Cheats ] Currency Max
      Modded/Hacked App: Shoot & Hide By CRAZY LABS BY TABTALE , G.P.
      Bundle ID: com.sniper.shoot.hide.game
      App Store Link: https://apps.apple.com/us/app/shoot-hide/id6747033069?uo=4

      🤩 Hack Features

      Pre Activated
      - Currency Max / Earn Then Get
      - Trophies Max Earn Then Get
      - Heroes Unlocked / Linked Trophies
      - Location Unlocked / Linked Trophies
      - Merge Anything
      - HP MAX / ON When Enemy Turn After Disable
      • 5 replies
    • Shoot & Hide v1.5.3 [ +6 Jailed ] Currency Max
      Modded/Hacked App: Shoot & Hide By CRAZY LABS BY TABTALE , G.P.
      Bundle ID: com.sniper.shoot.hide.game
      App Store Link: https://apps.apple.com/us/app/shoot-hide/id6747033069?uo=4

      🤩 Hack Features

      Pre Activated
      - Currency Max / Earn Then Get
      - Trophies Max Earn Then Get
      - Heroes Unlocked / Linked Trophies
      - Location Unlocked / Linked Trophies
      - Merge Anything
      - HP MAX / ON When Enemy Turn After Disable
      • 1 reply
    • Real War: Survival Game v0.1.4 [ +4 APK MOD ] Troops Max
      Mod APK Game Name: Real War: Survival Game
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.zc.action.war.survival.game

      🤩 Hack Features

      - Auto ADS NO
      - Upgrade Cost 0 / Easy To Get Coins - ATK - Fire Rate
      ::::::: VIP :::::::
      - Unlimited Troops / Hit Damage Then Use It / Just Hit 🟢🔴 Then Work
      - Max ATK
      • 3 replies
    • Real War: Survival Game v1.1.0 [ +4 Cheats ] Troops Max
      Modded/Hacked App: Real War: Survival Game By Rameez Rehmat
      Bundle ID: com.sku.action.war.survival.games
      App Store Link: https://apps.apple.com/us/app/real-war-survival-game/id6772532581?uo=4

      🤩 Hack Features

      - Auto ADS NO
      - Upgrade Cost 0 / Easy To Get Coins - ATK - Fire Rate
      ::::::: VIP :::::::
      - Unlimited Troops / Hit Damage Then Use It / Just Hit 🟢🔴 Then Work
      - Custom ATK 
      • 1 reply
    • Real War: Survival Game v1.1.0 [ +4 Jailed ] Troops Max
      Modded/Hacked App: Real War: Survival Game By Rameez Rehmat
      Bundle ID: com.sku.action.war.survival.games
      App Store Link: https://apps.apple.com/us/app/real-war-survival-game/id6772532581?uo=4

      🤩 Hack Features

      - Auto ADS NO
      - Upgrade Cost 0 / Easy To Get Coins - ATK - Fire Rate
      ::::::: VIP :::::::
      - Unlimited Troops / Hit Damage Then Use It / Just Hit 🟢🔴 Then Work
      - Custom ATK 
      • 0 replies
    • 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!
      • 8,075 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
×
  • 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