vlc | branch: master | Pierre Ynard <[email protected]> | Sun Sep 22 04:29:47 2013 +0200| [7b4e90a54dd2d66ca0a979a2fbb028f7313a0faa] | committer: Pierre Ynard
youtube.lua: handle inlined function in descrambling javascript > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7b4e90a54dd2d66ca0a979a2fbb028f7313a0faa --- share/lua/playlist/youtube.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/share/lua/playlist/youtube.lua b/share/lua/playlist/youtube.lua index 5778adb..30da2f8 100644 --- a/share/lua/playlist/youtube.lua +++ b/share/lua/playlist/youtube.lua @@ -128,6 +128,12 @@ function js_descramble( sig, js_url ) -- characters: -- function jj(a,b){var c=a[0];a[0]=a[b%a.length];a[b]=c;return a} local idx = string.match( rule, "=..%([^,]+,(%d+)%)" ) + -- This swapping function may also appear inlined: + -- var b=a[0];a[0]=a[59%a.length];a[59]=b; + -- In that case we only catch one of the three rules. + if not idx then + idx = string.match( rule, ".%[(%d+)%]=." ) + end if idx then idx = tonumber( idx ) if not idx then idx = 0 end _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
