C'est «rigolo», videoweed, movshare, divxstage… partagent tous ce bout de code pour ne pas qu'on télécharge directement chez eux :
function(w,i,s,e){var lIll=0;var ll1I=0;var Il1l=0;var ll1l=[];var l1lI=[];while(true){if(lIll<5)l1lI.push(w.charAt(lIll));else if(lIll<w.length)ll1l.push(w.charAt(lIll));lIll++;if(ll1I<5)l1lI.push(i.charAt(ll1I));else if(ll1I<i.length)ll1l.push(i.charAt(ll1I));ll1I++;if(Il1l<5)l1lI.push(s.charAt(Il1l));else if(Il1l<s.length)ll1l.push(s.charAt(Il1l));Il1l++;if(w.length+i.length+s.length+e.length==ll1l.length+l1lI.length+e.length)break;}var lI1l=ll1l.join('');var I1lI=l1lI.join('');ll1I=0;var l1ll=[];for(lIll=0;lIll<ll1l.length;lIll+=2){var ll11=-1;if(I1lI.charCodeAt(ll1I)%2)ll11=1;l1ll.push(String.fromCharCode(parseInt(lI1l.substr(lIll,2),36)-ll11));ll1I++;if(ll1I>=l1lI.length)ll1I=0;}return l1ll.join('');}
En python, en renommant les variables pour que j'y vois plus clair, ça donne :
def wise(w,i,s,e):
w1=w[:5]
w2=w[5:]
i1=i[:5]
i2=i[5:]
s1=s[:5]
s2=s[5:]
var3=''.join([''.join(y) for y in map(lambda *t: filter(lambda x: x is not None,t),w2,i2,s2)])
var4=''.join([''.join(y) for y in zip(w1,i1,s1)])
var1=0
var5=[]
length3=len(var3)
length4=len(var4)
for var0 in range(0,length3,2):
var8=-1
if(ord(var4[var1])%2):
var8=1
var5.append(chr(int(var3[var0:var0+2],36)-var8))
var1+=1
if(var1>=length4):
var1=0
return ''.join(var5)
Bientôt dans
https://github.com/sensini42/flvdown donc :D
Edit :
oh, et ce que l'on obtient, c'est récursif, donc qq chose comme :
for i in src:
if (';eval(function(w,i,s,e)' in i):
p=i[:]
while (';eval(function(w,i,s,e)' in p):
p=wise((''.join(p)).split("'")[-8],
(''.join(p)).split("'")[-6],
(''.join(p)).split("'")[-4],
(''.join(p)).split("'")[-2])
Puis
for i in p.split(';'):
if ('flashvars.domain=' in i):
urldomain = i.split('"')[1]
if ('flashvars.file=' in i):
urlfile = i.split('"')[1]
if ('var ll=' in i):
urlfilekey = i.split('"')[1]
l'url finale étant : urldomain + '/api/player.api.php?pass=undefined&file=' + urlfile + '&user=undefined&codes=1&key=' + urlfilekey