2017-02-12 5 views
0

JavaScript에서 난독 화 된 (p,a,c,k,e,d) 함수가 있습니다.CSharp에서 "포장 된"JavaScript 기능

string value = @"eval(function(p,a,c,k,e,d) 
      {while(c--)if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]); 
      return p} 
('3("3b").3a({39:\"5://1b.1a.19.8:18/38/v.37\",36:\"5://1b.1a.19.8:18/i/35/34/33.32\",31:\"\",30:\"2z\",2y:\"2x\",2w:2v,2u:\"7\",2t:\"2s\",2r:[],2q:{2p:\'#2o\',2n:22,2m:\"2l\",2k:0}});b f;b k=0;b 6=0;3().2j(2(x){a(6>0)k+=x.17-6;6=x.17;a(0!=0&&k>=0){6=-1;3().2i();3().2h(2g);$(\'#2f\').j();$(\'h.g\').j()}});3().2e(2(x){6=-1});3().2d(2(x){16(x)});3().2c(2(){$(\'h.g\').j()});2 16(x){$(\'h.g\').2b();a(f)2a;f=1;$.29(\'5://12.9/15-28/27.15?26=25&24=23&21=20-1z-1y-1x-1w\',2(14){$(\'#1v\').1u(14)})};3().1t(\'1s\',2(){b 13=3().1r();13.1q(\'1p\',2(){11.10(\'z-y\')[0].w[1].1o=\"5://12.9\";11.10(\'z-y\')[0].w[1].1n=\"<u>1m - 1l 1k 1j & 1i</u>\"});a($.c(\'4\')==\"d\"){t.s(\"5://r.q.p/o/7.n\",\"m 9 1h\",e,\"l\")}1g{t.s(\"5://r.q.p/o/d.n\",\"m 9 1f\",e,\"l\")}});2 e(){$.c(\'4\')==\'7\'?4=\'d\':4=\'7\';$.c(\'4\',4);1e.1d.1c()};',36,120,'||function|jwplayer|primaryCookie|http|p02887336|html5||to|if|var|cookie|flash|switchMode|vvplay|video_ad|div||show|tt2887336|button2|Switch|png|images|tv|flashx|static|addButton|this|center||childNodes||featured|jw|getElementsByClassName|document|streamin|container|data|cgi|doPlay|position|8777|213|211|95|reload|location|window|Flash|else|HTML5|Storage|Sharing|Video|Free|Streamin|innerHTML|href|contextmenu|addEventListener|getContainer|ready|on|html|fviews|fb98c55a544241de2464a88086a6b0c9|1486917733|186|182|2887336|hash||2ca0tpqawtre|file_code|view|op|index_dl|bin|get|return|hide|onComplete|onPlay|onSeek|play_limit_box|false|setFullscreen|stop|onTime|backgroundOpacity|Arial|fontFamily|fontSize|FFFFFF|color|captions|tracks|start|startparam|primary|326|height|580|width|2638|duration|skin|jpg|lhl2j9yhfp1s|00085|01|image|mp4|rwi7bsgc5huzcg3h5fpsfen3362uwfp4cyzyo2mavczsvbbx4tnesmwhdteq|file|setup|vplayer'.split('|')))" 

나는 해석하고 위 function의 값을 얻을 수 jint을 사용하려고하지만 jint engine의 문을 실행할 때 그것은 jwplayer is not defined에 대한 예외가 발생합니다.

왜 예외가 발생하는지 알지만 위의 p 값만 가져 오려고합니다. 그러나 jint은 전체 함수를 실행 한 다음 존재하지 않는 빈 함수로 끝나고 실행하려고하면 예외가 발생합니다.

문자열의 값만 반환하기를 원하며 더 이상 실행하지 않아야합니다. 나는 이미 그것을 찾으려고했지만 대답은 찾지 못했습니다.

Jint.Engine jEngine = new Jint.Engine(); 
var linkString = jEngine.Execute(value).GetCompletionValue().ToString(); 
var arrayFile = linkString.Split(' ', '\n'); 

내가 여기 실종 뭔가 :
나는 다음과 같은 코드를 사용하고? 누군가가 그것에 대해 밝힐 수 있다면. 그 점에 크게 감사 할 것입니다. 감사합니다

+0

첫째로, 게시 한 유효한 C# 코드가 아닙니다. 이중 따옴표를 올바르게 이스케이프 처리하지 않은 것처럼 보입니다. 두 번째로, 아마도 여러분의 난독 화 함수가'jwplayer' (임베디드 비디오 플레이어 인 것처럼 보입니다)라고 불리는 메소드 나 객체를 호출하려하기 때문에 에러가 발생했을 것입니다. – DavidG

+0

메소드/객체라는 것을 알고 있지만 어떻게' jint'는 결국 그것을 부르지 않습니까? main 함수에서 반환 된 값만 필요합니다. – Ahmar

+0

잘 보시면, 처음 전달 된 문자열 매개 변수 인 첫 번째 매개 변수 인'p'가 반환된다는 것을 알 수 있습니다. – DavidG

답변

0

나는 팩 기능의 시작 부분에 eval라고 생각합니다. 값을 얻은 후에 코드를 실행하고있었습니다. 그래서 eval 부분을 제거하고 예상대로 작동합니다.