Hey there.

So... you use an ad blocker. That's cool. Sometimes we do too.

But without ad revenue, we wouldn't even be here. And we might not be here much longer.

Please disable your ad blocker and click to continue.

Page 7 of 7 First ... 67
  1. #61
    bigblockchev Guest

    Wink Progress

    I am learning the file format. I have seen evidence that these ps3 rco files are showing structure signs of older <2.60 rco files. I will focus on the uncompressed rco files now as I believe I can uncover most of the structure rather quickly.

    Dug up this old tool and got results using dlna_plugin.rco from xfcj's modified rco's.

    C:\Unixdos>rcotool -l test2.rco
    *.rco detected... fw ver: 1.50-2.50

    Labels for 16 languages

    Graphicfiles: 2
    tex_dlna (.png)
    tex_dlna_shadow (.png)

    Soundfiles: 0
    Objectfiles: 0

    Both RCOEdit and rcotool are showing promise. This result may also explain why Ressursiklunssi does try to process graphics even if this file is not compressed.

  2. #62
    xfcj Guest
    After looking at the structure of the sound and image tables I realized that they're made up of headers for each image/audio file in the rco. Each file gets a header that is 0x3c bytes with the first two words needing to be flipped then the rest of the header is made up of dwords that need to be flipped.

    Currently I've got something wrong with the data that says what format the images are in since they're not getting decompressed when extracted with RCOEdit.

  3. #63
    SniprSnake Guest
    the only thing that caught my eye was when opening the dlna.plugin.rco with notepad u can read some text like
    the internet connection is disabled. Go to[Settings]>[Network Settings] and enable internet connection. a connection to the network could not be established. Go to[Settings]>[Network Settings] and check your settings. There are too many Media servers. some media servers will not be displayed. no media servers were found. 1 media servers was found. a Ethernet cable is not connected. scanning... please wait.
    but in many languages...

    i think this RCO is for the media server options....

  4. #64
    almar Guest
    Wow there seems to be big progress. But what i don't understand is that you are using these tools on the ps3 version, why not look at how they are made and change the tools instead of the files so that we can extract all the relevant data on the pc?

  5. #65
    bigblockchev Guest

    Post Research results...

    The osk_plugin.rco posted here for analysis has hex 71000000 @ 0x04 similar to the fw2.50 structure. Technically this meant the file had a "normal" table section. (see below)

    Before fw2.60 the rco file structure was not heavily compressed and many rco's were "normal".

    Taking note of hex values 71 00 00 00, the newer compressed ps3 rco file friendim_plugin.rco has 00 00 01 07 or preferably 07 01 00 00 in the header. Looks like a split of 7 and 1 into a whole byte per value.

    I wonder if this split shows a sign of how the file has changed over to the ps3. Maybe this is a "normal compressed" rco file. Would the ps3 start anything at a plain-text level anyway? Could the header be shifted
    slightly, simply?

    I am posting my organized research so far.

    [Register or Login to view code]

    Above information gleaned from various sources. Thanks to all sources respectfully listed here:

  6. #66
    Kantraz Guest
    Quote Originally Posted by SniprSnake View Post
    the only thing that caught my eye was when opening the dlna.plugin.rco with notepad u can read some text like but in many languages...

    i think this RCO is for the media server options....
    I think, that could be usefull to hack.. Then you could stream homebrew over a media server :P

  7. #67
    xfcj Guest
    After looking at the files some more I realized there are more headers in the tables that I was missing. I fixed up the image and sound tables but still slightly confused with the text and page tables. I'll look into these more tomorrow.

    Attached is a new version of osk_plugin.rco that you can extract the images and sound out of with RCOEdit.

  8. #68
    bigblockchev Guest

    Lightbulb Progress


    Great work.

    I've been playing around with your modified osk_plugin.rco (ps3). I took the original osk_plugin.rco (ps3) and reversed the entire file and dropped your header on it.

    RCOEdit identified the "French" language in the drop down list where no languages were listed before.

    So that got me thinking and I reversed the entire original osk_plugin.rco (ps3) file and ran it through rcotool.

    [Register or Login to view code]

    What do we see?

    Well straight away an identification to debug/1.0 firmware and 10 language labels found. Previously we found 16 language labels in xfcj's modified dlna_plugin.rco (ps3). We also have PNG graphics files Of course all the text is strange.

    Then I ran your modified osk_plugin.rco (ps3) through rcotool.

    [Register or Login to view code]

    What do we see?

    What we expected. Normal fw detection, same languages but most importantly GIM graphics files.

    I think this goes a long way to letting us assume we probably only have 2 img filetypes in this RCO to choose from.

    Remember, there is no evidence that the RCO file format has changed too drastically. I have also learned that *some* previous RCO files were decompressable with different versions of gzip. The other compressor used was zlib. Can someone try extracting these 2 new files with different versions of gzip and zlib. I will attach both new files to this message for convenient and speedy testing.


    Reversing this section of code changes GIM to PNG. Must be this section that is actual graphics files data.

    0x4DE0 - 0x6B20

  9. #69
    xfcj Guest
    @bigblockchev: In osk_plugin.rco 0x4DE0-0x66E8 is the image data and 0x66E8-0x78E8 is the sound data.

    osk_plugin.rco has changed some things with the text section. All the psp RCOs used 2 bytes per character, but the PS3 osk_plugin uses 4 bytes per character. Also, the values of 0x10000-0x1000B are used to identify the language of the text in the psp RCOs, but the PS3 osk_plugin seems to use 0x20000-0x20009 posibly to signify that the text is encoded in 4 bytes instead of 2. dnla_plugin.rco has 0x10000-0x1000F for the languages, which means that Sony has added at least 4 more languages to the ps3.

    I've also looked further into the page tables and fixed them up mostly. There's still some data that I don't know what it does, but it is somewhat sequential between the pages.

    Attached is the fixed up dlna_plugin and osk_plugin.

Page 7 of 7 First ... 67

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Log in