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

    • The Office Match +6 Jailed Cheats [ Unlimited Currencies ]
      Modded/Hacked App: The Office Match By East Side Games Inc
      Bundle ID: com.eastsidegames.theofficematch
      App Store Link: https://apps.apple.com/ph/app/the-office-match/id6754114961?uo=4

       

      🤩 Hack Features

      - Currency Multiplier
      - Freeze Currencies
      - Unlimited Currencies -> Will increase instead of decrease.
      - Freeze Lives
      - Freeze Moves
      - Auto Win
      -- No Ads
      • 0 replies
    • UnGodly [+5 Cheats]
      Modded/Hacked App: UnGodly By Azra Games Inc
      Bundle ID: com.azragames.ungodly
      App Store Link: https://apps.apple.com/us/app/ungodly/id6740617332?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

      - Godmode
      - One Hit Kill 
      - No Ability Cooldown
      - No Ability Cost
      - No Stagger
       

       

      ⬇️ iOS Hack Download IPA Link


      Hidden Content

      Download via the iOSGods App







       

      📖 PC Installation Instructions

      STEP 1: Download the pre-hacked .IPA file from the link above to your computer. To download from the iOSGods App, see our iOSGods App IPA Download Tutorial which includes a video example.
      STEP 2: Download Sideloadly and install it on your Windows or Mac.
      STEP 3: Open Sideloadly on your computer, connect your iOS device, and wait until your device name appears in Sideloadly.
      STEP 4: Once your iDevice is recognized, drag the modded .IPA file you downloaded and drop it into the Sideloadly application.
      STEP 5: Enter your Apple Account email, then press “Start.” You’ll then be asked to enter your password. Go ahead and provide the required information.
      STEP 6: Wait for Sideloadly to finish sideloading/installing the hacked IPA. If there are issues during installation, please read the note below.
      STEP 7: Once the installation is complete and you see the app on your Home Screen, you will need to go to Settings -> General -> Profiles / VPN & Device Management. Once there, tap on the email you entered from step 6, and then tap on 'Trust [email protected]'.
      STEP 8: Now go to your Home Screen and open the newly installed app and everything should work fine. You may need to follow further per app instructions inside the hack's popup in-game.

      NOTE: iOS/iPadOS 16 and later, you must enable Developer Mode. For free Apple Developer accounts, you will need to repeat this process every 7 days. If you have any questions or problems, read our Sideloadly FAQ section of the topic and if you don't find a solution, please post your issue below and we'll do our best to help! If the hack does work for you, post your feedback below and help out other fellow members that are encountering issues.

       

      🙌 Credits

      - @KyosukeNanbu

      - @Batch

      📷 Cheat Video/Screenshots

      N/A
        • Winner
      • 6 replies
    • Dead Meridian v1.1.0 [ +4 Cheats ] Never Die
      Modded/Hacked App: Dead Meridian By OBX Software Corporation
      Bundle ID: com.obxsoftware.deadmeridian
      App Store Link: https://apps.apple.com/us/app/dead-meridian/id6824602528?uo=4

      🤩 Hack Features

      - Never Die
      - Damage Max
      - Infinite Ammo
      - Premium Unlocked
      • 0 replies
    • Dead Meridian v1.1.0 [ +4 Jailed ] Never Die
      Modded/Hacked App: Dead Meridian By OBX Software Corporation
      Bundle ID: com.obxsoftware.deadmeridian
      App Store Link: https://apps.apple.com/us/app/dead-meridian/id6824602528?uo=4

      🤩 Hack Features

      - Never Die
      - Damage Max
      - Infinite Ammo
      - Premium Unlocked
      • 0 replies
    • Twinguard Tower Defense TD v0.0.9 [ +3 Cheats ] Currency Max
      Modded/Hacked App: Twinguard: Tower Defense TD By Tu Do Anh
      Bundle ID: com.130game.doubletd.twinhold
      App Store Link: https://apps.apple.com/us/app/twinguard-tower-defense-td/id6747331836?uo=4

      🤩 Hack Features

      - Unlimited Currency
      - Never Die
      - Max Damage
      • 0 replies
    • Twinguard Tower Defense TD v0.0.9 [ +3 Jailed ] Currency Max
      Modded/Hacked App: Twinguard: Tower Defense TD By Tu Do Anh
      Bundle ID: com.130game.doubletd.twinhold
      App Store Link: https://apps.apple.com/us/app/twinguard-tower-defense-td/id6747331836?uo=4

      🤩 Hack Features

      - Unlimited Currency
      - Never Die
      - Max Damage
      • 0 replies
    • Heroic Castle Siege v1.0 [ +4 Cheats ] Currency Max
      Modded/Hacked App: Heroic Castle Siege By Dats Games LTD
      Bundle ID: dats.games.heroiccastlesiege
      App Store Link: https://apps.apple.com/us/app/heroic-castle-siege/id6503430922?uo=4

      🤩 Hack Features

      - Max Gold
      - Max Crystals
      - Never Die
      - Max Damage
      • 0 replies
    • Heroic Castle Siege v1.0 [ +4 Jailed ] Currency Max
      Modded/Hacked App: Heroic Castle Siege By Dats Games LTD
      Bundle ID: dats.games.heroiccastlesiege
      App Store Link: https://apps.apple.com/us/app/heroic-castle-siege/id6503430922?uo=4

      🤩 Hack Features

      - Max Gold
      - Max Crystals
      - Never Die
      - Max Damage
      • 0 replies
    • Harvester Survival Action RPG v2.5 [ +3 Cheats ] Currency Max
      Modded/Hacked App: Harvester Survival: Action RPG By tran anh tuan
      Bundle ID: com.Hyperfun.HarvesterActionRPG
      App Store Link: https://apps.apple.com/us/app/harvester-survival-action-rpg/id6760126953?uo=4

      🤩 Hack Features

      - Add Currency
      - Never Die
      - Damage Max
      • 0 replies
    • Harvester Survival Action RPG v2.5 [ +3 Jailed ] Currency Max
      Modded/Hacked App: Harvester Survival: Action RPG By tran anh tuan
      Bundle ID: com.Hyperfun.HarvesterActionRPG
      App Store Link: https://apps.apple.com/us/app/harvester-survival-action-rpg/id6760126953?uo=4

      🤩 Hack Features

      - Add Currency
      - Never Die
      - Damage Max
      • 0 replies
    • GunShooter Idle v1.3 [ +7 Cheats ] Currency Max
      Modded/Hacked App: GunShooter Idle By KRUSTY GAMES
      Bundle ID: com.krustygames.gunshooteridle
      App Store Link: https://apps.apple.com/us/app/gunshooter-idle/id6752290406?uo=4

      🤩 Hack Features

      - Add Gold
      - Add Gems
      - Add Money
      - Premium Ticket
      - Skip Ads
      - Never Die
      - Damage Max
      • 0 replies
    • GunShooter Idle v1.3 [ +7 Jailed ] Currency Max
      Modded/Hacked App: GunShooter Idle By KRUSTY GAMES
      Bundle ID: com.krustygames.gunshooteridle
      App Store Link: https://apps.apple.com/us/app/gunshooter-idle/id6752290406?uo=4

      🤩 Hack Features

      - Add Gold
      - Add Gems
      - Add Money
      - Premium Ticket
      - Skip Ads
      - Never Die
      - Damage Max
      • 0 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