mirror of
https://github.com/zhaarey/AppleMusicDecrypt.git
synced 2025-10-23 15:11:06 +00:00
feat: get the best m3u8 without binding device and account (maybe)
This commit is contained in:
21
m3u8_sv.js
Normal file
21
m3u8_sv.js
Normal file
@@ -0,0 +1,21 @@
|
||||
setTimeout(function () {
|
||||
Java.performNow(function () {
|
||||
Java.use("com.apple.android.music.common.MainContentActivity");
|
||||
var SVPlaybackLeaseManagerProxy;
|
||||
Java.choose("com.apple.android.music.playback.SVPlaybackLeaseManagerProxy", {
|
||||
onMatch: function (x) {
|
||||
SVPlaybackLeaseManagerProxy = x
|
||||
},
|
||||
onComplete: function (x) {}
|
||||
});
|
||||
var HLSParam = Java.array('java.lang.String', ["HLS"])
|
||||
function getM3U8(adamID) {
|
||||
var MediaAssetInfo = SVPlaybackLeaseManagerProxy.requestAsset(parseInt(adamID), HLSParam, false)
|
||||
if (MediaAssetInfo === null) {
|
||||
return -1
|
||||
}
|
||||
return MediaAssetInfo.getDownloadUrl()
|
||||
}
|
||||
rpc.exports = {"getm3u8": getM3U8}
|
||||
})
|
||||
}, 8000)
|
||||
@@ -194,7 +194,7 @@ class Device:
|
||||
self.fridaDevice = frida.get_device_manager().get_device(self.device.serial)
|
||||
self.pid = self.fridaDevice.spawn("com.apple.android.music")
|
||||
self.fridaSession = self.fridaDevice.attach(self.pid)
|
||||
with open("m3u8.js", "r") as f:
|
||||
with open("m3u8_sv.js", "r") as f:
|
||||
m3u8_script = f.read()
|
||||
self.m3u8Script = self.fridaSession.create_script(m3u8_script)
|
||||
self.m3u8Script.load()
|
||||
|
||||
Reference in New Issue
Block a user