Anti-Cheat Toolkit
2024.0.0
Multi-purpose anti-cheat solution for Unity Engine
|
Inherits IEquatable< ObscuredString >, IEquatable< string >, IComparable< ObscuredString >, IComparable< string >, IComparable, and IObscuredType.
Public Member Functions | |
string | Substring (int startIndex) |
string | Substring (int startIndex, int length) |
bool | StartsWith (string value, StringComparison comparisonType=StringComparison.CurrentCulture) |
bool | EndsWith (string value, StringComparison comparisonType=StringComparison.CurrentCulture) |
char[] | GetEncrypted (out char[] key) |
void | SetEncrypted (char[] encrypted, char[] key) |
void | SetEncrypted (string encrypted, string key) |
string | GetDecrypted () |
char[] | GetDecryptedToChars () |
void | RandomizeCryptoKey () |
Static Public Member Functions | |
static bool | operator== (ObscuredString a, ObscuredString b) |
static bool | operator!= (ObscuredString a, ObscuredString b) |
static char[] | Encrypt (string value, string key) |
static char[] | Encrypt (string value, char[] key) |
static char[] | Encrypt (char[] value, char[] key) |
static string | Decrypt (char[] value, string key) |
static string | Decrypt (char[] value, char[] key) |
static ObscuredString | FromEncrypted (char[] encrypted, char[] key) |
static ObscuredString | FromEncrypted (string encrypted, string key="4441") |
static char[] | GenerateKey () |
static void | GenerateKey (ref char[] arrayToFill) |
Properties | |
char | this[int index] [get] |
Use it instead of regular string
for any cheating-sensitive variables.
Regular type is faster and memory wiser comparing to the obscured one!
Feel free to use regular types for all short-term operations and calculations while keeping obscured type only at the long-term declaration (i.e. class field).
|
inlinestatic |
Determines whether two specified ObscuredStrings have the same value.
a | An ObscuredString or null. |
b | An ObscuredString or null. |
|
inlinestatic |
Determines whether two specified ObscuredStrings have different values.
a | An ObscuredString or null. |
b | An ObscuredString or null. |
|
inline |
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.
|
inline |
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.
|
inline |
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.
|
inline |
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.
|
inlinestatic |
Encrypts passed value using passed key.
Key can be generated automatically using GenerateKey().
|
inlinestatic |
Encrypts passed value using passed key.
Key can be generated automatically using GenerateKey().
|
inlinestatic |
Encrypts passed value using passed key.
Key can be generated automatically using GenerateKey().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Creates and fills obscured variable with raw encrypted value previously got from GetEncrypted().
Literally does same job as SetEncrypted() but makes new instance instead of filling existing one, making it easier to initialize new variables from saved encrypted values.
encrypted | Raw encrypted value you got from GetEncrypted(). |
key | Encryption key you've got from GetEncrypted(). |
|
inlinestatic |
Use this only to decrypt data encrypted with previous ACTk versions.
Please use FromEncrypted(char[], char[]) in other cases.
|
inlinestatic |
|
inlinestatic |
Generates random key. Used internally and can be used to generate key for manual Encrypt() calls.
arrayToFill | Preallocated char array. Only first 7 bytes are filled. |
|
inline |
Allows to pick current obscured value as is.
key | Encryption key needed to decrypt returned value. |
Use it in conjunction with SetEncrypted().
Useful for saving data in obscured state.
|
inline |
Allows to explicitly set current obscured value. Crypto key should be same as when encrypted value was got with GetEncrypted().
Use it in conjunction with GetEncrypted().
Useful for loading data stored in obscured state.
|
inline |
Use this only to decrypt data encrypted with previous ACTk versions.
Please use SetEncrypted(char[], char[]) in other cases.
|
inline |
Alternative to the type cast, use if you wish to get decrypted value but can't or don't want to use cast to the regular type.
|
inline |
GC-friendly alternative to the type cast, use if you wish to get decrypted value but can't or don't want to use cast to the regular type.
|
inline |
Allows to change current crypto key to the new random value and re-encrypt variable using it. Use it for extra protection against 'unknown value' search. Just call it sometimes when your variable doesn't change to fool the cheater.
WARNING: produces some GC allocations, be careful when using it!
Implements IObscuredType.
|
get |
Proxy to the String API. Please consider avoiding using this in a hot path since it invokes decryption on every access call.