r/CodingHelp • u/Silver_Act_3742 • 2d ago
[Request Coders] Looking for help /decrypting Assembly-CSharp.dll from a Unity Android game
Hi everyone,
I'm looking for some help from someone experienced with Unity game modding/reverse engineering.
I'm trying to revive a very nostalgic game called Smosh Food Battle by creating a patch so it can work again. The problem I'm stuck on is that the Assembly-CSharp.dll appears to be encrypted, and I'm not sure how to recover the decrypted version from memory.
Right now, Food Battle: The Game gets stuck because when it starts up, it tries to contact Defy Media's login/game servers to check in and since those servers were shut down in 2018, the request never gets a response, so the game just sits on a "servers are down" screen and never lets you into single-player.
The code that makes this server call lives inside Assembly-CSharp.dll, the file that holds all of the game's actual logic, but that file is deliberately encrypted by the developers' anti-tamper system, so nobody can open it up and edit it in its current form that's the wall we've been stuck at.
the fix itself is simple: open the file in a .NET decompiler like dnSpy, find the specific method that calls out to the dead server on startup, and edit it so it just skips that check and proceeds straight into the game instead of waiting on a response that will never come effectively telling the game "assume the server said yes" instead of "wait forever for a server that's gone." Once that edit is made and saved, the patched file gets dropped back into the APK in place of the original, the APK gets re-signed, and it's ready to reinstall
If anyone has experience with this, I'd really appreciate your help. If you're willing to help, I'll explain all the details of what I've tried and what I need to accomplish.
From what I understand, the general setup involves:
- A rooted Android device.
- Running the game until it reaches the main menu (where the DLL may already be loaded/decrypted in memory).
- A Unity Mono dumping tool to dump the loaded
Assembly-CSharp.dllfrom memory. - ADB to copy the dumped file back to a PC.
- dnSpyEx or ILSpy to verify that the dumped DLL opens correctly.
I'd really appreciate any guidance.
Thanks in advance!
