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.fridaDevice = frida.get_device_manager().get_device(self.device.serial)
|
||||||
self.pid = self.fridaDevice.spawn("com.apple.android.music")
|
self.pid = self.fridaDevice.spawn("com.apple.android.music")
|
||||||
self.fridaSession = self.fridaDevice.attach(self.pid)
|
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()
|
m3u8_script = f.read()
|
||||||
self.m3u8Script = self.fridaSession.create_script(m3u8_script)
|
self.m3u8Script = self.fridaSession.create_script(m3u8_script)
|
||||||
self.m3u8Script.load()
|
self.m3u8Script.load()
|
||||||
|
|||||||
Reference in New Issue
Block a user