explaingit

0x1-1/revival

13C++Audience · developerComplexity · 5/5LicenseSetup · hard

TLDR

A hobbyist reverse-engineering project recreating the client tools and server infrastructure for a Turkish online football game shut down in 2018, so it can be played locally again.

Mindmap

mindmap
  root((Revival))
    Client Side
      Themida unpacker
      nProtect bypass
      Custom game injector
    Server Side
      Login server
      Lobby server
      Battle server
      Patch server
    Tech Stack
      C++ client tools
      Go server code
      Network protocol
    Status
      80% complete
      Splash screen reached
      Antichat handshake pending
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run the revived football game server locally to connect a real game client and test the rebuilt network protocol.

USE CASE 2

Study a real-world example of bypassing Themida software protection and nProtect anti-cheat in a reverse-engineering project.

USE CASE 3

Extend the Go server with new game logic or use the network protocol reimplementation as a reference for similar emulator projects.

Tech stack

C++Go

Getting it running

Difficulty · hard Time to first run · 1day+

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.

Use freely for any purpose, including commercial, as long as you keep the copyright notice.

In plain English

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.

Copy-paste prompts

Prompt 1
I want to run the Revival server locally. What Go dependencies do I need and how do I start the login, lobby, and battle servers so they listen for connections?
Prompt 2
The Revival client reaches the splash screen and then stalls waiting for the anti-cheat handshake. What does the C++ code say needs to happen next to get past this step?
Prompt 3
I am studying the Revival project to understand how Themida protection is bypassed. Walk me through what the C++ client tools do step by step to decrypt the game binary and redirect it to the custom server.
Open on GitHub → Explain another repo

← 0x1-1 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.