예제 #1
0
        public void GetSerHardDisk()
        {
            try
            {
                string strpath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath(""), "FoxSecLicense.ini");

                string                   serial     = "";
                List <string>            list       = new List <string>();
                string                   model      = "";
                ManagementObjectSearcher moSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
                long totalSize = 0;
                foreach (ManagementObject wmi_HD in moSearcher.Get())
                {
                    if (wmi_HD.Properties["InterfaceType"].Value.ToString() != "USB")
                    {
                        model = wmi_HD["Model"].ToString();  //Model Number
                        try
                        {
                            serial = wmi_HD.GetPropertyValue("SerialNumber").ToString();
                        }
                        catch
                        {
                            serial = CheckLicense.identifier("Win32_NetworkAdapterConfiguration", "MacAddress");
                        }
                        totalSize += Convert.ToInt64(wmi_HD.Properties["Size"].Value.ToString());
                    }
                }

                byte[] ba  = System.Text.Encoding.ASCII.GetBytes(model);
                string ba0 = ba[0].ToString();
                string ba1 = ba[1].ToString();
                string ba2 = ba[2].ToString();

                long   intba0    = Convert.ToInt64(ba0) % 10;
                long   intba1    = Convert.ToInt64(ba1) % 10;
                long   intba2    = Convert.ToInt64(ba2) % 10;
                string intstrba0 = intba0.ToString();
                string intstrba1 = intba1.ToString();
                string intstrba2 = intba2.ToString();

                list.Add(intstrba0);
                list.Add(intstrba1);
                list.Add(intstrba2);

                string name = CheckLicense.identifier("Win32_LogicalDisk", "Name");

                //string Size = identifier("Win32_DiskDrive", "Size");
                string Size = Convert.ToString(totalSize);
                list.Add(Size.Substring(0, 5)); //Jelena Ver67

                // string serial = identifier("Win32_DiskDrive", "SerialNumber");
                String numint = serial.Substring(0, 6); //Jelena Ver67

                byte[] baser  = System.Text.Encoding.ASCII.GetBytes(serial);
                string baser0 = baser[0].ToString();
                string baser1 = baser[1].ToString();
                string baser2 = baser[2].ToString();
                string baser3 = baser[3].ToString();
                string baser4 = baser[4].ToString();
                string baser5 = baser[5].ToString();
                string baser6 = baser[6].ToString();
                // string baser7 = baser[7].ToString();     //Jelena Ver67

                int intbaser0  = Convert.ToInt32(baser0) % 10;
                int intbaser1  = Convert.ToInt32(baser1) % 10;
                int intibaser2 = Convert.ToInt32(baser2) % 10;
                int intbaser3  = Convert.ToInt32(baser3) % 10;
                int intbaser4  = Convert.ToInt32(baser4) % 10;
                int intibaser5 = Convert.ToInt32(baser5) % 10;
                int intbaser6  = Convert.ToInt32(baser6) % 10;
                //int intbaser7 = Convert.ToInt32(baser7) % 10;  //Jelena Ver67

                string intser0 = intbaser0.ToString();
                string intser1 = intbaser1.ToString();
                string intser2 = intibaser2.ToString();
                string intser3 = intbaser3.ToString();
                string intser4 = intbaser4.ToString();
                string intser5 = intibaser5.ToString();
                string intser6 = intbaser6.ToString();
                // string intser7 = intbaser7.ToString();    //Jelena Ver67

                string str     = "h";
                string hardser = CheckLicense.Encrypt(str, true);

                list.Add(intser0);
                list.Add(intser1);
                list.Add(intser2);
                list.Add(intser3);
                list.Add(intser4);
                list.Add(intser5);
                list.Add(intser6);

                list.Add(hardser);
                // list.Add(intser7);   //Jelena Ver67

                StringBuilder builder = new StringBuilder();
                foreach (string cat in list)        // Loop through all strings
                {
                    builder.Append(cat).Append(""); // Append string to StringBuilder
                }
                string result = builder.ToString();
                harddeviceID = result;
                if (File.Exists(strpath))
                {
                    string compuniqnumber = CheckLicense.ReadCompNr(strpath);
                    if (harddeviceID == compuniqnumber)
                    {
                        licenseFilePath = strpath;
                        hardlicstatus   = "1";
                    }
                }
            }
            catch { }
        }
예제 #2
0
        public void GetSerFlashDisk()
        {
            string        diskName   = string.Empty;
            string        testser    = string.Empty;
            var           numint     = string.Empty;
            StringBuilder volumename = new StringBuilder(256);

            try
            {
                foreach (ManagementObject drive in new ManagementObjectSearcher("select * from Win32_DiskDrive where InterfaceType='USB'").Get())
                {
                    foreach (System.Management.ManagementObject partition in new System.Management.ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" + drive["DeviceID"] + "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition").Get())
                    {
                        foreach (System.Management.ManagementObject disk in new System.Management.ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" + partition["DeviceID"] + "'} WHERE AssocClass = Win32_LogicalDiskToPartition").Get())
                        {
                            diskName = disk["Name"].ToString().Trim();
                            testser  = disk["VolumeSerialNumber"].ToString().Trim();
                            numint   = Convert.ToInt64(testser, 16).ToString();
                        }
                        flashexist      = "1";
                        flashdrive      = diskName;
                        licenseFilePath = Path.Combine(diskName + "//FoxSecLicense.ini");
                        try
                        {
                            File.Copy("FoxSecLicense.ini", licenseFilePath);
                        }
                        catch
                        {
                        }
                        if (partition != null)
                        {
                            // associate partitions with logical disks (drive letter volumes)
                            ManagementObject logical = new ManagementObjectSearcher(String.Format(
                                                                                        "associators of {{Win32_DiskPartition.DeviceID='{0}'}} where AssocClass = Win32_LogicalDiskToPartition",
                                                                                        partition["DeviceID"])).First();

                            if (logical != null)
                            {
                                List <string> list = new List <string>();

                                ManagementObject volume = new ManagementObjectSearcher(String.Format(
                                                                                           "select FreeSpace, Size from Win32_LogicalDisk where Name='{0}'",
                                                                                           logical["Name"])).First();

                                FoxSecLicense.UsbDisk disk = new FoxSecLicense.UsbDisk(logical["Name"].ToString());

                                string pnpdeviceid = CheckLicense.parseSerialFromDeviceID(drive["PNPDeviceID"].ToString().Trim());
                                var    conpnp      = pnpdeviceid.Substring(0, 5);

                                var conpnpn     = CheckLicense.converttoascii(conpnp);
                                var pnpdevidint = Convert.ToUInt64(conpnpn, 16).ToString();

                                list.Add(pnpdevidint.Substring(0, 4));

                                disk.Size = (ulong)volume["Size"];
                                string size = disk.Size.ToString();
                                size = volume["Size"].ToString();
                                list.Add(size.Substring(0, 4));

                                list.Add(numint.Substring(0, 7));

                                string str      = "f";
                                string flashser = CheckLicense.Encrypt(str, true);
                                list.Add(flashser);

                                StringBuilder builder = new StringBuilder();
                                foreach (string cat in list)
                                {
                                    builder.Append(cat).Append("");
                                }
                                string result = builder.ToString();
                                flashdeviceID = result;
                            }
                        }
                        if (File.Exists(licenseFilePath))
                        {
                            string compuniqnumber = CheckLicense.ReadCompNr(licenseFilePath);
                            if (flashdeviceID == compuniqnumber)
                            {
                                flashlicstatus = "1";
                                return;
                            }
                            else
                            {
                                flashdeviceID   = string.Empty;
                                licenseFilePath = string.Empty;
                                flashlicstatus  = string.Empty;
                            }
                        }
                    }
                }
            }
            catch
            {
            }
        }