Javascript: Giải thích hàm giấu link của một số web phim - QuânSysAd's Blog

04 tháng 4 2025

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, {}))
  • Các tham số của hàm
  • p: Chuỗi mã cần giải mã.
  • a: Cơ số (radix), ở đây là 16.
  • c: Số lượng từ khóa trong bảng từ vựng, ở đây là 16.
  • k: Mảng từ vựng, chứa các từ khóa được ánh xạ.
  • e, d: Các biến tạm dùng trong quá trình giải mã.

  • 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:

  • 0 m3u8
  • 1 49c7087827ec
  • 2 96fd
  • 3 4413
  • 4 6388
  • 5 d59b696b
  • 6 com
  • 7 surrit
  • 8 https
  • 9 video
  • 10 1280x720
  • 11 source1280
  • 12 842x480
  • 13 source842
  • 14 playlist
  • 15 source



  • Thứ tự của chuối được đánh dấu bằng chuỗi 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'

  • Thay thế lần lượt ta được

  • f='https://surrit.com/d59b696b-6388-4413-96fd-49c7087827ec/playlist.m3u8'
  • d='https://surrit.com/d59b696b-6388-4413-96fd-49c7087827ec/source842/video.m3u8'
  • b='https://surrit.com/d59b696b-6388-4413-96fd-49c7087827ec/source1280/video.m3u8'










  • Không có nhận xét nào: