(needs vietnam vpn)
I want to catch the key of this link but I have failed, anyone can show me where I was wrong?
1. I set a breakpoint at 6315 after searching 'decrytpkey/decryptdata'
2. I have found Uint8Array but can't find the key
3. Here are some information about this link
https://www.vtvcab.vn/channel/dr-fit-hd-1,DR_FIT_HD.html
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:10061549
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-MEDIA-ID530C708A29CB804A025561D81B4DDCF
#EXT-X-STREAM-DENIED:MTIz
#EXT-X-STREAM-SIGNALBF2EBBEBBD50518244A634B9D360726
#EXT-X-KEY:METHOD=AES-128,URI="https://license.sigmadrm.com/license/verify/sigma?keyId=1a74ca5f-f46c-4bc9-8993-53ce6ce95705&assetId=dr-fit_v2_SD&uuid=cf20e92d-5869-4d47-ac9f-1248ab44f6e5"
eyJtZXJjaGFudElkIjoidGh1ZG9qc2MiLCJhcHBJZCI6IlZUVm NhYk9OIiwic2Vzc2lvbklkIjoiZXlKaGJHY2lPaUpJVXpJMU5p SXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpaR2tpT2lKN1hDSjFjMl Z5WENJNlhDSkhMVXRHUkRaVldFUTRVbFpjSWl4Y0ltMWxjbU5v WVc1MFhDSTZYQ0owYUhWa2IycHpZMXdpTEZ3aVlYTnpaWFJjSW pwY0ltUnlMV1pwZEY5Mk1sd2lmU0lzSW5WcFpDSTZJa2N0UzBa RU5sVllSRGhTVmlJc0ltUnliVWxrSWpvaVpISXRabWwwWDNZeU lpd2lhV0YwSWpveE5qazJOamczTkRBMUxDSmxlSEFpT2pFMk9U WTNOek00TVRCOS5hdElEaXdFZUYyWGRDVzFidlNIaGV6Z08xOD Z0LXptcEJodGh2Umc4SHo4IiwidXNlcklkIjoiRy1LRkQ2VVhE OFJWIn0=
{"merchantId":"thudojsc","appId":"VTVcabON","sessi onId":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZG kiOiJ7XCJ1c2VyXCI6XCJHLUtGRDZVWEQ4UlZcIixcIm1lcmNo YW50XCI6XCJ0aHVkb2pzY1wiLFwiYXNzZXRcIjpcImRyLWZpdF 92MlwifSIsInVpZCI6IkctS0ZENlVYRDhSViIsImRybUlkIjoi ZHItZml0X3YyIiwiaWF0IjoxNjk2Njg3NDA1LCJleHAiOjE2OT Y3NzM4MTB9.atIDiwEeF2XdCW1bvSHhezgO186t-zmpBhthvRg8Hz8","userId":"G-KFD6UXD8RV"}
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGkiOiJ7X CJ1c2VyXCI6XCJHLUtGRDZVWEQ4UlZcIixcIm1lcmNoYW50XCI 6XCJ0aHVkb2pzY1wiLFwiYXNzZXRcIjpcImRyLWZpdF92Mlwif SIsInVpZCI6IkctS0ZENlVYRDhSViIsImRybUlkIjoiZHItZml 0X3YyIiwiaWF0IjoxNjk2Njg3NDA1LCJleHAiOjE2OTY3NzM4M TB9.atIDiwEeF2XdCW1bvSHhezgO186t-zmpBhthvRg8Hz8
{"alg":"HS256","typ":"JWT"}.{"sdi":"{\"user\":\ "G-KFD6UXD8RV\",\"merchant\":\"thudojsc\",\"asset\":\ "dr-fit_v2\"}","uid":"G-KFD6UXD8RV","drmId":"dr-fit_v2","iat":1696687405,"exp":1696773810}.jÒ‹ eÝ m[½!á{8×Î*-ÎjA†ØoFÏ
GET /manifest/dr-fit/playlist_720p.m3u8 HTTP/2
Host: live-on-sigma-drm-v2-vtvlive.gviet.vn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.vtvcab.vn/
Origin: https://www.vtvcab.vn
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
Sec-GPC: 1
sec-ch-ua-platform: "Windows"
sec-ch-ua: "Google Chrome";v="118", "Chromium";v="118", "Not=A?Brand";v="24"
sec-ch-ua-mobile: ?0
TE: trailers
+ Reply to Thread
Results 1 to 6 of 6
-
-
sorry but i dont understand what are you doing with :
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:10061549
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-MEDIA-ID530C708A29CB804A025561D81B4DDCF
#EXT-X-STREAM-DENIED:MTIz
#EXT-X-STREAM-SIGNALBF2EBBEBBD50518244A634B9D360726
#EXT-X-KEY:METHOD=AES-128,URI="https://license.sigmadrm.com/license/verify/sigma?keyId=1a74ca5f-f46c-4bc9-8993-53ce6ce95705&assetId=dr-fit_v2_SD&uuid=cf20e92d-5869-4d47-ac9f-1248ab44f6e5"
where do you put this? from where do you get it? can you send a link for more information? thanks -
-
link
https://www.vtvcab.vn/channel/dr-fit-hd-1,DR_FIT_HD.html
m3u8
https://live-on-v2-vndt.sigmaott.com/manifest/dr-fit/playlist_720p.m3u8
https://live-on-v2-cdnetwork.sigmaott.com/manifest/dr-fit/playlist_720p.m3u8
(actived)
https://live-on-sigma-drm-v2-vtvlive.gviet.vn/manifest/dr-fit/playlist_720p.m3u8
https://live-on-sigma-drm-v2-vtvlive.gviet.vn/media-static/8a86a00112/d6462452-753f-42...0p-10092727.ts
(debugger)
https://cdnwebonplay.gviet.vn/public/drm/v2/sigma_drm_2.0.4.js
https://cdnwebonplay.gviet.vn/public/drm/v2/SigmaPlayer_2.0.4.min.jsLast edited by metome; 12th Oct 2023 at 02:29.
-
-
Maybe this is the part how the decrypted key obtained from the last URL:
function(t, e, r) {
"use strict";
function i(t, e) {
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
}
function n(t, e) {
if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return !e || "object" != typeof e && "function" != typeof e ? t : e
}
function a(t, e) {
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
t.prototype = Object.create(e && e.prototype, {
constructor: {
value: t,
enumerable: !1,
writable: !0,
configurable: !0
}
}), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
}
var o = r(1),
s = r(3),
u = r(2),
l = r(0),
c = r(8),
d = function(t) {
function e(r) {
i(this, e);
var a = n(this, t.call(this, r, o.a.KEY_LOADING));
return a.loaders = {}, a.decryptkey = null, a.decrypturl = null, a
}
return a(e, t), e.prototype.destroy = function() {
for (var t in this.loaders) {
var e = this.loaders[t];
e && e.destroy()
}
this.loaders = {}, s.a.prototype.destroy.call(this)
}, e.prototype.onKeyLoading = function(t) {
c.a.getInstance().accquireProvision() ? this.loadProvision(t) : this.loadLicense(t)
}, e.prototype.onProvisionDone = function(t, e) {
var r = t.byteLength,
i = Module._malloc(r),
n = new Uint8Array(t);
Module.HEAP8.set(n, i), Module.ccall("provideProvision", null, ["number", "number"], [i, r]), Module._free(i), this.loadLicense(e)
}, e.prototype.loadProvision = function(t) {
var e = this,
r = c.a.getInstance().provisionRequest(),
i = this.hls.config,
n = new i.loader(i),
a = void 0,
s = void 0,
l = void 0;
s = {
timeout: i.fragLoadingTimeOut,
maxRetry: i.fragLoadingMaxRetry,
retryDelay: i.fragLoadingRetryDelay,
maxRetryDelay: i.fragLoadingMaxRetryTimeout
}, l = {
onSuccess: function(t, r, i) {
var n = new Uint8Array(t.data);
e.onProvisionDone(n, i.keyData)
},
onError: function(r, i) {
var n = t.frag;
e.hls.trigger(o.a.ERROR, {
type: u.b.NETWORK_ERROR,
details: u.a.KEY_LOAD_ERROR,
fatal: !1,
frag: n,
response: r
})
},
onTimeout: function(r, i) {
var n = t.frag;
e.hls.trigger(o.a.ERROR, {
type: u.b.NETWORK_ERROR,
details: u.a.KEY_LOAD_TIMEOUT,
fatal: !1,
frag: n
})
}
}, a = {
keyData: t,
url: r.uri,
responseType: "arraybuffer",
body: r.payload,
requestHeader: {
"Content-Type": "application/json"
}
}, n.load(a, s, l)
}, e.prototype.loadLicense = function(t) {
var e = t.frag,
r = e.type,
i = this.loaders[r],
n = e.decryptdata,
a = n.uri;
if (a !== this.decrypturl || null === this.decryptkey || c.a.getInstance().accquireLicense(a)) {
var s = this.hls.config;
i && (l.b.warn("abort previous key loader for type:" + r), i.abort()), e.loader = this.loaders[r] = new s.loader(s), this.decrypturl = a, this.decryptkey = null;
var u = void 0,
d = void 0,
f = void 0;
d = {
timeout: s.fragLoadingTimeOut,
maxRetry: s.fragLoadingMaxRetry,
retryDelay: s.fragLoadingRetryDelay,
maxRetryDelay: s.fragLoadingMaxRetryTimeout
}, f = {
onSuccess: this.loadsuccess.bind(this),
onError: this.loaderror.bind(this),
onTimeout: this.loadtimeout.bind(this)
};
var h = c.a.getInstance().initSession(a),
p = c.a.getInstance().licenseRequest(a);
u = {
url: a,
frag: e,
sessionId: h,
responseType: "arraybuffer",
body: p.body,
requestHeader: p.header
}, e.loader.load(u, d, f)
} else this.decryptkey && (n.key = this.decryptkey, this.hls.trigger(o.a.KEY_LOADED, {
frag: e
}))
}, e.prototype.loadsuccess = function(t, e, r) {
var i = r.frag;
this.decryptkey = i.decryptdata.key = r.sessionId, c.a.getInstance().provideKeyResponse(r.url, new Uint8Array(t.data)), i.loader = void 0, this.loaders[i.type] = void 0, this.hls.trigger(o.a.KEY_LOADED, {
frag: i
})
}, e.prototype.loaderror = function(t, e) {
var r = e.frag,
i = r.loader;
i && i.abort(), this.loaders[e.type] = void 0, this.hls.trigger(o.a.ERROR, {
type: u.b.NETWORK_ERROR,
details: u.a.KEY_LOAD_ERROR,
fatal: !1,
frag: r,
response: t
})
}, e.prototype.loadtimeout = function(t, e) {
var r = e.frag,
i = r.loader;
i && i.abort(), this.loaders[e.type] = void 0, this.hls.trigger(o.a.ERROR, {
type: u.b.NETWORK_ERROR,
details: u.a.KEY_LOAD_TIMEOUT,
fatal: !1,
frag: r
})
}, e
}(s.a);
e.a = d
}
Similar Threads
-
AES 128 Key, How do i decrypt or find the key?
By GirlsGill in forum Video Streaming DownloadingReplies: 12Last Post: 12th Feb 2024, 08:03 -
help to find key for AES-128
By whs912km in forum Video Streaming DownloadingReplies: 15Last Post: 15th Feb 2023, 20:44 -
how to get aes 128 key???
By anandgpt75 in forum Newbie / General discussionsReplies: 1Last Post: 7th Feb 2023, 09:33 -
Please help download video m3u8 with EXT-X-KEY:METHOD=AES-128
By canete in forum Video Streaming DownloadingReplies: 6Last Post: 23rd Oct 2022, 07:15 -
Please help download video m3u8 with EXT-X-KEY:METHOD=AES-128
By boysadvn in forum Video Streaming DownloadingReplies: 13Last Post: 26th Sep 2019, 14:13