Name of Game: The Battle Cats
Play Store Link (If it's a paid app, the apk): https://play.google.com/store/apps/details?id=jp.co.ponos.battlecatsen&hl=en&referrer=utm_source%3Dgoogle%26utm_medium%3Dorganic%26utm_term%3Dthe+battle+cats&pcampaignid=APPU_1AE-VOj7EoL08AGp2YHgBQ
Version: 1.1.1
What cheat? Health, xp, gold...: XP (Money), Cat Food (premium money)
Have you tried cheating this game? What happened?: Okay, so if you search for either value, it won't come up. They store a different value than the displayed value for your money. I was able to find the value and memory address for the money by Fuzzy Searching for changed values, changing my money, and searching again, until I was down to ten results. I changed each one and one of them changed my displayed money value! The game crashed immediately afterwards, however, and my money reverted back to its original value upon rebooting the game. The value stored in memory for my money was over 1.7 billion, while the displayed value for my money was just 6115. This was puzzling at first, but after looking at the numbers in binary, it appeared that the first six or so bits for the 1.7 billion number were the same as the 6115 number in binary. When I looked back in the address I originally found the 1.7 billion number, however, it wasn't there, and no search results came up for that number. It also looked like I might have analyzed the binary wrong because it wasn't consistant. So I'm lost, I don't know what to do, but I'd really appreciate some help.
Comments:
***I was able to hack the XP value after a lot of trial and error. If someone wants to know how, I'll explain it. I'm gonna try for Catfood soon.***
Here's information I've found, there were 3 values that changed directly as a result of modifying my XP. The displayed XP value was NOT the value the game had stored. I converted the numbers to binary and I'm trying to figure out a connection. I was thinking the first x bits of the stored value would contain the binary of the displayed value, but that doesn't seem to be the case. If anyone can figure something out, that'd be great.
displayed xp value: 1622 --> 11001010110
stored value: 1713445053 --> 1100110001000010001 100010111101
stored value: 1713446635 --> 1100110001000010001 111011101011
stored value: 5637632 --> 10101100000011000000000
displayed xp value: 10437 --> 10100011000101
stored value: 1470296174 --> 10101111010001011 11000001101110
stored value: 1470290091 --> 10101111010001011 01100010101011
stored value: 12920832 --> 110001010010100000000000
displayed xp value: 2437 --> 100110000101
stored value: 1159153387 --> 1000101000101110100 011011101011
stored value: 1159155566 --> 1000101000101110100 111101101110
stored value: 8718592 --> 100001010000100100000000
displayed xp value: 11867 --> 10111001011011
stored value: 1993586615 --> 111011011010 0111011011110110111
stored value: 1993678988 --> 111011011010 1010010000010001100
stored value: 5975552 --> 10110110010111000000000