public List <IJSResult> GetJSResults() { Jurassic.ScriptEngine engine = Debug(); object dbJson = Jurassic.Library.JSONObject.Parse(engine, DatabaseJson); object setJson = Jurassic.Library.JSONObject.Parse(engine, SettingJson); object result = engine.CallGlobalFunction("main", dbJson, setJson); if (result == null || result.GetType() != typeof(Jurassic.Library.ArrayInstance)) { return(null); } List <IJSResult> jsResults = new List <IJSResult>(); Jurassic.Library.ArrayInstance array = (Jurassic.Library.ArrayInstance)result; foreach (Jurassic.Library.ObjectInstance obj in array.ElementValues) { IJSResult r = GetJSResult(obj); if (r != null) { jsResults.Add(r); } } return(jsResults); }
public PapagoSerializedRequest EncodePapagoTranslationRequest(PapagoTranslationRequest translationRequest) { PapagoSerializedRequest reqv = null; if (_IsAvaliable && PapgoEncoderEngine != null) { try { string pageoReqv = PapgoEncoderEngine.CallGlobalFunction <string>("EncodeTransaltionRequest", JsonConvert.SerializeObject(translationRequest)); PapagoEncodedRequest encodedRequestObj = JsonConvert.DeserializeObject <PapagoEncodedRequest>(pageoReqv); string signString = PapagoHmacFin(encodedRequestObj.HmacInput, encodedRequestObj.HmacKey); string authorizationHeader = $"PPG {encodedRequestObj.Guid}:{signString}"; return(new PapagoSerializedRequest() { AuthorizationHeader = authorizationHeader, StringRequest = encodedRequestObj.EncodedTranslationRequest, Timestamp = encodedRequestObj.GuidTime }); } catch (Exception e) { _Logger?.WriteLog(e.ToString()); _IsAvaliable = false; } } return(reqv); }
public string Encode(string sentence, string from, string to, string gtk, string token) { string reqv = string.Empty; if (_IsAvaliable && _BaiduEncoderEngine != null) { try { string sign = _BaiduEncoderEngine.CallGlobalFunction <string>("token", sentence, gtk); BaiduRequest request = new BaiduRequest { from = from, to = to, query = sentence, transtype = "realtime", simple_means_flag = "3", sign = sign, token = token }; reqv = WebApi.GetQueryString(request); } catch (Exception e) { _Logger?.WriteLog(e.ToString()); _IsAvaliable = false; } } return(reqv); }
protected override object InnerCallFunction(string functionName, params object[] args) { int argumentCount = args.Length; var processedArgs = new object[argumentCount]; if (argumentCount > 0) { for (int argumentIndex = 0; argumentIndex < argumentCount; argumentIndex++) { processedArgs[argumentIndex] = MapToJurassicType(args[argumentIndex]); } } object result; lock (_executionSynchronizer) { try { result = _jsEngine.CallGlobalFunction(functionName, processedArgs); } catch (OriginalJsException e) { throw ConvertJavascriptExceptionToJsRuntimeException(e); } catch (NotImplementedException e) { throw new JsRuntimeException(e.Message, e); } } result = MapToHostType(result); return(result); }
protected override object InnerCallFunction(string functionName, params object[] args) { int argumentCount = args.Length; var processedArgs = new object[argumentCount]; if (argumentCount > 0) { for (int argumentIndex = 0; argumentIndex < argumentCount; argumentIndex++) { processedArgs[argumentIndex] = MapToScriptType(args[argumentIndex]); } } object result; lock (_executionSynchronizer) { try { result = _jsEngine.CallGlobalFunction(functionName, processedArgs); } catch (OriginalJavaScriptException e) { throw WrapJavaScriptException(e); } } result = MapToHostType(result); return(result); }
public string Precompile(string template, bool compress) { var compiled = Engine.CallGlobalFunction <string>("precompile", template, false); if (compress) { compiled = Compressor.Compress(compiled); } return(compiled); }
public static string GetHash(string no, string ptwebqq) { var scriptEngine = new Jurassic.ScriptEngine(); scriptEngine.EnableDebugging = true; scriptEngine.SetGlobalValue("window", new WindowObject(scriptEngine)); scriptEngine.ExecuteFile(System.AppDomain.CurrentDomain.BaseDirectory + "hash.js"); var ret = scriptEngine.CallGlobalFunction <string>("friendsHash", no, ptwebqq, 0); return(ret); }
private static string GetTranslate_GoogleTK(string str) { var scriptEngine = new Jurassic.ScriptEngine(); scriptEngine.EnableDebugging = true; scriptEngine.SetGlobalValue("window", new WindowObject(scriptEngine)); scriptEngine.ExecuteFile(System.AppDomain.CurrentDomain.BaseDirectory + "GoogleTK.js"); var TK = scriptEngine.CallGlobalFunction <string>("VL", str); return(TK); }
static void Main(string[] args) { var eng = new Jurassic.ScriptEngine(); eng.Evaluate("function text(){return JSON.stringify( {'a':10,'b':20});}"); var rs = eng.CallGlobalFunction <string>("text"); //var model = Util.SerializerJsonOrEntity.GetObject<model>(rs); //Console.WriteLine(model.a); Console.Read(); }
public string EncodePapagoTranslationRequest(string str) { string reqv = string.Empty; if (_IsAvaliable && PapgoEncoderEngine != null) { try { reqv = PapgoEncoderEngine.CallGlobalFunction <string>("EncodeTransaltionRequest", str); reqv = "data=" + System.Net.WebUtility.UrlEncode(reqv); } catch (Exception e) { _Logger?.WriteLog(e.ToString()); _IsAvaliable = false; } } return(reqv); }
public void EngineTest() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("i", 1); engine.SetGlobalValue("i", 2); Assert.AreEqual(2, engine.GetGlobalValue("i")); engine.SetGlobalFunction("test", new Func<object, object, object, object, string>(Test)); Trace.WriteLine(engine.Evaluate<string>("test(1)")); Trace.WriteLine(engine.CallGlobalFunction<string>("test", new object[] { 1 })); Trace.WriteLine(engine.Array.Call(1, 2, 3).ElementValues.ToList()[2]); }
public void EngineTest() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("i", 1); engine.SetGlobalValue("i", 2); Assert.AreEqual(2, engine.GetGlobalValue("i")); engine.SetGlobalFunction("test", new Func <object, object, object, object, string>(Test)); Trace.WriteLine(engine.Evaluate <string>("test(1)")); Trace.WriteLine(engine.CallGlobalFunction <string>("test", new object[] { 1 })); Trace.WriteLine(engine.Array.Call(1, 2, 3).ElementValues.ToList()[2]); }
public string UseJurassic(List <string> Parameters) { int a; int b; int.TryParse(Parameters[0], out a); int.TryParse(Parameters[1], out b); var engine = new Jurassic.ScriptEngine(); engine.Evaluate("function test(a, b) { return a + b }"); var ret = engine.CallGlobalFunction <int>("test", a, b); return(ret.ToString()); }
private void list() { try { txtPageNow.Text = pageNow.ToString(); string start = pageNow > 1 ? ((pageNow - 1) * interval).ToString() : "0"; string url = getUrl(curcol, start); string s; using (System.Net.WebClient wc = new System.Net.WebClient()) { Byte[] pageData = wc.DownloadData(url); s = System.Text.Encoding.GetEncoding("GBK").GetString(pageData); //Stream stream = new System.IO.MemoryStream(Encoding.Convert(Encoding.GetEncoding("GBK"), Encoding.UTF8, pageData)); //s = System.Text.Encoding.UTF8.GetString(pageData);去除中文乱码 s += @" function getstring(){ var s=serv_loadColumnNews(); return JSON.stringify(s); } "; var eng = new Jurassic.ScriptEngine(); eng.Evaluate(s); var b = eng.CallGlobalFunction <string>(@"getstring"); m = JsonConvert.DeserializeObject <oainfo>(b); } pagesAll = m.total / interval + (m.total % interval == 0 ? 0 : 1); labPageAll.Text = pagesAll.ToString(); listDoc.Items.Clear(); foreach (var v in m.informations) { ListViewItem lvi = new ListViewItem(); lvi = listDoc.Items.Add(v.id); lvi.SubItems.Add(v.bt); lvi.SubItems.Add(v.time); lvi.SubItems.Add(v.mc); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public string encoding(string sentence, string from, string to, string gtk, string token) { var engine = new Jurassic.ScriptEngine(); engine.ExecuteFile(GlobalSettings.BaiduEncoder); string sign = engine.CallGlobalFunction <string>("token", sentence, gtk); BaiduRequest request = new BaiduRequest { from = from, to = to, query = sentence, transtype = "realtime", simple_means_flag = "3", sign = sign, token = token }; return(URLEncoding.GetQueryString(request)); }
private string Decipher(string id, Dictionary <string, string> CipherDetails) { try { using (WebClient wc = new WebClient()) { wc.Proxy = null; //downloads the whole page string dpage = wc.DownloadString(string.Concat("https://www.youtube.com/watch?v=", id)); //match the player .js file Regex dreg = new Regex(Patterns.JsURL); Match dm = dreg.Match(dpage); string BasePlayer = Regex.Unescape(dm.Groups[1].Value); string djloc = string.Concat("https://youtube.com", BasePlayer); string djs = wc.DownloadString(djloc); //match the descrambling function in the downloaded javascript dreg = new Regex(Patterns.JsFunctionPattern1); //(?:\b|[^a-zA-Z0-9$])(?P<sig>[a-zA-Z0-9$]{2})\s*=\s*function\(\s*a\s*\)\s*{\s*a\s*=\s*a\.split\(\s*\"\"\s*\).*}; dm = dreg.Match(djs); string dfunc = dm.Groups[1].Value; dreg = new Regex(string.Concat(Regex.Escape(dfunc), Patterns.JsFunctionPattern2)); dm = dreg.Match(djs); string dargn = dm.Groups[1].Value; string dalg = dm.Groups[2].Value; //pretty prints it for later usage string djsfunc = string.Concat("var unscramble = function(", dargn, ") { ", dalg, " };"); string[] dalgps = dalg.Split(';'); HashSet <string> dalgrs = new HashSet <string>(); foreach (string dalgp in dalgps) { if (!dalgp.StartsWith(string.Concat(dargn, "=")) && !dalgp.StartsWith("return ")) { dalgrs.Add(dalgp.Split('.')[0]); } } dreg = new Regex(string.Concat("var ", dalgrs.First(), Patterns.JsFunctionPattern3), RegexOptions.Singleline); dm = dreg.Match(djs); dalg = dm.Groups[0].Value; djsfunc = string.Concat(dalg, "\n", djsfunc, ""); //instantiates the JS engine,calls the js function and returns the deciphered URL Jurassic.ScriptEngine engine = new Jurassic.ScriptEngine(); engine.Evaluate(djsfunc); string UnscambledCipher = (engine.CallGlobalFunction <string>("unscramble", CipherDetails["s"])); if (!string.IsNullOrEmpty(UnscambledCipher)) { return(Uri.UnescapeDataString($"{CipherDetails["url"]}&{CipherDetails["sp"]}={UnscambledCipher}")); } else { return(string.Empty); } } } catch (Exception ex) { string a = ex.Message; return(""); } }
void GATOIACORE() { motorJS.CallGlobalFunction("IAGatoMovs"); }
public static string analysis(string s) { var engine = new Jurassic.ScriptEngine(); engine.Evaluate(@"var _0x37e6 = ['\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2B\x2F\x3D', '', '\x73\x75\x62\x73\x74\x72', '\x63\x68\x61\x72\x41\x74', '\x69\x6E\x64\x65\x78\x4F\x66', '\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65', '\x6C\x65\x6E\x67\x74\x68', '\x6A\x6F\x69\x6E', '\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74']; function jj(_0x79b1x2) { var _0x79b1x3 = _0x37e6[0]; var _0x79b1x4, _0x79b1x5, _0x79b1x6, _0x79b1x7, _0x79b1x8, _0x79b1x9, _0x79b1xa, _0x79b1xb, _0x79b1xc = 0, _0x79b1xd = 0, _0x79b1xe = _0x37e6[1], _0x79b1xf = []; if (!_0x79b1x2) { return _0x79b1x2; }; _0x79b1x2 = _0x79b1x2[_0x37e6[2]](2); _0x79b1x2 += _0x37e6[1]; do { _0x79b1x7 = _0x79b1x3[_0x37e6[4]](_0x79b1x2[_0x37e6[3]](_0x79b1xc++)); _0x79b1x8 = _0x79b1x3[_0x37e6[4]](_0x79b1x2[_0x37e6[3]](_0x79b1xc++)); _0x79b1x9 = _0x79b1x3[_0x37e6[4]](_0x79b1x2[_0x37e6[3]](_0x79b1xc++)); _0x79b1xa = _0x79b1x3[_0x37e6[4]](_0x79b1x2[_0x37e6[3]](_0x79b1xc++)); _0x79b1xb = _0x79b1x7 << 18 | _0x79b1x8 << 12 | _0x79b1x9 << 6 | _0x79b1xa; _0x79b1x4 = _0x79b1xb >> 16 & 0xff; _0x79b1x5 = _0x79b1xb >> 8 & 0xff; _0x79b1x6 = _0x79b1xb & 0xff; if (_0x79b1x9 == 64) { _0x79b1xf[_0x79b1xd++] = String[_0x37e6[5]](_0x79b1x4); } else { if (_0x79b1xa == 64) { _0x79b1xf[_0x79b1xd++] = String[_0x37e6[5]](_0x79b1x4, _0x79b1x5); } else { _0x79b1xf[_0x79b1xd++] = String[_0x37e6[5]](_0x79b1x4, _0x79b1x5, _0x79b1x6); }; }; } while ( _0x79b1xc < _0x79b1x2 [ _0x37e6 [ 6 ]]);; _0x79b1xe = _0x79b1xf[_0x37e6[7]](_0x37e6[1]); return utf8d(_0x79b1xe); }; function utf8d(_0x79b1x11) { var _0x79b1x12 = _0x37e6[1], _0x79b1xc = 0, _0x79b1x13 = c1 = c2 = 0; while (_0x79b1xc < _0x79b1x11[_0x37e6[6]]) { _0x79b1x13 = _0x79b1x11[_0x37e6[8]](_0x79b1xc); if (_0x79b1x13 < 128) { _0x79b1x12 += String[_0x37e6[5]](_0x79b1x13); _0x79b1xc++; } else { if ((_0x79b1x13 > 191) && (_0x79b1x13 < 224)) { c2 = _0x79b1x11[_0x37e6[8]](_0x79b1xc + 1); _0x79b1x12 += String[_0x37e6[5]](((_0x79b1x13 & 31) << 6) | (c2 & 63)); _0x79b1xc += 2; } else { c2 = _0x79b1x11[_0x37e6[8]](_0x79b1xc + 1); c3 = _0x79b1x11[_0x37e6[8]](_0x79b1xc + 2); _0x79b1x12 += String[_0x37e6[5]](((_0x79b1x13 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); _0x79b1xc += 3; }; }; }; return _0x79b1x12; };"); string res = engine.CallGlobalFunction <string>("jj", s); //Regex r2 = new Regex(@"Vídeo Id: .*<br>Sìze:"); //Item.id = r2.Matches(res)[0].Value.Split(new string[] { "Vídeo Id: ", "<br>Sìze:" }, StringSplitOptions.RemoveEmptyEntries)[0]; //Item.id = "<a>" + Item.torrent.Replace(">", "/>")+"</a>"; //XmlDocument xmlDoc = new XmlDocument(); //xmlDoc.LoadXml(Item.id); //string id=""; //foreach (XmlNode x in xmlDoc.GetElementsByTagName("a")[0].ChildNodes) //{ // string key = x.Attributes["style"].Value; // key = key.Substring(0, key.IndexOf(";") + 1); // key = dictionary[key]; // id += key; //} res = res.Replace(">", "/>"); Regex r1 = new Regex("<img src=\".*?px;\"/>"); MatchCollection mc = r1.Matches(res); foreach (Match m in mc) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(m.ToString()); string key = xmlDoc.GetElementsByTagName("img")[0].Attributes["style"].Value; key = key.Substring(0, key.IndexOf(";")); string cha = dictionary[key]; res = res.Replace(m.ToString(), cha); } Item.info = res; Regex r2 = new Regex("Vídeo Id: .*?<br/>"); Item.id = r2.Matches(res)[0].ToString().Split(new string[] { "Vídeo Id: ", "<br/>" }, StringSplitOptions.RemoveEmptyEntries)[0]; return(Item.id); }
public static string GetHash(string no, string ptwebqq) { var scriptEngine = new Jurassic.ScriptEngine(); scriptEngine.EnableDebugging = true; scriptEngine.SetGlobalValue("window", new WindowObject(scriptEngine)); scriptEngine.ExecuteFile(System.AppDomain.CurrentDomain.BaseDirectory + "hash.js"); var ret = scriptEngine.CallGlobalFunction<string>("friendsHash", no, ptwebqq, 0); return ret; }
public string Decipher(string id) { try { using (WebClient wc = new WebClient()) { wc.Proxy = null; //downloads the whole page string dpage = wc.DownloadString(string.Concat("https://www.youtube.com/watch?v=", id)); Regex dreg = new Regex(Patterns.YoutubeInitialResponse); Match dm; string _playerResponse = (dreg.Match(dpage).Value); dreg = new Regex(Patterns.AdaptiveFormats1); string AdaptiveFormats = dreg.Match((_playerResponse)).Value; dreg = new Regex(Patterns.AdaptiveFormats2); string[] mc = dreg.Matches(AdaptiveFormats).Cast <Match>().Select(m => m.Value).ToArray(); int AudioMaisProximo = Metodos.Utils.PartialIndexOf(mc, "audio/"); if (AudioMaisProximo > -1) { dreg = new Regex(Patterns.SignatureCipher); MatchCollection SignatureCipher = dreg.Matches(mc[AudioMaisProximo]); if (SignatureCipher.Count > 0) { string r_cifra = Regex.Unescape(SignatureCipher[0].Value); Dictionary <string, string> CipherDetails = Metodos.Utils.cifraToDict(r_cifra); //match the player .js file dreg = new Regex(Patterns.JsURL); dm = dreg.Match(dpage); string BasePlayer = Regex.Unescape(dm.Groups[1].Value); string djloc = string.Concat("https://youtube.com", BasePlayer); string djs = wc.DownloadString(djloc); //match the descrambling function in the downloaded javascript dreg = new Regex(Patterns.JsFunctionPattern1); //(?:\b|[^a-zA-Z0-9$])(?P<sig>[a-zA-Z0-9$]{2})\s*=\s*function\(\s*a\s*\)\s*{\s*a\s*=\s*a\.split\(\s*\"\"\s*\).*}; dm = dreg.Match(djs); string dfunc = dm.Groups[1].Value; dreg = new Regex(string.Concat(Regex.Escape(dfunc), Patterns.JsFunctionPattern2)); dm = dreg.Match(djs); string dargn = dm.Groups[1].Value; string dalg = dm.Groups[2].Value; //pretty prints it for later usage string djsfunc = string.Concat("var unscramble = function(", dargn, ") { ", dalg, " };"); string[] dalgps = dalg.Split(';'); HashSet <string> dalgrs = new HashSet <string>(); foreach (string dalgp in dalgps) { if (!dalgp.StartsWith(string.Concat(dargn, "=")) && !dalgp.StartsWith("return ")) { dalgrs.Add(dalgp.Split('.')[0]); } } dreg = new Regex(string.Concat("var ", dalgrs.Where(c => !c.Contains(")")).FirstOrDefault(), Patterns.JsFunctionPattern3), RegexOptions.Singleline); dm = dreg.Match(djs); dalg = dm.Groups[0].Value; djsfunc = string.Concat(dalg, "\n", djsfunc, ""); //instantiates the JS engine,calls the js function and returns the deciphered URL Jurassic.ScriptEngine engine = new Jurassic.ScriptEngine(); engine.Evaluate(djsfunc); string UnscambledCipher = (engine.CallGlobalFunction <string>("unscramble", CipherDetails["s"])); if (!string.IsNullOrEmpty(UnscambledCipher)) { return(Uri.UnescapeDataString($"{CipherDetails["url"]}&{CipherDetails["sp"]}={UnscambledCipher}")); } else { return(string.Empty); } } else { dreg = new Regex(Patterns.FileURL); MatchCollection URL = dreg.Matches(mc[AudioMaisProximo]); if (URL.Count > 0) { return(Uri.UnescapeDataString(Regex.Unescape(URL[0].Value))); } else { return(""); } } } else { return(""); } } return(""); } catch (Exception ex) { string a = ex.Message; return(""); } }
internal static string EncodePassword(string password, string token, string bits) { var scriptEngine = new Jurassic.ScriptEngine(); scriptEngine.EnableDebugging = true; scriptEngine.SetGlobalValue("window", new WindowObject(scriptEngine)); scriptEngine.ExecuteFile(System.AppDomain.CurrentDomain.BaseDirectory + "encode.js"); var ret = scriptEngine.CallGlobalFunction<string>("getEncryption", password, token, bits, 0); return ret; }
private void list() { try { txtPageNow.Text = pageNow.ToString(); string start = pageNow > 1 ? ((pageNow - 1) * interval).ToString() : "0"; string url = getUrl(curcol, start); string s; using (System.Net.WebClient wc = new System.Net.WebClient()) { Byte[] pageData = wc.DownloadData(url); s = System.Text.Encoding.GetEncoding("GBK").GetString(pageData); //Stream stream = new System.IO.MemoryStream(Encoding.Convert(Encoding.GetEncoding("GBK"), Encoding.UTF8, pageData)); //s = System.Text.Encoding.UTF8.GetString(pageData);去除中文乱码 s += @" function getstring(){ var s=serv_loadColumnNews(); return JSON.stringify(s); } "; var eng = new Jurassic.ScriptEngine(); eng.Evaluate(s); var b = eng.CallGlobalFunction<string>(@"getstring"); m = JsonConvert.DeserializeObject<oainfo>(b); } pagesAll = m.total / interval + (m.total % interval == 0 ? 0 : 1); labPageAll.Text = pagesAll.ToString(); listDoc.Items.Clear(); foreach (var v in m.informations) { ListViewItem lvi = new ListViewItem(); lvi = listDoc.Items.Add(v.id); lvi.SubItems.Add(v.bt); lvi.SubItems.Add(v.time); lvi.SubItems.Add(v.mc); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }