PS3 [RESEARCH] Downloading all unknown file types to HDD and Flash

Attachments

Is it possible to download RAP as well?

Sent from my Redmi Note 5 using Tapatalk
Well you can already download a rap to usb with the normal browser, A rap is not much good on dev_hdd0 anyway. Also they are small and background downloading is not an issue.
http://nopsn.com/pkg/ps3/fanpass/files.php?file=Fan-Pass-v1.01-[NPEB02459].pkg

seems the same

ill poke around the php and see. im no web guy lol i used a template so i could avoid doing a raw directory listing
That is actually a little better, Im not getting the dash anymore , it actually says 11MB now, and i can select background download. but still an issue with background downloading, "download error"

upload_2019-4-8_5-2-58.png
 
Its ok, I have all of brewology backed up on my server anyway if we get stuck. :)


I am thinking of making a toggle mod, maybe add it to CFW Toolbox, that would be switchable between these modes:
  • pkg files download to dev_hdd0/packages
  • PUP files download to dev_hdd0/updater/01
  • p3t files download to dev_hdd0/theme
  • sprx files download to dev_hdd0/plugin
  • zip files download to dev_hdd0/DOWNLOADS
  • etc
This option would have no background download, but we have full control over the path.

Then maybe another mode, that allows all of the bigger file types to be background downloaded as videos, with XMB copying. I could add pkg, iso, zip all at once in this mode, but while the mode is toggled on,you would lose ability to work with some video formats.
 
Last edited:
XML God strikes again! Seriously, great work. I was looking at the xml files in the same directory as download.xml and wondered what would be possible. Very cool that we can copy from HDD to USB and vice versa now! That will be very useful for OFW users. I'm guessing it works with any file extension?
 
XML God strikes again! Seriously, great work. I was looking at the xml files in the same directory as download.xml and wondered what would be possible. Very cool that we can copy from HDD to USB and vice versa now! That will be very useful for OFW users. I'm guessing it works with any file extension?
It does, but we must replace existing file types, and only about 10 file types allow copy. This copy exploit is only working on cfw as of now as it needs a sprx patch, copying won't work with just the xml. Maybe an xploit can do the download plugin sprx patch in ram, as I think they already patch that file for something.
 
It does, but we must replace existing file types, and only about 10 file types allow copy. This copy exploit is only working on cfw as of now as it needs a sprx patch, copying won't work with just the xml. Maybe an xploit can do the download plugin sprx patch in ram, as I think they already patch that file for something.
Ah, I thought you already had it working on OFW, my bad. Still great progress. Have you had a look at this upload_file.xml? Maybe we could do something with it. I wonder about those logical_scheme strings. Maybe we could replicate haxxen's concept here, an upload section for "unknown" files?
Code:
<?xml version="1.0" encoding="UTF-8"?>

<XMBML version="1.0">
    <View id="upload_photo_hdd_items">
        <Items>
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_photo_playlist"
                src="xmb://localhost/%flash/xmb/category_photo.xml#seg_playlist_mgmt"
            />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="photo_hdd"
                src="sel://localhost/ex?root.view_selected.photo"
            />
        </Items>
    </View>

    <View id="upload_photo_hdd">
        <Attributes>
            <Table key="photo_hdd">
                <Pair key="icon_rsc"><String>tex_photo</String></Pair>
                <Pair key="icon_notation"><String>WNT_XmbListPhoto</String></Pair>
                <Pair key="title_rsc"><String>msg_ps3_photo</String></Pair>
                <Pair key="info_rsc"><String>msg_space</String></Pair>
                <Pair key="device_path"><String>/dev_hdd0</String></Pair>
                <Pair key="logical_sceme"><String>Photo</String></Pair>
                <Pair key="child"><String>segment</String></Pair>
            </Table>
        </Attributes>
        <Items>
            <Query
                class="type:x-xmb/folder-pixmap"
                key="photo_hdd"
                attr="photo_hdd"
                src="#upload_photo_hdd_items"
            />
        </Items>
    </View>

    <View id="upload_photo_root">
        <Items>
            <Query
                class="type:x-xmb/folder-pixmap"
                key="upload_photo_hdd"
                src="#upload_photo_hdd"
            />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_bdvd_device"
                src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Photo&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA+AGL+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_BDROM %xCB_MEDIA_TYPE_DVDPRW"
                />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_cd_device"
                src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Photo&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA+AGL+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_CDROM %xCB_MEDIA_TYPE_CDMRW"
                />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_ms_device"
                src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Photo&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_MS+AGL+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_MS_STD %xCB_MEDIA_TYPE_MS_R+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA"
                />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_sd_device"
                src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Photo&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_SD+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA"
                />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_cf_device"
                src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Photo&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_CF+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA"
                />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_usbpsp_device"
                src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Photo&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_USBPSP+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA&sort=+StorageMedia:Common.stat.timeImported"
                />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_usbspecial_device"
                src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Photo&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+AGL+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_USBCAMERA %xCB_DEVICE_TYPE_USBAAD+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA&sort=+StorageMedia:Common.stat.timeImported"
                />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_usb_aad_new_device"
                src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Photo&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+AGL+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_USBAADWM %xCB_DEVICE_TYPE_USBWM+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA&sort=+StorageMedia:Common.stat.timeImported"
                />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_usbmass_device"
                src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Photo&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_USBMASS+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA&sort=+StorageMedia:Common.stat.timeImported"
                />
        </Items>
    </View>

    <View id="upload_music_hdd_items">
        <Items>
            <Query
                class="type:x-xmb/folder-pixmap"
                key="seg_music_playlist"
                src="xmb://localhost/%flash/xmb/category_music.xml#seg_playlist_mgmt"
            />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="music_hdd"
                attr="music_hdd"
                src="sel://localhost/ex?root.view_selected.music"
            />
        </Items>
    </View>

    <View id="upload_music_hdd">
        <Attributes>
            <Table key="music_hdd">
                <Pair key="icon_rsc"><String>tex_music</String></Pair>
                <Pair key="icon_notation"><String>WNT_XmbListMusic</String></Pair>
                <Pair key="title_rsc"><String>msg_ps3_music</String></Pair>
                <Pair key="info_rsc"><String>msg_space</String></Pair>
                <Pair key="device_path"><String>/dev_hdd0</String></Pair>
                <Pair key="logical_sceme"><String>Music</String></Pair>
                <Pair key="child"><String>segment</String></Pair>
            </Table>
        </Attributes>
        <Items>
            <Query
                class="type:x-xmb/folder-pixmap"
                key="music_hdd"
                attr="music_hdd"
                src="#upload_music_hdd_items"
            />
        </Items>
    </View>

    <View id="upload_video_hdd_items">
        <Items>
            <Query
                class="type:x-xmb/folder-pixmap"
                key="video_hdd"
                src="sel://localhost/ex?root.view_selected.video"
            />
        </Items>
    </View>

    <View id="upload_video_hdd">
        <Attributes>
            <Table key="video_hdd">
                <Pair key="icon_rsc"><String>video_tex_load</String></Pair>
                <Pair key="icon_notation"><String>WNT_XmbListVideo</String></Pair>
                <Pair key="title_rsc"><String>msg_ps3_video</String></Pair>
                <Pair key="info_rsc"><String>msg_space</String></Pair>
                <Pair key="device_path"><String>/dev_hdd0</String></Pair>
                <Pair key="logical_sceme"><String>Video</String></Pair>
                <Pair key="child"><String>segment</String></Pair>
            </Table>
        </Attributes>
        <Items>
            <Query
                class="type:x-xmb/folder-pixmap"
                key="video_hdd"
                attr="video_hdd"
                src="#upload_video_hdd_items"
            />
        </Items>
    </View>

    <View id="upload_hdd_all_root">
        <Items>
            <Query
                class="type:x-xmb/folder-pixmap"
                key="upload_video_hdd"
                src="#upload_video_hdd"
            />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="upload_music_hdd"
                src="#upload_music_hdd"
            />
            <Query
                class="type:x-xmb/folder-pixmap"
                key="upload_photo_hdd"
                src="#upload_photo_hdd"
            />
        </Items>
    </View>


</XMBML>
 
Maybe, I Will look at uploading too.

On CFW it might be possible, with the mimetypes.xml, to have multiple download_plugins set up, patched differently depending on the mimetype detected.

Code:
<?xml version="1.0"?>
<mimetypes>
<!-- (default value)
<entry>
<mimetype>sample/type</mimetype>
<plugin>hogehoge_plugin</plugin>
<moduleinterfaceversion>1</moduleinterfaceversion>
<moduleoption>1</moduleoption>
<surfacepoolsize>524288</surfacepoolsize>
<privateheapsize>98304</privateheapsize>
<option>12</option>
<userdata>data</userdata>
</entry>
-->
<entry>
<mimetype>application/devil303</mimetype>
<plugin>download_plugin</plugin>
<surfacepoolsize>524288</surfacepoolsize>
<privateheapsize>65536</privateheapsize><!--64KB-->
<userdata></userdata>
</entry>
<entry>
<mimetype>application/x-ps3-update</mimetype>
<plugin>videodownloader_plugin</plugin>
<surfacepoolsize>524288</surfacepoolsize>
<privateheapsize>65536</privateheapsize><!--64KB-->
<userdata></userdata>
</entry>
<entry>
<mimetype>application/x-ps3-theme</mimetype>
<plugin>download_plugin</plugin>
<surfacepoolsize>524288</surfacepoolsize>
<privateheapsize>65536</privateheapsize><!--64KB-->
<userdata></userdata>
</entry>
</mimetypes>

@sandungas Did you know the PS3 has partial support for EBOOT.PBP updates for PSP. Its like they were going to have lots of integration with PSP, but removed it at day one, commented it out in lots of places. But icons and references still exist.

upload_2019-4-8_11-56-10.png





upload_2019-4-8_11-58-30.png
 
@DeViL303 This is just an idea to consider: The file extension is irrelevant for many tasks. e.g. You can install a PUP or mount an ISO with a different extension. If you can get these files listed in Photo, Music or Video using *.iso.bmp, *.iso.wav or *.iso.pam we could also use the native file manager to copy these files between hdd0/usb.

We only would have to add the XMB queries to list them in separated groups ;) For instance, webMAN could be modified to scan these folders and list/mount the files with extension *.iso.pam (or the extension that you choose).

A simple EBOOT could be created to rename and move the files to predefined paths based on the sub-extension or use a tag for custom paths. e.g.
*.sprx.pam -> /plugins
*.pkg.pam -> /packages
*.iso.pam -> /PS3ISO
*.[ps3iso].pam -> /PS3ISO
*.[ps2iso].pam -> /PS2ISO
*.[pspiso].pam -> /PSPISO
*.[dvdiso].pam -> /DVDISO
*.[bdiso].pam -> /BDISO
*.[pup].pam -> /updater/01
*.pup.[updater~02].pam -> /updater/02
*.txt.[game~IRISMAN00~USRDIR].pam -> /game/IRISMAN00/USRDIR ;)

An ISO version of the EBOOT could be used to call it from a combo in webMAN MOD.
 
Last edited:
Ok, I have made some nice progress on this over last couple of hours. I decided to make a new thread, as that old one cover tonnes of methods, most of them not working. This is working, Ive actually got 2 new methods, but there is a few issues, hopefully we can solve them.

So first of all, I found this list of filetypes in download_plugin.sprx.

So that was start of this new path, first of all i was like hold on, we can play PAMs from the XMB can we? So i tried downloading a PAM, and guess what, I could download, it, and i could download it in the background, but XMB would not play it. Anyway, then i knew that this was a whitelist for files allowed to be downloaded to HDD. Success!

So then i noticed further up there was a few other filetypes mentioned, including "pkg"

So i edited that a bit, editing 2 references to "p3t" to "pkg"

So that is first method, working 100%, we can download pkgs, from the browser, onto dev_hdd0/theme/ BUT no background download with this method. See video below for how it works. Man if themes had background download we would be sorted.

EDIT: now have them downloading to dev_hdd0/packages/ :)



View attachment 16237

I have attached the download plugin that allows this, see what you think, there are more hacks to be done here, I am guessing we can get file copy working in the same way too. :)

Anyway, i have another method, which i will put in next post.

First of all thank you so much devil and all the developers. You guys are crazy. Keep up the good work. All the best for future mods.

I'll try this method now..wow..haha
 
@DeViL303 This is just an idea to consider: The file extension is irrelevant for many tasks. e.g. You can install a PUP or mount an ISO with a different extension. If you can get these files listed in Photo, Music or Video using *.iso.bmp, *.iso.wav or *.iso.pam we could also use the native file manager to copy these files between hdd0/usb.

We only would have to add the XMB queries to list them in separated groups ;) For instance, webMAN could be modified to scan these folders and list/mount the files with extension *.iso.pam (or the extension that you choose).

A simple EBOOT could be created to rename and move the files to predefined paths based on the sub-extension or use a tag for custom paths. e.g.
*.sprx.pam -> /plugins
*.pkg.pam -> /packages
*.iso.pam -> /PS3ISO
*.[ps3iso].pam -> /PS3ISO
*.[ps2iso].pam -> /PS2ISO
*.[pspiso].pam -> /PSPISO
*.[dvdiso].pam -> /DVDISO
*.[bdiso].pam -> /BDISO
*.[pup].pam -> /updater/01
*.pup.[updater~02].pam -> /updater/02
*.txt.[game~IRISMAN00~USRDIR].pam -> /game/IRISMAN00/USRDIR ;)

An ISO version of the EBOOT could be used to call it from a combo in webMAN MOD.

That sounds really good. We just need to figure out the most user friendly way to do it. There are a few extensions we can definitely sacrifice, PAM and PAMF being 2 for a start as we dont need those on the XMB, not supported natively, and rare.

But first i would like to try better methods, it is good, but as that requires custom links, no existing links would work with that method, So will try do better, that is good second option though if cant sort it.

Is there no way to use a variable in an sprx that means everything like *?

I really like the idea of the eboot that moves files, because i can get any filetype to download into any folder right now, but only 1 path and filetype can be selected at a time. This is using the p3t code as it has static path. No background download, but still very useful.


See this for example:

 
Last edited:
Can you please tell me where should I inject the download plugin .sprx file and how to inject it using HAN tool box or from han official website.
 
Can you please tell me where should I inject the download plugin .sprx file and how to inject it using HAN tool box or from han official website.
You cant use these mods on HAN, this is CFW only. No modified sprx files will run on HAN. Sorry.

Maybe the guys on Team PS3xploit would consider making custom xploit to do this. idk. That is up to them.
 
You cant use these mods on HAN, this is CFW only. No modified sprx files will run on HAN. Sorry.

Maybe the guys on Team PS3xploit would consider making custom xploit to do this. idk. That is up to them.

This is so sad to here then. I'm on OFW. My bad luck. Huff..
 
This is so sad to here then. I'm on OFW. My bad luck. Huff..
You can try the download list xml i posted on last page, that should allow unknown filetypes to download to dev_hdd0 if you use background download, it will error if you dont use background download. The download will stay at 99% on the XMB, but its actually 100% done, the file ends up in dev_hdd0/vsh/task/0000000x
 
Is there no way to use a variable in an sprx that means everything like *?

I think that depends of the MIME type used in server side. If it cannot be patched in the sprx, the server would need to serve all CFW files with a single MIME type like: application/octet-stream, binary/octet-stream or the mime type used for *.p3t.
 
I think that depends of the MIME type used in server side.
Can something be served as a different mimetype to its extension, interesting. I thought the mimetype was based on the extension.

I can change mimetypes in the sprx, i can edit/replace them. just not sure how to. Any tips?

upload_2019-4-8_16-2-47.png
upload_2019-4-8_16-3-24.png
 
Back
Top