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

    • Demon RPG v1.12 [ +10 Cheats ] Currency Max
      Modded/Hacked App: Demon RPG By SeHyeon Im
      Bundle ID: com.Owings.DemonRPG
      App Store Link: https://apps.apple.com/us/app/demon-rpg/id1476965737?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Gold Increaser
      - OFFLINE-REWARD
      - HP Freeze
      Stats / Just Upgrade
      - ATK MAX
      - HP MAX
      - DEF MAX
      - CRITI-ATK
      - DMG-RED
      - HP-REG
      • 0 replies
    • Demon RPG v1.12 [ +10 Jailed ] Currency Max
      Modded/Hacked App: Demon RPG By SeHyeon Im
      Bundle ID: com.Owings.DemonRPG
      App Store Link: https://apps.apple.com/us/app/demon-rpg/id1476965737?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Gold Increaser
      - OFFLINE-REWARD
      - HP Freeze
      Stats / Just Upgrade
      - ATK MAX
      - HP MAX
      - DEF MAX
      - CRITI-ATK
      - DMG-RED
      - HP-REG
      • 0 replies
    • My Little Goddess : Idle RPG +3 Mods [ Damage & Defence ]
      Mod APK Game Name: My Little Goddess : Idle RPG By Pigames
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.pigames.mylittlegoddess

       

      🤩 Hack Features

      - Damage Multiplier
      - Defence Multiplier
      - God Mode
      • 0 replies
    • Truck Simulator EVO: Drive USA v2.0 [ +2 Cheats ] Currency Max
      Modded/Hacked App: Truck Simulator EVO: Drive USA By Marusac Alexandru Persoana Fizica Autorizata
      Bundle ID: com.ovilex.truckerzoneamericanroadways
      App Store Link: https://apps.apple.com/us/app/truck-simulator-evo-drive-usa/id6748637350?uo=4

      🤩 Hack Features

      - Unlimited Cash
      - Unlimited Gold
      • 1 reply
    • Truck Simulator EVO: Drive USA v2.0 [ +2 Jailed ] Currency Max
      Modded/Hacked App: Truck Simulator EVO: Drive USA By Marusac Alexandru Persoana Fizica Autorizata
      Bundle ID: com.ovilex.truckerzoneamericanroadways
      App Store Link: https://apps.apple.com/us/app/truck-simulator-evo-drive-usa/id6748637350?uo=4

      🤩 Hack Features

      - Unlimited Cash
      - Unlimited Gold
        • Like
      • 1 reply
    • Solitaire Truck Deluxe v3.2.1 [ +5 Cheats ] Currency Max
      Modded/Hacked App: Solitaire Truck Deluxe By Beijing Multipoint Unlimited Network Technology Co., Ltd.
      Bundle ID: com.duole.solitaire.zen.home.design.patience.free.card.games
      App Store Link: https://apps.apple.com/us/app/solitaire-truck-deluxe/id6464568524?uo=4

      🤩 Hack Features

      - Auto ADS NO
      - Unlimited Gems
      - Unlimited Wrench
      - Unlimited Undo
      - Unlimited Hints
      • 1 reply
    • Solitaire Truck Deluxe v3.2.1 [ +5 Jailed ] Currency Max
      Modded/Hacked App: Solitaire Truck Deluxe By Beijing Multipoint Unlimited Network Technology Co., Ltd.
      Bundle ID: com.duole.solitaire.zen.home.design.patience.free.card.games
      App Store Link: https://apps.apple.com/us/app/solitaire-truck-deluxe/id6464568524?uo=4
       

      🤩 Hack Features

      - Auto ADS NO
      - Unlimited Gems
      - Unlimited Wrench
      - Unlimited Undo
      - Unlimited Hints
        • Like
      • 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!
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 8,082 replies
    • Detective S: Mystery Puzzle v1.21.4 [ +4 APK MOD ] Currency Freeze
      Mod APK Game Name: Detective S: Mystery Puzzle
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.rawhand.dts.gl&hl=en

      🤩 Hack Features

      - Diamond Freeze
      - Gold Freeze
      - Heart Freeze
      - Fragment Freeze
        • Informative
      • 0 replies
    • Detective S: Mystery Game v1.21.3 [ +5 Cheats ] Currency Freeze
      Modded/Hacked App: Detective S: Mystery Game By Rawhand. Inc
      Bundle ID: com.rawhand.dts.ios
      App Store Link: https://apps.apple.com/us/app/detective-s-mystery-game/id1502345814?uo=4

      🤩 Hack Features

      - Diamond Freeze
      - Gold Freeze
      - Heart Freeze
      - Heart Unlimited
      - Fragment Freeze
      • 1 reply
    • Detective S: Mystery Game v1.21.3 [ +5 Jailed ] Currency Freeze
      Modded/Hacked App: Detective S: Mystery Game By Rawhand. Inc
      Bundle ID: com.rawhand.dts.ios
      App Store Link: https://apps.apple.com/us/app/detective-s-mystery-game/id1502345814?uo=4

      🤩 Hack Features

      - Diamond Freeze
      - Gold Freeze
      - Heart Freeze
      - Heart Unlimited
      - Fragment Freeze
        • Thanks
        • Like
      • 0 replies
    • Gale Knights Idle RPG +3 Mods [ Damage + More ]
      Mod APK Game Name: Gale Knights Idle RPG By LightCON Co.,Ltd.
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=net.lightcon.windidle

       

      🤩 Hack Features

      - Damage Multiplier
      - God Mode
      - No Skill Cooldown
        • Thanks
        • Like
      • 2 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