День добрый
Столкнулся с небольшим затупом
Есть жизненная необходимость выполнять +- большой JS в зенке, но через встроенный кубик работает только с использованием браузера в проекте, а браузер мне как таковой не нужен от слова совсем, т.к. в многопоток сильно мешает
Читал что через локальный JS совсем не вариант, потыкал немного библиотеку Microsoft.JScript, чтобы выполнять скрипт через C#, но и там не смог добиться результата, по итогу получал ошибку "Не удалось привести тип объекта "Microsoft.JScript.BuiltinFunction" к типу "Microsoft.JScript.StackFrame".
Ниже пример скрипта, который пытался выполнить
Может кто подтолкнуть в верном направлении?)
Столкнулся с небольшим затупом
Есть жизненная необходимость выполнять +- большой JS в зенке, но через встроенный кубик работает только с использованием браузера в проекте, а браузер мне как таковой не нужен от слова совсем, т.к. в многопоток сильно мешает
Читал что через локальный JS совсем не вариант, потыкал немного библиотеку Microsoft.JScript, чтобы выполнять скрипт через C#, но и там не смог добиться результата, по итогу получал ошибку "Не удалось привести тип объекта "Microsoft.JScript.BuiltinFunction" к типу "Microsoft.JScript.StackFrame".
Ниже пример скрипта, который пытался выполнить
C#:
string s = Microsoft.JScript.Eval.JScriptEvaluate("function t(){var s={},u,c,U,r,i,l=0,a,e=eval,w=String.fromCharCode,sucuri_cloudproxy_js='',S='ZT0iNHN1Ii5zbGljZSgwLDEpICsgIjYiICsgU3RyaW5nLmZyb21DaGFyQ29kZSgweDM3KSArICIzIiArICdPYScuc2xpY2UoMSwyKSsgJycgKydPYTZjJy5zdWJzdHIoMywgMSkgKyJlc3UiLnNsaWNlKDAsMSkgKyAiOHN1Ii5zbGljZSgwLDEpICsgIjdzZWMiLnN1YnN0cigwLDEpICsgIjkiICsgICcnICsnJysiZm8iLmNoYXJBdCgwKSArICdhJyArICAiIiArIjciLnNsaWNlKDAsMSkgKyAiNm4iLmNoYXJBdCgwKSArICJjIi5zbGljZSgwLDEpICsgIjZzdWN1ciIuY2hhckF0KDApKyI2aCIuY2hhckF0KDApICsgIjFzdWN1ciIuY2hhckF0KDApKyc4JyArICAgJycgKycnKyIxIiArICAnJyArJycrImRzZWMiLnN1YnN0cigwLDEpICsgU3RyaW5nLmZyb21DaGFyQ29kZSg1NCkgKyAiNyIuc2xpY2UoMCwxKSArICI1cSIuY2hhckF0KDApICsgImRzdWN1ciIuY2hhckF0KDApKyAnJyArJ0dyTDYnLnN1YnN0cigzLCAxKSArImEiICsgICcnICsgClN0cmluZy5mcm9tQ2hhckNvZGUoMHgzOSkgKyAiYXN1Ii5zbGljZSgwLDEpICsgIjBzZWMiLnN1YnN0cigwLDEpICsgIjVzdSIuc2xpY2UoMCwxKSArICAnJyArIAoiNyIgKyAiIiArJyc7ZG9jdW1lbnQuY29va2llPSdzJysndXN1Jy5jaGFyQXQoMCkgKydjJysndScrJ3N1Y3VyJy5jaGFyQXQoNCkrICdpJysnXycrJycrJ2NzdWN1cmknLmNoYXJBdCgwKSArICdsJy5jaGFyQXQoMCkrJ28nKycnKyd1c3VjdXInLmNoYXJBdCgwKSsgJ2QnKydzdWN1cmlwJy5jaGFyQXQoNikrJ3InKycnKydvJysneCcrJ3lzdWN1cicuY2hhckF0KDApKyAnX3N1YycuY2hhckF0KDApKyAndXN1Jy5jaGFyQXQoMCkgKydzdScuY2hhckF0KDEpKydpc3VjJy5jaGFyQXQoMCkrICdkJysnc3VjdV8nLmNoYXJBdCg0KSsgJ3N1Y3VyaWYnLmNoYXJBdCg2KSsnNycrJycrJzJzdWN1Jy5jaGFyQXQoMCkgICsnZnN1Y3VyJy5jaGFyQXQoMCkrICcxJysnc3U0Jy5jaGFyQXQoMikrJ2InKycnKyczJysnczEnLmNoYXJBdCgxKSsiPSIgKyBlICsgJztwYXRoPS87bWF4LWFnZT04NjQwMCc7IGxvY2F0aW9uLnJlbG9hZCgpOw==';l=S.length;U=0;r='';var A='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';for(u=0;u<64;u++){s[A.charAt(u)]=u;}for(i=0;i<l;i++){c=s[S.charAt(i)];U=(U<<6)+c;l+=6;while(l>=8){((a=(U>>>(l-=8))&0xff)||(i<(l-2)))&&(r+=w(a));}}r=r.replace('document.cookie','var cookie') return r;} var tt=t();", Microsoft.JScript.Vsa.VsaEngine.CreateEngine()).ToString();
return s;