Sunday 10 May 2020

Struggling with AppGuard

Hey folks, I recently found a game called Final Taptasy, it used to offer online services like PvP and rankings until the developers abandoned it, so it's only playable offline now. Anyways, the in app purchases don't work anymore (not even with lucky patcher), so I decided to mod it myself. The game basically has 3 layers of protection; A decrypted Assembly-CSharp.dll file (doesn't have the MZ header), Code Stage Anti Cheat (which is really easy to bypass once you have access to the Assembly-CSharp.dll file) and AppGuard. The first thing I did was to decrypt the Assembly-CSharp.dll by starting the game, loading up GameGuardian, dumping the memory and using Winhex to extract the .dlls from the .bin files. I was now able to edit the Assembly-CSharp.dll file with dnSpy. The next step for me was to disable the Code Stage Anti Cheat inside of the .dll files, after that I started the modded game to see if it actually launches, and well... There's some kind of an MD5 / SHA1 Integrity check which causes this dialog to pop up. The game closes itself after ~5 seconds afterwards. I checked the .dll files for any "Application.Quit();" functions, deleted them, started the game and the same thing happened again, so I assumed that java / smali is responsible for this. I decompiled the .apk and analyzed the .smali files. I searched and removed the "AlertDialog;->show()V" line so the dialog doesn't pop up anymore, but I still had to find a way to prevent the game from force closing. That's what I found afterwards: So this piece of code gets the process id of the game and then force closes it. At first I thought that this was the function that I was looking for, but the game still continued crashing and I didn't know why. After further investigation I found the "appguard" folder inside of the smali directory, and I have absolutely no idea what that code does since it has been obfuscated to make it harder to read (which makes sense for a security oriented tool). I used Android Studio to debug the game and logcat to get information about the force close, but that also didn't help me. So in conclusion: The game that I want to mod doesn't run because of an md5 / sha1 check, and I wasn't able to locate the function where the game force closes. What would you guys do in my situation? I can provide additional information if necessary. Cheers.

from iOSGods RSS Feed https://ift.tt/2LghaY6

No comments:

Post a Comment