Exemplo n.º 1
0
 public void SetEncrypted(Decimal encrypted)
 {
     this.inited = true;
     ObscuredDecimal.DecimalLongBytesUnion decimalLongBytesUnion = new ObscuredDecimal.DecimalLongBytesUnion();
     decimalLongBytesUnion.d = encrypted;
     this.hiddenValue        = new byte[16]
     {
         decimalLongBytesUnion.b1,
         decimalLongBytesUnion.b2,
         decimalLongBytesUnion.b3,
         decimalLongBytesUnion.b4,
         decimalLongBytesUnion.b5,
         decimalLongBytesUnion.b6,
         decimalLongBytesUnion.b7,
         decimalLongBytesUnion.b8,
         decimalLongBytesUnion.b9,
         decimalLongBytesUnion.b10,
         decimalLongBytesUnion.b11,
         decimalLongBytesUnion.b12,
         decimalLongBytesUnion.b13,
         decimalLongBytesUnion.b14,
         decimalLongBytesUnion.b15,
         decimalLongBytesUnion.b16
     };
     if (!ObscuredCheatingDetector.IsRunning)
     {
         return;
     }
     this.fakeValue = this.InternalDecrypt();
 }
Exemplo n.º 2
0
        private static byte[] InternalEncrypt(decimal value, long key)
        {
            long num = key;

            if (num == 0L)
            {
                num = ObscuredDecimal.cryptoKey;
            }
            ObscuredDecimal.DecimalLongBytesUnion decimalLongBytesUnion = default(ObscuredDecimal.DecimalLongBytesUnion);
            decimalLongBytesUnion.d   = value;
            decimalLongBytesUnion.l1 ^= num;
            decimalLongBytesUnion.l2 ^= num;
            return(new byte[]
            {
                decimalLongBytesUnion.b1,
                decimalLongBytesUnion.b2,
                decimalLongBytesUnion.b3,
                decimalLongBytesUnion.b4,
                decimalLongBytesUnion.b5,
                decimalLongBytesUnion.b6,
                decimalLongBytesUnion.b7,
                decimalLongBytesUnion.b8,
                decimalLongBytesUnion.b9,
                decimalLongBytesUnion.b10,
                decimalLongBytesUnion.b11,
                decimalLongBytesUnion.b12,
                decimalLongBytesUnion.b13,
                decimalLongBytesUnion.b14,
                decimalLongBytesUnion.b15,
                decimalLongBytesUnion.b16
            });
        }
Exemplo n.º 3
0
 public static Decimal Decrypt(Decimal value, long key)
 {
     ObscuredDecimal.DecimalLongBytesUnion decimalLongBytesUnion = new ObscuredDecimal.DecimalLongBytesUnion();
     decimalLongBytesUnion.d   = value;
     decimalLongBytesUnion.l1 ^= key;
     decimalLongBytesUnion.l2 ^= key;
     return(decimalLongBytesUnion.d);
 }
Exemplo n.º 4
0
 public static decimal Encrypt(decimal value, long key)
 {
     ObscuredDecimal.DecimalLongBytesUnion decimalLongBytesUnion = default(ObscuredDecimal.DecimalLongBytesUnion);
     decimalLongBytesUnion.d   = value;
     decimalLongBytesUnion.l1 ^= key;
     decimalLongBytesUnion.l2 ^= key;
     return(decimalLongBytesUnion.d);
 }
Exemplo n.º 5
0
 public decimal GetEncrypted()
 {
     this.ApplyNewCryptoKey();
     ObscuredDecimal.DecimalLongBytesUnion decimalLongBytesUnion = default(ObscuredDecimal.DecimalLongBytesUnion);
     decimalLongBytesUnion.b1  = this.hiddenValue[0];
     decimalLongBytesUnion.b2  = this.hiddenValue[1];
     decimalLongBytesUnion.b3  = this.hiddenValue[2];
     decimalLongBytesUnion.b4  = this.hiddenValue[3];
     decimalLongBytesUnion.b5  = this.hiddenValue[4];
     decimalLongBytesUnion.b6  = this.hiddenValue[5];
     decimalLongBytesUnion.b7  = this.hiddenValue[6];
     decimalLongBytesUnion.b8  = this.hiddenValue[7];
     decimalLongBytesUnion.b9  = this.hiddenValue[8];
     decimalLongBytesUnion.b10 = this.hiddenValue[9];
     decimalLongBytesUnion.b11 = this.hiddenValue[10];
     decimalLongBytesUnion.b12 = this.hiddenValue[11];
     decimalLongBytesUnion.b13 = this.hiddenValue[12];
     decimalLongBytesUnion.b14 = this.hiddenValue[13];
     decimalLongBytesUnion.b15 = this.hiddenValue[14];
     decimalLongBytesUnion.b16 = this.hiddenValue[15];
     return(decimalLongBytesUnion.d);
 }
Exemplo n.º 6
0
        private Decimal InternalDecrypt()
        {
            if (!this.inited)
            {
                this.currentCryptoKey = ObscuredDecimal.cryptoKey;
                this.hiddenValue      = ObscuredDecimal.InternalEncrypt(new Decimal(0));
                this.fakeValue        = new Decimal(0);
                this.inited           = true;
            }
            ObscuredDecimal.DecimalLongBytesUnion decimalLongBytesUnion = new ObscuredDecimal.DecimalLongBytesUnion();
            decimalLongBytesUnion.b1  = this.hiddenValue[0];
            decimalLongBytesUnion.b2  = this.hiddenValue[1];
            decimalLongBytesUnion.b3  = this.hiddenValue[2];
            decimalLongBytesUnion.b4  = this.hiddenValue[3];
            decimalLongBytesUnion.b5  = this.hiddenValue[4];
            decimalLongBytesUnion.b6  = this.hiddenValue[5];
            decimalLongBytesUnion.b7  = this.hiddenValue[6];
            decimalLongBytesUnion.b8  = this.hiddenValue[7];
            decimalLongBytesUnion.b9  = this.hiddenValue[8];
            decimalLongBytesUnion.b10 = this.hiddenValue[9];
            decimalLongBytesUnion.b11 = this.hiddenValue[10];
            decimalLongBytesUnion.b12 = this.hiddenValue[11];
            decimalLongBytesUnion.b13 = this.hiddenValue[12];
            decimalLongBytesUnion.b14 = this.hiddenValue[13];
            decimalLongBytesUnion.b15 = this.hiddenValue[14];
            decimalLongBytesUnion.b16 = this.hiddenValue[15];
            decimalLongBytesUnion.l1 ^= this.currentCryptoKey;
            decimalLongBytesUnion.l2 ^= this.currentCryptoKey;
            Decimal d = decimalLongBytesUnion.d;

            if (ObscuredCheatingDetector.IsRunning && this.fakeValue != new Decimal(0) && d != this.fakeValue)
            {
                ObscuredCheatingDetector.Instance.OnCheatingDetected();
            }
            return(d);
        }