Codestage Anticheat's Encrypted Values
Added 2023-03-30 02:32:15 +0000 UTCSome Unity games use encrypted variables to hide sensitive values and hinder analysis. Today, we will look at how to decrypt CodeStage encrypted values in order to read or write to them without triggering the anticheat. So let's get into it.
What is CodeStage Anticheat?
CodeStage Anticheat is a software tool designed to prevent cheating in online games. It's designed specifically for Unity. It works by monitoring the game process and detecting any attempts by players to cheat, such as using aimbots, wallhacks, or other hacks. It implements classes called obscured types to encrypt sensitive values in the game. It has some detections even for modifications to those values. You can read about Obscured Types in their official documentation.
What are Codestage Encrypted Values?
Codestage encrypted values are an abstraction in the form of a class that Codestage implements to encrypt variables and make modification more difficult. There are many different kinds of encrypted types. You can find them inside of the CodeStage.AntiCheat.ObscuredTypes namespace. Although they are different classes, the encryption routines for the values are almost identical, and only a few instructions change.