Example #1
0
        public static int Download(
            string path,
            string file,
            string version,
            string region,
            string model_type,
            string saveTo,
            string size,
            bool GUI = true)
        {
            int nonce = Web.GenerateNonce();

            if (nonce != 200)
            {
                Logger.WriteLog("Error: Could not generate Nonce. Status code " + (object)nonce, false);
                return(-1);
            }
            string xmlresponse;
            int    htmlstatus = Web.DownloadBinaryInit(Xml.GetXmlBinaryInit(file, version, region, model_type), out xmlresponse);

            if (htmlstatus == 200 && Utility.GetXMLStatusCode(xmlresponse) == 200)
            {
                return(Web.DownloadBinary(path, file, saveTo, size, GUI));
            }
            Logger.WriteLog("Error: Could not send BinaryInform. Status code " + (object)htmlstatus + "/" + (object)Utility.GetXMLStatusCode(xmlresponse), false);
            Utility.CheckHTMLXMLStatus(htmlstatus, Utility.GetXMLStatusCode(xmlresponse));
            return(-1);
        }
        public static int Download(string path, string file, string version, string region, string model_type, string saveTo, string size)
        {
            int htmlstatus = Web.GenerateNonce();

            if (htmlstatus != 200)
            {
                Logger.WriteLine("Error Download(): Could not generate Nonce. Status code (" + htmlstatus + ")");
                return(-1);
            }
            htmlstatus = Web.DownloadBinaryInit(Xml.GetXmlBinaryInit(file, version, region, model_type), out string str);
            if ((htmlstatus != 200) || (Utility.GetXmlStatusCode(str) != 200))
            {
                Logger.WriteLine("Error Download(): Could not send BinaryInform. Status code (" + htmlstatus + "/" + Utility.GetXmlStatusCode(str) + ")");
                Utility.CheckHtmlXmlStatus(htmlstatus, Utility.GetXmlStatusCode(str));
                return(-1);
            }
            return(Web.DownloadBinary(path, file, saveTo, size));
        }
Example #3
0
        public static int Download(string path, string file, string version, string region, string model_type, string saveTo, string size, bool GUI = true)
        {
            string str;
            int    htmlstatus = Web.GenerateNonce();

            if (htmlstatus != 200)
            {
                Logger.WriteLog("Error: Could not generate Nonce. Status code " + htmlstatus, false);
                return(-1);
            }
            htmlstatus = Web.DownloadBinaryInit(Xml.GetXmlBinaryInit(file, version, region, model_type), out str);
            if ((htmlstatus == 200) && (Utility.GetXMLStatusCode(str) == 200))
            {
                return(Web.DownloadBinary(path, file, saveTo, size, GUI));
            }
            Logger.WriteLog(string.Concat(new object[] { "Error: Could not send BinaryInform. Status code ", htmlstatus, "/", Utility.GetXMLStatusCode(str) }), false);
            Utility.CheckHTMLXMLStatus(htmlstatus, Utility.GetXMLStatusCode(str));
            return(-1);
        }
Example #4
0
        public static Command.Firmware UpdateCheck(
            string model,
            string region,
            string pda,
            string csc,
            string phone,
            string data,
            bool BinaryNature,
            bool AutoFetch = false)
        {
            Command.Firmware firmware = new Command.Firmware();
            Logger.WriteLog("Checking firmware for " + model + "/" + region + "/" + pda + "/" + csc + "/" + phone + "/" + data, false);
            int nonce = Web.GenerateNonce();

            if (nonce != 200)
            {
                Logger.WriteLog("Error: Could not generate Nonce. Status code " + (object)nonce, false);
                firmware.ConnectionError = true;
                return(firmware);
            }
            string xmlresponse;
            int    htmlstatus = Web.DownloadBinaryInform(Xml.GetXmlBinaryInform(model, region, pda, csc, phone, data, BinaryNature), out xmlresponse);

            if (htmlstatus != 200 || Utility.GetXMLStatusCode(xmlresponse) != 200)
            {
                Logger.WriteLog("Error: Could not send BinaryInform. Status code " + (object)htmlstatus + "/" + (object)Utility.GetXMLStatusCode(xmlresponse), false);
                Utility.CheckHTMLXMLStatus(htmlstatus, Utility.GetXMLStatusCode(xmlresponse));
                return(firmware);
            }
            firmware.Version      = Xml.GetXMLValue(xmlresponse, "FUSBody/Results/LATEST_FW_VERSION/Data", (string)null, (string)null);
            firmware.Model        = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/DEVICE_MODEL_NAME/Data", (string)null, (string)null);
            firmware.DisplayName  = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/DEVICE_MODEL_DISPLAYNAME/Data", (string)null, (string)null);
            firmware.OS           = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/LATEST_OS_VERSION/Data", (string)null, (string)null);
            firmware.LastModified = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/LAST_MODIFIED/Data", (string)null, (string)null);
            firmware.Filename     = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/BINARY_NAME/Data", (string)null, (string)null);
            firmware.Size         = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/BINARY_BYTE_SIZE/Data", (string)null, (string)null);
            string xmlValue = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/BINARY_CRC/Data", (string)null, (string)null);

            if (!string.IsNullOrEmpty(xmlValue))
            {
                firmware.CRC = ((IEnumerable <byte>)BitConverter.GetBytes(Convert.ToUInt32(xmlValue))).Reverse <byte>().ToArray <byte>();
            }
            firmware.Model_Type   = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/DEVICE_MODEL_TYPE/Data", (string)null, (string)null);
            firmware.Path         = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/MODEL_PATH/Data", (string)null, (string)null);
            firmware.Region       = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/DEVICE_LOCAL_CODE/Data", (string)null, (string)null);
            firmware.BinaryNature = int.Parse(Xml.GetXMLValue(xmlresponse, "FUSBody/Put/BINARY_NATURE/Data", (string)null, (string)null));
            if (Xml.GetXMLValue(xmlresponse, "FUSBody/Put/LOGIC_OPTION_FACTORY/Data", (string)null, (string)null) == "1")
            {
                firmware.LogicValueFactory = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/LOGIC_VALUE_FACTORY/Data", (string)null, (string)null);
            }
            if (Xml.GetXMLValue(xmlresponse, "FUSBody/Put/LOGIC_OPTION_HOME/Data", (string)null, (string)null) == "1")
            {
                firmware.LogicValueHome = Xml.GetXMLValue(xmlresponse, "FUSBody/Put/LOGIC_VALUE_HOME/Data", (string)null, (string)null);
            }
            if (!AutoFetch)
            {
                if (pda + "/" + csc + "/" + phone + "/" + pda == firmware.Version)
                {
                    Logger.WriteLog("\nCurrent firmware is latest:", false);
                }
                else
                {
                    Logger.WriteLog("\nNewer firmware available:", false);
                }
            }
            Logger.WriteLog("Model: " + firmware.Model, false);
            Logger.WriteLog("Version: " + firmware.Version, false);
            Logger.WriteLog("OS: " + firmware.OS, false);
            Logger.WriteLog("Filename: " + firmware.Filename, false);
            Logger.WriteLog("Size: " + firmware.Size + " bytes", false);
            if (firmware.BinaryNature == 1 && !string.IsNullOrEmpty(firmware.LogicValueFactory))
            {
                Logger.WriteLog("LogicValue: " + firmware.LogicValueFactory, false);
            }
            else if (!string.IsNullOrEmpty(firmware.LogicValueHome))
            {
                Logger.WriteLog("LogicValue: " + firmware.LogicValueHome, false);
            }
            Logger.WriteLog("\n", false);
            return(firmware);
        }
        public static Firmware UpdateCheck(string model, string region, string pda, string csc, string phone, string data, bool BinaryNature, bool AutoFetch = false)
        {
            string   str;
            Firmware firmware = new Firmware();

            Logger.WriteLine("Checking firmware for " + model + "/" + region + "/" + pda + "/" + csc + "/" + phone + "/" + data);
            int htmlstatus = Web.GenerateNonce();

            if (htmlstatus != 200)
            {
                Logger.WriteLine("Error UpdateCheck(): Could not generate Nonce. Status code (" + htmlstatus + ")");
                firmware.ConnectionError = true;
                return(firmware);
            }
            htmlstatus = Web.DownloadBinaryInform(Xml.GetXmlBinaryInform(model, region, pda, csc, phone, data, BinaryNature), out str);
            if ((htmlstatus != 200) || (Utility.GetXmlStatusCode(str) != 200))
            {
                Logger.WriteLine("Error UpdateCheck(): Could not send BinaryInform. Status code (" + htmlstatus + "/" + Utility.GetXmlStatusCode(str) + ")");
                Utility.CheckHtmlXmlStatus(htmlstatus, Utility.GetXmlStatusCode(str));
                return(firmware);
            }
            firmware.Version      = Xml.GetXMLValue(str, "FUSBody/Results/LATEST_FW_VERSION/Data", null, null);
            firmware.Model        = Xml.GetXMLValue(str, "FUSBody/Put/DEVICE_MODEL_NAME/Data", null, null);
            firmware.DisplayName  = Xml.GetXMLValue(str, "FUSBody/Put/DEVICE_MODEL_DISPLAYNAME/Data", null, null);
            firmware.OS           = Xml.GetXMLValue(str, "FUSBody/Put/LATEST_OS_VERSION/Data", null, null);
            firmware.LastModified = Xml.GetXMLValue(str, "FUSBody/Put/LAST_MODIFIED/Data", null, null);
            firmware.Filename     = Xml.GetXMLValue(str, "FUSBody/Put/BINARY_NAME/Data", null, null);
            firmware.Size         = Xml.GetXMLValue(str, "FUSBody/Put/BINARY_BYTE_SIZE/Data", null, null);
            string str3 = Xml.GetXMLValue(str, "FUSBody/Put/BINARY_CRC/Data", null, null);

            if (!string.IsNullOrEmpty(str3))
            {
                firmware.CRC = BitConverter.GetBytes(Convert.ToUInt32(str3)).Reverse <byte>().ToArray <byte>();
            }
            firmware.Model_Type   = Xml.GetXMLValue(str, "FUSBody/Put/DEVICE_MODEL_TYPE/Data", null, null);
            firmware.Path         = Xml.GetXMLValue(str, "FUSBody/Put/MODEL_PATH/Data", null, null);
            firmware.Region       = Xml.GetXMLValue(str, "FUSBody/Put/DEVICE_LOCAL_CODE/Data", null, null);
            firmware.BinaryNature = int.Parse(Xml.GetXMLValue(str, "FUSBody/Put/BINARY_NATURE/Data", null, null));
            if (Xml.GetXMLValue(str, "FUSBody/Put/LOGIC_OPTION_FACTORY/Data", null, null) == "1")
            {
                firmware.LogicValueFactory = Xml.GetXMLValue(str, "FUSBody/Put/LOGIC_VALUE_FACTORY/Data", null, null);
            }
            if (Xml.GetXMLValue(str, "FUSBody/Put/LOGIC_OPTION_HOME/Data", null, null) == "1")
            {
                firmware.LogicValueHome = Xml.GetXMLValue(str, "FUSBody/Put/LOGIC_VALUE_HOME/Data", null, null);
            }
            if (!AutoFetch)
            {
                if ((pda + "/" + csc + "/" + phone + "/" + pda) == firmware.Version)
                {
                    Logger.WriteLine("\nCurrent firmware is latest:");
                }
                else
                {
                    Logger.WriteLine("\nNewer firmware available:");
                }
            }
            Logger.WriteLine("Model: " + firmware.Model);
            Logger.WriteLine("Version: " + firmware.Version);
            Logger.WriteLine("OS: " + firmware.OS);
            Logger.WriteLine("Filename: " + firmware.Filename);
            Logger.WriteLine("Size: " + firmware.Size + " bytes");
            if ((firmware.BinaryNature == 1) && !string.IsNullOrEmpty(firmware.LogicValueFactory))
            {
                Logger.WriteLine("LogicValue: " + firmware.LogicValueFactory);
            }
            else if (!string.IsNullOrEmpty(firmware.LogicValueHome))
            {
                Logger.WriteLine("LogicValue: " + firmware.LogicValueHome);
            }
            return(firmware);
        }