You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I don't have time to write this up properly now, but I will later. Making this issue to record my findings in the meantime, as this isn't documented.
Pandora playlist audio is encrypted with a base64 encoded string, assigned to the key key in the response JSON.
Audio can be decrypted for testing using this tool.
For reference, Pandora's implementation in their web app can be found in the Javascript code for the Sirius XM music player, at webpack:///src/domains/playback/audio/libs/AudioPlayback/harnesses/SXMHarness/SXMAudioPlayer.js in the browser debugger.
Specifically, this code snippet revealed the secrets:
startLoading: function(url,key){this._url=url;this._load=newProgressiveDownload(url);//TODO : IF we have key initiate the XORCipher to decrypt the buffer data usign the keyif(key){this.key=key;this._cipher=newXORCipher(Cipher.ALGORITHM.XOR_MASK,["decrypt"]);this._cipher.importKey(key);}},
The text was updated successfully, but these errors were encountered:
Yup. Another thing I've found is that it uses an uncommon m4a codec that's causing trouble on pretty much any platform my app runs on (Android, iOS, and macOS), though VLC can handle it just fine.
I don't have time to write this up properly now, but I will later. Making this issue to record my findings in the meantime, as this isn't documented.
Pandora playlist audio is encrypted with a base64 encoded string, assigned to the
key
key in the response JSON.Audio can be decrypted for testing using this tool.
For reference, Pandora's implementation in their web app can be found in the Javascript code for the Sirius XM music player, at
webpack:///src/domains/playback/audio/libs/AudioPlayback/harnesses/SXMHarness/SXMAudioPlayer.js
in the browser debugger.Specifically, this code snippet revealed the secrets:
The text was updated successfully, but these errors were encountered: