Run the revived football game server locally to connect a real game client and test the rebuilt network protocol.
Study a real-world example of bypassing Themida software protection and nProtect anti-cheat in a reverse-engineering project.
Extend the Go server with new game logic or use the network protocol reimplementation as a reference for similar emulator projects.
Requires the original game files (not included), a C++ toolchain, Go, and deep familiarity with reverse engineering, the client and server are not yet fully connected.
Revival is a hobbyist reverse-engineering project aimed at bringing back an online football game that was shut down in Turkey in 2018. The game was originally made by a studio called Anipark and was published locally by Joygame. When the servers went offline, the game became unplayable. This project attempts to recreate both the client-side launcher and the original server infrastructure from scratch, so that people can play again on a local setup. The codebase splits into two major sections. The client side is written in C++ and contains a tool chain that works around two layers of protection the original game used: Themida (a software packer that obscures the game's code) and nProtect (an anti-cheat system). The tools handle decrypting the game's encrypted data files and injecting a custom helper into the running game process so it can connect to the rebuilt server instead of the original one. The server side is written entirely in Go and re-implements the network servers the game originally needed. This includes a login server, a lobby server where players could browse and join rooms, a battle server that handles matches and relays data, and a patch server that the game's launcher would contact for updates. The project also re-implements a web page the original launcher would load, and a stub for the authentication system the game used. As of the most recent update, both sides are roughly 80 percent complete. The client can bypass the Themida layer and show the game's splash screen, but gets stuck waiting for the anti-cheat handshake. The server has the core networking skeleton working with a test client, but has not yet been tested with the real game client because the client has not progressed past the splash screen. The two halves need to talk to each other to get unstuck. The project is described as academic and hobby work. No original game files or server code are included, only the reverse-engineering tools and the from-scratch server emulator. It is released under the MIT license.
← 0x1-1 on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.