public static long Encrypt(double value, long key) { ObscuredDouble.DoubleLongBytesUnion doubleLongBytesUnion = default(ObscuredDouble.DoubleLongBytesUnion); doubleLongBytesUnion.d = value; doubleLongBytesUnion.l ^= key; return(doubleLongBytesUnion.l); }
private double InternalDecrypt() { if (!this.inited) { this.currentCryptoKey = ObscuredDouble.cryptoKey; this.hiddenValue = ObscuredDouble.InternalEncrypt(0.0); this.fakeValue = 0.0; this.inited = true; } ObscuredDouble.DoubleLongBytesUnion doubleLongBytesUnion = default(ObscuredDouble.DoubleLongBytesUnion); doubleLongBytesUnion.b1 = this.hiddenValue[0]; doubleLongBytesUnion.b2 = this.hiddenValue[1]; doubleLongBytesUnion.b3 = this.hiddenValue[2]; doubleLongBytesUnion.b4 = this.hiddenValue[3]; doubleLongBytesUnion.b5 = this.hiddenValue[4]; doubleLongBytesUnion.b6 = this.hiddenValue[5]; doubleLongBytesUnion.b7 = this.hiddenValue[6]; doubleLongBytesUnion.b8 = this.hiddenValue[7]; doubleLongBytesUnion.l ^= this.currentCryptoKey; double d = doubleLongBytesUnion.d; if (ObscuredCheatingDetector.IsRunning && this.fakeValue != 0.0 && Math.Abs(d - this.fakeValue) > 1E-06) { ObscuredCheatingDetector.Instance.OnCheatingDetected(); } return(d); }
public long GetEncrypted() { this.ApplyNewCryptoKey(); ObscuredDouble.DoubleLongBytesUnion doubleLongBytesUnion = default(ObscuredDouble.DoubleLongBytesUnion); doubleLongBytesUnion.b1 = this.hiddenValue[0]; doubleLongBytesUnion.b2 = this.hiddenValue[1]; doubleLongBytesUnion.b3 = this.hiddenValue[2]; doubleLongBytesUnion.b4 = this.hiddenValue[3]; doubleLongBytesUnion.b5 = this.hiddenValue[4]; doubleLongBytesUnion.b6 = this.hiddenValue[5]; doubleLongBytesUnion.b7 = this.hiddenValue[6]; doubleLongBytesUnion.b8 = this.hiddenValue[7]; return(doubleLongBytesUnion.l); }
private static byte[] InternalEncrypt(double value, long key) { long num = key; if (num == 0L) { num = ObscuredDouble.cryptoKey; } ObscuredDouble.DoubleLongBytesUnion doubleLongBytesUnion = new ObscuredDouble.DoubleLongBytesUnion(); doubleLongBytesUnion.d = value; doubleLongBytesUnion.l ^= num; return(new byte[8] { doubleLongBytesUnion.b1, doubleLongBytesUnion.b2, doubleLongBytesUnion.b3, doubleLongBytesUnion.b4, doubleLongBytesUnion.b5, doubleLongBytesUnion.b6, doubleLongBytesUnion.b7, doubleLongBytesUnion.b8 }); }
public void SetEncrypted(long encrypted) { this.inited = true; ObscuredDouble.DoubleLongBytesUnion doubleLongBytesUnion = default(ObscuredDouble.DoubleLongBytesUnion); doubleLongBytesUnion.l = encrypted; this.hiddenValue = new byte[] { doubleLongBytesUnion.b1, doubleLongBytesUnion.b2, doubleLongBytesUnion.b3, doubleLongBytesUnion.b4, doubleLongBytesUnion.b5, doubleLongBytesUnion.b6, doubleLongBytesUnion.b7, doubleLongBytesUnion.b8 }; if (ObscuredCheatingDetector.IsRunning) { this.fakeValue = this.InternalDecrypt(); } }
public static double Decrypt(long value, long key) { ObscuredDouble.DoubleLongBytesUnion doubleLongBytesUnion = default(ObscuredDouble.DoubleLongBytesUnion); doubleLongBytesUnion.l = (value ^ key); return(doubleLongBytesUnion.d); }