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

    • Vector: Parkour Run v2.10.0 [ +7 Cheats ] Currency Max
      Modded/Hacked App: Vector: Parkour Run By Nekki Limited
      Bundle ID: com.nekki.vector.iphone.free
      App Store Link: https://apps.apple.com/us/app/vector-parkour-run/id578252579?uo=4

      🤩 Hack Features

      - Currency Max / Visual But Works Goes Negative
      - Booster Max / Visual But Works Goes Negative
      ==== VIP ====
      - Auto ADS NO
      - Unlimited Currency
      - Unlimited Booster
      - Currency Enough
      • 0 replies
    • Vector: Parkour Run v2.10.0 [ +7 Jailed ] Currency Max
      Modded/Hacked App: Vector: Parkour Run By Nekki Limited
      Bundle ID: com.nekki.vector.iphone.free
      App Store Link: https://apps.apple.com/us/app/vector-parkour-run/id578252579?uo=4

      🤩 Hack Features

      - Currency Max / Visual But Works Goes Negative
      - Booster Max / Visual But Works Goes Negative
      ==== VIP ====
      - Auto ADS NO
      - Unlimited Currency
      - Unlimited Booster
      - Currency Enough
      • 3 replies
    • Throne Arena: PvP Defense +2++ Mod [ Unlimited Currencies ]
      Mod APK Game Name: Throne Arena: PvP Defense By Deviloper Limited
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.throne.arena.strategy.rpg

       

      🤩 Hack Features

      - Unlimited Currencies -> Earn or spend some.
      - Freeze Currencies
      • 1 reply
    • Dungeons of Hinterberg +1 Jailed Cheat [ Full Game Unlocked ]
      Modded/Hacked App: Dungeons of Hinterberg By Crunchyroll, LLC
      Bundle ID: com.crunchyroll.gv.dungeonsofhinterberg
      App Store Link: https://apps.apple.com/us/app/dungeons-of-hinterberg/id6757450467?uo=4

       

      🤩 Hack Features

      -- Full Game Unlocked
        • Like
      • 3 replies
    • Gothic Girl Survivor +1 Mod [ Damage ]
      Mod APK Game Name: Gothic Girl Survivor By Just Idea
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=jp.yugi.gothicsurvivor.prod

       

      🤩 Hack Features

      - Damage Multiplier
      • 0 replies
    • Dungeon Odyssey v1.0.2 [ +2 Jailed ] ATK Max
      Modded/Hacked App: Dungeon Odyssey By SuperPlanet corp.
      Bundle ID: com.superplanet.odyssey
      App Store Link: https://apps.apple.com/us/app/dungeon-odyssey/id6782771784?uo=4

      🤩 Hack Features

      - Hero ATK Max
      - Soldier ATK Max
      Note:- Don't Abuse The Hack Incase Data Lose / Banned
        • Winner
        • Like
      • 2 replies
    • Dungeon Odyssey v1.0.2 [ +2 Cheats ] ATK Max
      Modded/Hacked App: Dungeon Odyssey By SuperPlanet corp.
      Bundle ID: com.superplanet.odyssey
      App Store Link: https://apps.apple.com/us/app/dungeon-odyssey/id6782771784?uo=4

      🤩 Hack Features

      - Hero ATK Max
      - Soldier ATK Max
      Note:- Don't Abuse The Hack Incase Data Lose / Banned
        • Thanks
        • Winner
        • Like
      • 4 replies
    • Gravewalker: Roguelike RPG v1.3 [ +2 Cheats ] Currency Max
      Modded/Hacked App: Gravewalker: Roguelike RPG By Space Node Co., Ltd.
      Bundle ID: com.ckmin.gravewalker
      App Store Link: https://apps.apple.com/us/app/gravewalker-roguelike-rpg/id6789180274?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Coins
      Note:- Breakable Cheat / When Use Then Game Crash But Works / Disable After
        • Like
      • 0 replies
    • Gravewalker: Roguelike RPG v1.3 [ +2 Jailed ] Currency Max
      Modded/Hacked App: Gravewalker: Roguelike RPG By Space Node Co., Ltd.
      Bundle ID: com.ckmin.gravewalker
      App Store Link: https://apps.apple.com/us/app/gravewalker-roguelike-rpg/id6789180274?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Coins
      Note:- Breakable Cheat / When Use Then Game Crash But Works / Disable After
        • Like
      • 1 reply
    • Doom Convoy v1.0 [ +7 Jailed ] Currency Max
      Modded/Hacked App: Doom Convoy By FUBU GAMES OYUN YAZILIM VE BILGI TEKNOLOJILERI TICARET LIMITED SIRKETI
      Bundle ID: com.fubugames.doomdefender
      App Store Link: https://apps.apple.com/us/app/doom-convoy/id6759977040?uo=4

      🤩 Hack Features

      - Coins Max
      - Mini Gun / Ammo Freeze
      - Mini Gun / Ammo Max Use
      - Rocket / Ammo Freeze
      - Rocket / Ammo Max Use
      - Flame Gun / Ammo Freeze
      - Flame Gun / Ammo Max Use
      • 1 reply
    • Doom Convoy v1.0 [ +7 Cheats ] Currency Max
      Modded/Hacked App: Doom Convoy By FUBU GAMES OYUN YAZILIM VE BILGI TEKNOLOJILERI TICARET LIMITED SIRKETI
      Bundle ID: com.fubugames.doomdefender
      App Store Link: https://apps.apple.com/us/app/doom-convoy/id6759977040?uo=4

      🤩 Hack Features

      - Coins Max
      - Mini Gun / Ammo Freeze
      - Mini Gun / Ammo Max Use
      - Rocket / Ammo Freeze
      - Rocket / Ammo Max Use
      - Flame Gun / Ammo Freeze
      - Flame Gun / Ammo Max Use
      • 1 reply
    • Animal Hunt: PvP Clash v1.0 [ +1 Jailed ] Enough Currency
      Modded/Hacked App: Animal Hunt: PvP Clash By Creative Distrix
      Bundle ID: com.cd.sniper.hunting.shooter
      App Store Link: https://apps.apple.com/us/app/animal-hunt-pvp-clash/id6761612123?uo=4

      🤩 Hack Features

      - Enough Currency
        • Winner
        • Like
      • 3 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