Example #1
0
 public static long Encrypt(double value, long key)
 {
     ObscuredDouble.DoubleLongBytesUnion doubleLongBytesUnion = default(ObscuredDouble.DoubleLongBytesUnion);
     doubleLongBytesUnion.d  = value;
     doubleLongBytesUnion.l ^= key;
     return(doubleLongBytesUnion.l);
 }
Example #2
0
        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);
        }
Example #3
0
 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);
 }
Example #4
0
        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
            });
        }
Example #5
0
 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();
     }
 }
Example #6
0
 public static double Decrypt(long value, long key)
 {
     ObscuredDouble.DoubleLongBytesUnion doubleLongBytesUnion = default(ObscuredDouble.DoubleLongBytesUnion);
     doubleLongBytesUnion.l = (value ^ key);
     return(doubleLongBytesUnion.d);
 }