Hi,
I'm trying to use Game Guardian to cheat in the game Pocket Mortys on Android.
This game is VERY similar to pokemon, it's semi open-world, you catch mortys, each morty has an IV which represents how good it is after you catch it, there's tickets that you can buy for money.
I was able to generate a dump of the APK using IL2CppDumper and APKTool. I saw some functions that seem interesting to change.
For example, I want to change the IVs of a wild morty, they normally range from 0-16, so I found this function.
// RVA: 0x185DB50 Offset: 0x185DB50 VA: 0x185DB50
public void GenerateIVs(int min = 0, int max = 16) { }
going to the offset of that function I found
MOV W20, W2 //these two variables should be min/ max right?
MOV W21, W1
//So I changed them to
MOV W21, W2
MOV W21, W1
//logically I'm generating a morty with either all min stats or all max.
But the game keeps crashing, or become VERY slow. I think they have a checksum somewhere, is that something I can fix?
There's multiple other functions that I saw and seemed like they were interesting to play around with, but I think a good starting point is being able to catch a wild morty with 16(maxed) IVs.
Is this doable, if so what am I missing or what should I be doing?
In case this is not really doable, how would I go by displaying all available wild mortys and their IVs like a cheat table?
I know how multiplayer games are mostly based on the fact "never trust the client" but is it really possible that every single thing in the game is server-sided?
Oh and I've tried packet sniffing to see what kind of packets are being sent when a premium item is purchased with in-game currency and didn't really find much.