Javascript: Giải thích hàm giấu link của một số web phim
Một số web phim bạn sẽ ko thấy được link url trực tiếp mà khi soi vào bạn sẽ thấy nó có đoạn code sau
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('f=\'8://7.6/5-4-3-2-1/e.0\';d=\'8://7.6/5-4-3-2-1/c/9.0\';b=\'8://7.6/5-4-3-2-1/a/9.0\';',16,16,'m3u8|49c7087827ec|96fd|4413|6388|d59b696b|com|surrit|https|video|1280x720|source1280|842x480|source842|playlist|source'.split('|'),0,{}))
Hay viết đẹp lại như sau:
eval(function(p, a, c, k, e, d) {
e = function(c) {
return c.toString(36)
};
if (!''.replace(/^/, String)) {
while (c--) {
d[c.toString(a)] = k[c] || c.toString(a)
}
k = [function(e) {
return d[e]
}];
e = function() {
return '\\w+'
};
c = 1
};
while (c--) {
if (k[c]) {
p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c])
}
}
return p
}('f=\'8://7.6/5-4-3-2-1/e.0\';d=\'8://7.6/5-4-3-2-1/c/9.0\';b=\'8://7.6/5-4-3-2-1/a/9.0\';', 16, 16, 'm3u8|49c7087827ec|96fd|4413|6388|d59b696b|com|surrit|https|video|1280x720|source1280|842x480|source842|playlist|source'.split('|'), 0, {}))
Thực tế hàm này đã chia URL thành các chuỗi ký tự token ngăn cách nhau bởi dấu |
'm3u8|49c7087827ec|96fd|4413|6388|d59b696b|com|surrit|https|video|1280x720|source1280|842x480|source842|playlist|source'
Và chia thành 16 phần tạm gọi là cơ số và đánh thứ tự như sau:
'f=\'8://7.6/5-4-3-2-1/e.0\';d=\'8://7.6/5-4-3-2-1/c/9.0\';b=\'8://7.6/5-4-3-2-1/a/9.0\';'
Trong đó các con số 1,2,3,4.. Được ánh xạ bằng các chuỗi ký tự như trên
Hàm sẽ thay thế từng ký tự số hoặc chữ cái trong chuỗi p bằng giá trị tương ứng trong mảng k. Sau khi thực hiện thay thế, chuỗi p sẽ được chuyển đổi thành mã JavaScript có thể đọc được.
thay thế vào chuỗi
- f='8://7.6/5-4-3-2-1/e.0' → f='https://com.d59b696b/6388-4413-96fd-49c7087827ec/playlist.source'
- d='8://7.6/5-4-3-2-1/c/9.0' → d='https://com.d59b696b/6388-4413-96fd-49c7087827ec/source842/https.source'
- b='8://7.6/5-4-3-2-1/a/9.0' → b='https://com.d59b696b/6388-4413-96fd-49c7087827ec/source1280/https.source'
Không có nhận xét nào:
Đăng nhận xét