public static string AppIDFromURL(string url) { string str1 = ""; if (AppURLToAppID.urlCache == null) { try { string input = System.IO.File.ReadAllText(LocalConfig.getCurrentConfig().configDirectory() + "\\url.list"); AppURLToAppID.urlCache = AppURLToAppID.jss.Deserialize <Dictionary <string, object> >(input); } catch { } if (AppURLToAppID.urlCache == null) { AppURLToAppID.urlCache = new Dictionary <string, object>(); } } if (AppURLToAppID.urlCache.ContainsKey(url)) { return(AppURLToAppID.urlCache[url].ToString()); } try { string input = (string)null; using (HttpWebResponse response = (HttpWebResponse)WebRequest.Create("http://itunes.apple.com/lookup?id=" + AppURLToAppID.storeIDFromURL(url)).GetResponse()) { using (Stream responseStream = response.GetResponseStream()) { using (StreamReader streamReader = new StreamReader(responseStream)) input = streamReader.ReadToEnd(); } } if (input != null) { string str2 = ((Dictionary <string, object>)((ArrayList)AppURLToAppID.jss.Deserialize <Dictionary <string, object> >(input)["results"])[0])["bundleId"].ToString(); AppURLToAppID.urlCache[url] = (object)str2; System.IO.File.WriteAllText(LocalConfig.getCurrentConfig().configDirectory() + "\\url.list", AppURLToAppID.jss.Serialize((object)AppURLToAppID.urlCache)); str1 = str2; } } catch { str1 = ""; } return(str1); }
public void execute(out bool end, int countrun, bool setRRS) { if (this.type == Operation.OperationType.Script2Operation) { if (File.Exists(LocalConfig.getCurrentConfig().configDirectory() + "/Scripts/" + this.appScriptOperationAppName.Replace(Operation.CurrentAppName, Operation.__g_var_appName))) { string str = File.ReadAllText(LocalConfig.getCurrentConfig().configDirectory() + "/Scripts/" + this.appScriptOperationAppName.Replace(Operation.CurrentAppName, Operation.__g_var_appName)); if (str != null) { this.scripts = GlobalConfig.splitToLines(str); } } else { Operation.__g_var_appId = frmMain.Appid; Operation.__g_var_appName = frmMain.AppnameDefault; if (File.Exists(LocalConfig.getCurrentConfig().configDirectory() + "/Scripts/" + this.appScriptOperationAppName.Replace(Operation.CurrentAppName, Operation.__g_var_appName))) { string str = File.ReadAllText(LocalConfig.getCurrentConfig().configDirectory() + "/Scripts/" + this.appScriptOperationAppName.Replace(Operation.CurrentAppName, Operation.__g_var_appName)); if (str != null) { this.scripts = GlobalConfig.splitToLines(str); } } } bool result1 = false; end = false; frmMain.BoolstartTimer1 = true; for (int index = 0; index < this.scripts.Length; ++index) { this.CheckConnectDevice(); if (AutoLeadClient.send(Operation.jss.Serialize((object)new Dictionary <string, object>() { ["cmd"] = (object)"topmostappsystem" })) && AutoLeadClient.receive().IndexOf(Operation.idapp_open) < 0) { string script1Line = "open_app(" + Operation.idapp_open + ")"; try { bool result2; ScriptsCore.executeScript(script1Line, out result2); } catch { } } string script1Line1 = this.scripts[index].Replace(Operation.CurrentAppName, Operation.__g_var_appName).Replace(Operation.CurrentAppId, Operation.__g_var_appId); if (script1Line1 != null && script1Line1 != "") { frmMain.sttScript2 = script1Line1; if (script1Line1 == "capcharAli") { frmMain.FindAli(); script1Line1 = "text(\"" + Capchar.Getcapchar() + "\")"; } if (script1Line1 == "downChMavrochain") { frmMain.FindMavrochain(); script1Line1 = ""; } if (script1Line1 == "capcharMavrochain") { script1Line1 = "rd(\"" + Capchar.Getcapchar() + "\")"; } this.CheckConnectDevice(); ScriptsCore.executeScript(script1Line1, out result1, this); } } frmMain.BoolstartTimer1 = false; } else if (this.type == Operation.OperationType.ScriptOperation && this._description.IndexOf("Script RRS") >= 0) { bool result1 = false; end = false; frmMain.BoolstartTimer1 = true; for (int index = 0; index < this.scripts.Length; ++index) { this.CheckConnectDevice(); if (AutoLeadClient.send(Operation.jss.Serialize((object)new Dictionary <string, object>() { ["cmd"] = (object)"topmostappsystem" })) && AutoLeadClient.receive().IndexOf(frmMain.idappRRS) < 0) { string script1Line = "open_app(" + frmMain.idappRRS + ")"; try { bool result2; ScriptsCore.executeScript(script1Line, out result2); } catch { } } string script1Line1 = this.scripts[index].Replace(Operation.CurrentAppName, Operation.__g_var_appName).Replace(Operation.CurrentAppId, Operation.__g_var_appId); if (script1Line1 != null && script1Line1 != "") { frmMain.sttScript2 = script1Line1; this.CheckConnectDevice(); ScriptsCore.executeScript(script1Line1, out result1, this); } } frmMain.BoolstartTimer1 = false; } else if (this.type == Operation.OperationType.WaitForAppStoreOperation) { try { end = false; this.checkASFlag = true; this.checkAS = new Thread(new ThreadStart(this._check_appstore)); this.checkAS.Start(); while (this.timeout > 0) { if (!frmMain.sttconnect) { end = true; break; } Thread.Sleep(1000); if (this.checkASResult != null) { break; } } this.checkASFlag = false; while (this.checkAS.IsAlive) { if (!frmMain.sttconnect) { end = true; break; } Thread.Sleep(1000); } if (this.checkASResult == null) { end = true; } this.checkAS = (Thread)null; } catch (Exception ex) { if (this.checkAS != null && this.checkAS.IsAlive) { this.checkAS.Abort(); } throw ex; } } else if (this.type == Operation.OperationType.OpenDetectedAppOperation) { end = false; if (frmMain.bool_detectapp) { Dictionary <string, object> dictionary = new Dictionary <string, object>(); dictionary["cmd"] = (object)"topmostappsystem"; string url = (string)null; if (AutoLeadClient.send(Operation.jss.Serialize((object)dictionary))) { string input = AutoLeadClient.receive(); this.checkASResult = Operation.jss.Deserialize <Dictionary <string, object> >(input); url = this.checkASResult["url"].ToString(); if (url.Length > 0) { Operation.__g_var_detectedAppId = AppURLToAppID.AppIDFromURL(url); if (Operation.__g_var_detectedAppId.Length <= 0) { Operation.__g_var_detectedAppId = AppURLToAppID.AppIDFromSiteLee(url); } } } if (Operation.__g_var_detectedAppId.Length > 0) { List <Listapp> list = frmMain.ListappInstall.Where <Listapp>((Func <Listapp, bool>)(c => c.app_id == Operation.__g_var_detectedAppId)).ToList <Listapp>(); if (list.Count <Listapp>() > 0) { Operation.nameapp_open = list[0].app_name; if (!frmMain.bool_sml) { if (frmMain.Appid != Operation.__g_var_detectedAppId) { end = true; } else { string script1Line = "open_app(" + Operation.__g_var_detectedAppId + ")"; Operation.idapp_open = Operation.__g_var_detectedAppId; try { bool result; ScriptsCore.executeScript(script1Line, out result); } catch { } } } else { string script1Line = "open_app(" + Operation.__g_var_detectedAppId + ")"; Operation.idapp_open = Operation.__g_var_detectedAppId; try { bool result; ScriptsCore.executeScript(script1Line, out result); } catch { } } } else { end = true; } } else { int num1 = (int)MessageBox.Show(url + " \r\n Nhấn OK để copy link app"); if (!frmMain.bool_sml) { int num2 = (int)MessageBox.Show("App này không nhận dạng được, bỏ chọn phần 'Nhận dạng app'"); } end = true; } } else { Operation.__g_var_detectedAppId = frmMain.Appid; string script1Line = "open_app(" + Operation.__g_var_detectedAppId + ")"; Operation.idapp_open = Operation.__g_var_detectedAppId; Operation.nameapp_open = frmMain.AppnameDefault; try { bool result; ScriptsCore.executeScript(script1Line, out result); } catch { } } } else if (this.type == Operation.OperationType.GetRunningAppOperation) { Operation.__g_var_appId = Operation.idapp_open; Operation.__g_var_appName = Operation.nameapp_open; end = false; } else if (this.type == Operation.OperationType.FakeInfoOperation) { Dictionary <string, object> dictionary; while (true) { end = false; dictionary = new Dictionary <string, object>(); dictionary["cmd"] = (object)"fake_info"; dictionary["listapp_id"] = (object)this.fakeAppId; if (this.fakeSet) { if (Operation.dict.Count <= 0) { Operation.dict = FakeInfoCore.get(); } if (Operation.dict.Count > 0) { if (!Operation.CheckinfoFake(Operation.dict)) { Operation.dict.Clear(); } else { break; } } else { goto label_101; } } else { goto label_101; } } if (frmMain.bool_fakelangnoIP) { Operation.dict["lang"] = (object)Split.tachchuoi(frmMain.langnoIP, "|")[0]; } Operation.dict["setfakegeo"] = !frmMain.bool_fakegeo ? (object)"0" : (object)"1"; Operation.dict["setfakeUa"] = !frmMain.bool_fakeUA ? (object)"0" : (object)"1"; Operation.dict["setfakescreen"] = !frmMain.bool_fakescreen ? (object)"0" : (object)"1"; dictionary["info"] = (object)Operation.dict; label_101: if (!AutoLeadClient.send(Operation.jss.Serialize((object)dictionary))) { return; } string input = AutoLeadClient.receive(); if (Convert.ToInt32(Operation.jss.Deserialize <Dictionary <string, object> >(input)["result"]) != 1) { throw new Exception("ERROR. [" + this.description() + "] return [False]"); } Thread.Sleep(1000); } else if (this.type == Operation.OperationType.SetupProxyOperation) { end = false; try { string[] strArray = GlobalConfig.stringSplit(this.ipWithLocation, ","); if (strArray.Length >= 3) { string country = strArray[1].Trim(); strArray[2].Trim(); if (country.Equals("TAIWAN")) { country = "TAIWAN, PROVINCE OF CHINA"; } if (country.Equals("BOLIVIA")) { country = "BOLIVIA, PLURINATIONAL STATE OF"; } if (country.Equals("IRAN")) { country = "IRAN, ISLAMIC REPUBLIC OF"; } if (country.Equals("IRAN")) { country = "IRAN, ISLAMIC REPUBLIC OF"; } if (country.Equals("KOREA")) { country = "KOREA, REPUBLIC OF"; } if (country.Equals("KOREA")) { country = "KOREA, REPUBLIC OF"; } if (country.Equals("MACEDONIA")) { country = "MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF"; } if (country.Equals("MOLDOVA")) { country = "MOLDOVA, REPUBLIC OF"; } if (country.Equals("PALESTINE")) { country = "PALESTINE, STATE OF"; } string str1 = strArray[0].Trim(); string str2 = this.ipWithLocation.Replace(str1, "").Replace(", " + country, "").Trim(); string region = str2.Length != 0 ? str2.Remove(0, 1).Trim() : (string)null; this.frm.setupProxy(this.tool, str1, country, region, this.previousSshInfo); } } catch (Exception ex) { } if (GlobalConfig.currentPublicIP == null) { throw new Exception("ERROR. Could not execute [" + this.description() + "]"); } } else if (this.type == Operation.OperationType.ChangeIPOperation) { if (!setRRS) { Operation.dict.Clear(); } end = false; try { this.frm.changeIP(); } catch (Exception ex) { } if (GlobalConfig.currentPublicIP == null) { throw new Exception("ERROR. Could not execute [" + this.description() + "]"); } } else if (this.type == Operation.OperationType.AppScriptOperation) { end = false; new Dictionary <string, object>()["cmd"] = (object)"topmostappsystem"; if (!this._isAppRunning(this.appScriptOperationAppName)) { return; } bool result = false; end = false; for (int index = 0; index < this.scripts.Length; ++index) { this.CheckConnectDevice(); string script1Line = this.scripts[index].Replace(Operation.CurrentAppName, Operation.__g_var_appName).Replace(Operation.CurrentAppId, Operation.__g_var_appId); if (this._isAppRunning(this.appScriptOperationAppName)) { if (!ScriptsCore.executeScript(script1Line, out result, this)) { if (!result) { throw new Exception("ERROR. Could not execute [" + this.description() + "]"); } end = true; break; } if (!result) { throw new Exception("ERROR. [" + this.description() + "] return [False]"); } } else { break; } } } else if (this.type == Operation.OperationType.ScriptOperation && this._description.IndexOf("Restore") >= 0) { bool result = false; end = false; for (int index = 0; index < this.scripts.Length; ++index) { string script1Line = this.scripts[index].Replace(Operation.CurrentAppName, Operation.__g_var_appName).Replace(Operation.CurrentAppId, Operation.__g_var_appId).Replace(" ", ""); if (script1Line != null && script1Line != "") { ScriptsCore.executeScript(script1Line, out result, this); frmMain.RestoreRRS(Split.tachchuoi(this.scripts[index].Replace("restore(", "").Replace(",<current_appid>)", ""), ",")[0]); Thread.Sleep(3000); result = true; end = false; } } } else { bool result = false; end = false; for (int index1 = 0; index1 < this.scripts.Length; ++index1) { string script1Line = this.scripts[index1].Replace(Operation.CurrentAppName, Operation.__g_var_appName).Replace(Operation.CurrentAppId, Operation.__g_var_appId); if (script1Line == "exit()") { script1Line = ""; Operation.__g_var_appName = ""; Operation.__g_var_appId = ""; } if (script1Line == "downChMavrochain") { frmMain.FindMavrochain(); script1Line = ""; } if (script1Line == "capcharMavrochain") { script1Line = "rd(\"" + Capchar.Getcapchar() + "\")"; } if (script1Line != null && script1Line != "") { if (script1Line.IndexOf("backup") >= 0) { if (script1Line.IndexOf("backuprrs") >= 0) { string str1 = script1Line.Replace("backuprrs", "backup").Replace(" ", ""); string str2 = Split.tachchuoi(str1, ",")[0].Replace("backup(", ""); frmMain.WipeOlRRSlee(str2); ScriptsCore.executeScript(str1, out result, this); frmMain.BKRRS(str2, true); result = true; end = false; break; } for (int index2 = 0; index2 < frmMain.ListVitriBk.Count; ++index2) { if (frmMain.ListVitriBk[index2].vitri == countrun) { string str = script1Line.Replace(" ", ""); ScriptsCore.executeScript(str, out result, this); frmMain.BKRRS(Split.tachchuoi(str, ",")[0].Replace("backup(", ""), false); frmMain.UpRRSFtp(); result = true; end = false; break; } } result = true; end = false; } else if (!ScriptsCore.executeScript(script1Line, out result, this)) { if (!result) { throw new Exception("ERROR. Could not execute [" + this.description() + "]"); } end = true; break; } if (!result) { throw new Exception("ERROR. [" + this.description() + "] return [False]"); } } } } }