Exemplo n.º 1
0
        private static string EncryptKeyFull()
        {
            string keyDemo = GetKeyValue(path, name);

            if (keyDemo == null)
            {
            }
            Encoding ascii = Encoding.ASCII;
            int      nr;

            // Bejme kriptimin e kohes kur eshte ngarkuar sistemi
            string loadedSystemTime = keyDemo.Substring(keyDemo.Length - 4, 4);

            Byte[] systemTime        = ascii.GetBytes(loadedSystemTime);
            string encodedSystemTime = "";

            foreach (Byte b in systemTime)
            {
                nr = Algebra.GetIndex(Convert.ToChar(b));
                // Bejme kete veprim: ((nr + 15) * 3) - 8
                nr = Algebra.Substract(Algebra.Multiply(Algebra.Sum(nr, 15, 59), 3, 59), 6, 59);
                encodedSystemTime += Algebra.GetChar(nr).ToString();
            }

            // Bejme kriptimin e numrit serial te Windows-it
            string systemSerial = keyDemo.Substring(0, 8);

            Byte[] encodedSystemSerial = ascii.GetBytes(systemSerial);
            string systemSerialEnc     = "";

            foreach (Byte b in encodedSystemSerial)
            {
                nr = Algebra.GetIndex(Convert.ToChar(b));
                // Bejme kete veprim: ((nr - 2) * 10) + 7
                nr = Algebra.Sum(Algebra.Multiply(Algebra.Substract(nr, 2, 59), 10, 59), 7, 59);
                systemSerialEnc += Algebra.GetChar(nr);
            }

            // Bejme kriptimin e ID-se se hardDiskut
            string hardDisk = keyDemo.Substring(8, 8);

            Byte[] encodedHardDiskID = ascii.GetBytes(hardDisk);
            string hardDiskIDEnc     = "";
            int    i = 0;

            foreach (Byte b in encodedHardDiskID)
            {
                nr = Algebra.GetIndex(Convert.ToChar(b));
                // Bejme kete veprim: ((nr + 6) * 7) + ((i * 3) + 3)
                nr = Algebra.Sum(Algebra.Multiply(Algebra.Sum(nr, 6, 59), 7, 59),
                                 Algebra.Sum(Algebra.Multiply(i, 3, 59), 3, 59), 59);
                hardDiskIDEnc += Algebra.GetChar(nr);
                i++;
            }

            // Ne kete pike vendosim te gjitha vlerat e nxjerra nga kriptimi, bashke
            return(systemSerialEnc + hardDiskIDEnc + encodedSystemTime);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Ben deshifrimin e numrit serial qe eshte i ruajtur ne rregjistra nga versioni i plote ne
        /// versionin DEMO
        /// </summary>
        /// <returns>numrin serial te deshifruar</returns>
        private static string DecryptKeyFull(string encrypted)
        {
            try
            {
                string keyFull = GetKeyValue(path, name);
                if (keyFull == null || keyFull == "")
                {
                    StoreKeyToRegistry(name, encrypted);
                    keyFull = encrypted;
                }
                Encoding ascii = Encoding.ASCII;
                int      nr;

                // Bejme deshifrimin e kohes se ngarkimit te sistemit
                string loadedSystemTime = keyFull.Substring(keyFull.Length - 4, 4);
                string systemTimeDec    = "";
                Byte[] systemTime       = ascii.GetBytes(loadedSystemTime);
                foreach (Byte b in systemTime)
                {
                    nr = Algebra.GetIndex(Convert.ToChar(b));
                    // Bejme kete veprim: ((nr + 8) / 3) - 15
                    nr             = Algebra.Substract(Algebra.Divide(Algebra.Sum(nr, 6, 59), 3, 59), 15, 59);
                    systemTimeDec += Algebra.GetChar(nr).ToString();
                }

                // Bejme deshifrimin e numrit serial te sistemit
                string systemSerial        = keyFull.Substring(0, 8);
                string systemSerialDec     = "";
                Byte[] encodedSystemSerial = ascii.GetBytes(systemSerial);
                foreach (Byte b in encodedSystemSerial)
                {
                    nr = Algebra.GetIndex(Convert.ToChar(b));
                    // Bejme kete veprim: ((nr - 7) / 10) + 2
                    nr = Algebra.Sum(Algebra.Divide(Algebra.Substract(nr, 7, 59), 10, 59), 2, 59);
                    systemSerialDec += Algebra.GetChar(nr).ToString();
                }

                // Bejme deshifrimin e numrit serial te hard diskut
                string hardDiskSerial    = keyFull.Substring(8, 8);
                string hardDiskSerialDec = "";
                Byte[] encodedHDSerial   = ascii.GetBytes(hardDiskSerial);
                int    i = 0;
                foreach (Byte b in encodedHDSerial)
                {
                    nr = Algebra.GetIndex(Convert.ToChar(b));
                    // Bejme kete veprim: ((nr - ((i * 3) + 3) / 7) - 6
                    nr = Algebra.Substract(Algebra.Divide(Algebra.Substract(nr,
                                                                            Algebra.Sum(Algebra.Multiply(i, 3, 59), 3, 59), 59), 7, 59), 6, 59);
                    hardDiskSerialDec += Algebra.GetChar(nr).ToString();
                    i++;
                }
                // Tani bashkojme vlerat e gjetura nga deshifrimet e mesiperme dhe e kthejme kete vlere
                return(systemSerialDec + hardDiskSerialDec + systemTimeDec);
            }
            catch (Exception ex)
            {
                return("");
            }
        }