예제 #1
0
        /// <summary>Generates UDID via this algorithm: https://www.theiphonewiki.com/wiki/UDID</summary>
        /// <returns>UDID</returns>
        public static string GenerateUdid()
        {
            var adapters = AdaptersHelper.GetAdapters();

            //TODO: Bluetooth MAC is not available if BlueTooth is disabled.
            //TODO: Here must be prompt to enable BlueTooth for a second to get the MAC

            var btMacTmp = adapters.FirstOrDefault(a => a.Description.Contains("Bluetooth"));
            var wfMacTmp = adapters.FirstOrDefault(a => a.Description.Contains("Wireless"));

            var serial       = SerialGenerator();
            var ecid         = EcidGenerator();
            var bluetoothMac = btMacTmp != null?btMacTmp.Mac.ToLower() : RandomMac().ToLower();

            var wifiMac = wfMacTmp != null?wfMacTmp.Mac.ToLower() : RandomMac().ToLower();

            var toSha1 = $"{serial}{ecid}{bluetoothMac}{wifiMac}";

            using (var sha1 = SHA1.Create())
            {
                var hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(toSha1));
                var sb   = new StringBuilder(hash.Length * 2);

                // can be "x2" if you want lowercase
                foreach (var b in hash)
                {
                    sb.Append(b.ToString("X2"));
                }

                return(sb.ToString());
            }
        }
        public ConnectMainPackage()
        {
            this.InitializeComponent();

            m_DispatcherTimer.Tick    += DispatcherTimerTick;
            m_DispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 10000);

            m_AdapterInfo = AdaptersHelper.GetAdapters();
        }