Reverse-engineer the radio format (.prs) #6
Labels
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: lucidiot/psp-research#6
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The first 720 bytes of InternetRadioPlayerI.prs:
The
PRSF
header is found absolutely nowhere in file signatures lists or databases. I could not find any documentation on this file format, but it is rather clear from this dump that this file is basically the PSP's equivalent of a shortcut to a web page: the file holds some textual metadata, including a player URL, that is used by the PSP to open the radio in the browser, and a homepage URL, that is probably available as some kind of About option to PSP users. The rest of file seems to be a PNG file.This ticket has multiple steps:
We could act in other ways on this file format:
It turns out there is an unofficial website, http://pspradio.co.uk/, that when accessed with a PSP gives you a
.xpd
file: an INI file used by the PlayStation Store for DRMs according to Google. It includes just a tiny bit of metadata, enough to ask the user for confirmation for installing something, and a link to a.prs
file that gives you the actual radio. This website offers a full SHOUTcast radio service.lucidiot referenced this issue2019-11-26 23:48:33 +00:00
I found an online copy of the Internet Radio documentation: http://72.52.6.25/pscomauth/groups/public/documents/webasset/ps_psp-internetradioplayer-dev.pdf
I also found the Internet Radio SDK, which I am re-hosting a copy on an account I control on a Nextcloud instance I trust: https://free01.thegood.cloud/s/2WbjBaQqFwopARp
Said SDK includes a Python 2 script to generate a
.prs
file from a simpler XML. This will be very useful for the reverse-engineering.Working on the python script at https://tildegit.org/lucidiot/cxml.
RFC in writing at https://tilde.town/~lucidiot/psp/radio/rfc.txt.