PS3 [Research] Brick Resistant XMB Patch

Discussion in 'XMB Modifications' started by DeViL303, Oct 10, 2019.

  1. 7,089
    8,418
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    7,089
    Likes Received:
    8,418
    Trophy Points:
    797
    Occupation:
    Part-Time XMB Modder
    Location:
    Ireland
    Few small things I've discovered that may not be known and are kind of interesting

    This first patch I call the Brick Resistant XMB Patch. Normally when the XMB loads initially, if any of the category xmls are missing, or the icontex.qrc file is missing then the PS3 kicks you to recovery.

    I have discovered that this is just some kind of security check and not a real crash, and the PS3 is perfectly capable of booting regardless of missing files. This uses a little trick and some bad coding of the check in the first place I guess. :)

    Myself and @Joonie and @sandungas discussed this before a little when we were talking about the definition of a crash. I was saying that I don't consider this a crash when you get kicked to recovery due to missing xml/qrc, I think a crash is when the PS3 loses control and freezes or similar. I think in the case of kicking to recovery due to missing FW files its not a crash but a sub routine,

    Basically if issue = missing files on /dev_flash then = kick to recovery. The way I see it the PS3 is still fully in control and able to accept commands, its just decided to do something different based on its conditions it found itself in


    The trick here is that the ps3 only kicks to recovery if its looking for xmls or qrc on /dev_flash/ specifically...So if we edit the path to be for example //dev_flash/ , well then the ps3 no longer cares about missing files and just continues to load what it can.


    Another handy thing I discovered is that you can do this with a simple 1 byte patch to explore_plugin.sprx that makes all xmls brick resistant, so you dont need to edit each path and xml individually, just edit it here:

    [​IMG]
    upload_2019-10-10_21-37-6.png


    With that patch applied you can delete all xml for example, and you just get empty categories. You can apply the same patch to icontex.qrc in the custom_render_plugin.sprx, this patch might work in other places too.

    IMO really this should be applied to all CFW as there is no downside.

    You can even remap all category xmls to other paths like usb/hdd by just editing that one place as that is where %flash is defined. Any other paths than the default dev_flash will not kick to recovery if files are missing.

    [​IMG]
     
    Last edited: Oct 10, 2019
    Shaayn, T.A.U, Evilnat and 15 others like this.
  2. 1,552
    980
    222
    Louay

    Louay Senior Member

    Joined:
    Jan 23, 2017
    Messages:
    1,552
    Likes Received:
    980
    Trophy Points:
    222
    Gender:
    Male
    Occupation:
    College Student,GAMING,REPAIRING,XMB Modder
    Location:
    Tunisia
    Home Page:
    this is awesome :encouragement:
     
    DeViL303 likes this.
  3. 7,089
    8,418
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    7,089
    Likes Received:
    8,418
    Trophy Points:
    797
    Occupation:
    Part-Time XMB Modder
    Location:
    Ireland
    To make icontex.qrc brick resistant too. Due to there not being room in the sprx you need to shorten the name of icontex.qrc to icontx.qrc in the sprx, and don't forget to rename the file:

    upload_2019-10-10_21-42-1.png


    upload_2019-10-10_21-45-14.png
     
    T.A.U, Louis Garry, LuanTeles and 3 others like this.
  4. 57
    74
    17
    MrMario2011

    MrMario2011 PSX-Place Supporter

    Joined:
    Apr 9, 2019
    Messages:
    57
    Likes Received:
    74
    Trophy Points:
    17
    Gender:
    Male
    This is a pretty impressive discovery. Solid work!
     
    DeViL303 likes this.
  5. 7,089
    8,418
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    7,089
    Likes Received:
    8,418
    Trophy Points:
    797
    Occupation:
    Part-Time XMB Modder
    Location:
    Ireland
    Cheers, yeah simple and effective. I noticed when editing it to usb that it did not soft brick anymore, so then tried to come up with a path that would fool it but still link to dev_flash, It didnt take long. I think /dev_hdd0/../dev_flash/vsh/resource/explore/xmb/ probably would have worked too but its longer and space is limited, luckily enough // worked.
     
  6. 31
    14
    32
    Laith

    Laith Member

    Joined:
    May 3, 2018
    Messages:
    31
    Likes Received:
    14
    Trophy Points:
    32
    Gender:
    Male
    This is a really neat find, good job!
     
    DeViL303 likes this.
  7. 5,949
    5,629
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,949
    Likes Received:
    5,629
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    I dont understand why it works, but yeah smart trick :D
     
    DeViL303 likes this.
  8. 7,089
    8,418
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    7,089
    Likes Received:
    8,418
    Trophy Points:
    797
    Occupation:
    Part-Time XMB Modder
    Location:
    Ireland
    I kind of do understand it, think about it. If we add a query in xml to dev_hdd0/game/ then the PS3 does not care if it exists or not, But if we add exact same xml query to exact same xml but on flash then its a brick if file is deleted. So basically the PS3 has a rule: If file is on dev_flash then it must exist or else soft brick and demand FW reinstallation.

    This means there is some simple integrity check or security check to stop you deleting files, or to make sure corrupt files get fixed. The check is very badly implemented a bit like the write protection on dev_flash. All you need to do is change the name and it does not think you are reading from or writing to dev_flash anymore so it treats the path like dev_hdd0 or dev_usb etc. The real trick was finding that double // lead to same path, as I know nothing about that kind of thing so that was a bit of luck.
     
    Last edited: Oct 10, 2019
  9. 7,089
    8,418
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    7,089
    Likes Received:
    8,418
    Trophy Points:
    797
    Occupation:
    Part-Time XMB Modder
    Location:
    Ireland
    Interestingly both 12GB superslims and NAND consoles do not care about missing xmls even without this patch, Just tested deleting xmls on my NAND, it doesn't give a shit. :D
     
    jeka26, VTSTech and Kier_1234657 like this.
  10. 1,591
    1,719
    297
    pink1

    pink1 Moderator Developer

    Joined:
    Feb 25, 2015
    Messages:
    1,591
    Likes Received:
    1,719
    Trophy Points:
    297
    Gender:
    Male
    In C/C++ “//“ comments out the line. I’m not sure if that has anything to do with it.
     
    DeViL303 likes this.
  11. 7,089
    8,418
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    7,089
    Likes Received:
    8,418
    Trophy Points:
    797
    Occupation:
    Part-Time XMB Modder
    Location:
    Ireland
    I don't think so, as any path other than dev_flash has same effect regardless of the //. That is just a way to get it to still look to flash, a bit of luck.
     
    aldostools and pink1 like this.
  12. 1,591
    1,719
    297
    pink1

    pink1 Moderator Developer

    Joined:
    Feb 25, 2015
    Messages:
    1,591
    Likes Received:
    1,719
    Trophy Points:
    297
    Gender:
    Male
    Didn’t really think so but as soon as I saw the two forward slashes that came to mind.
     
    DeViL303 likes this.
  13. 977
    1,038
    247
    LuanTeles

    LuanTeles Senior Member

    Joined:
    May 15, 2017
    Messages:
    977
    Likes Received:
    1,038
    Trophy Points:
    247
    Gender:
    Male
    Occupation:
    Civil Engineer
    Location:
    São Paulo - Brazil
    Home Page:
    Nice job as usual, i realized that too, if u delete like e.g explorer_plugin_full.rco it will kick you to the recovery.

    but if you leave a dummy file with the name of the missing rco it will boot normally.

    the only file i see that works good even deleting it, is coldboot.raf if you unlink it in the custom_render.rco
     
    Kier_1234657 and DeViL303 like this.
  14. 7,089
    8,418
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    7,089
    Likes Received:
    8,418
    Trophy Points:
    797
    Occupation:
    Part-Time XMB Modder
    Location:
    Ireland
    My NAND with no patches , standard Rebug. and no icontex.qrc or xmls. Boots fine, can still use ftp and look at wave :)

    upload_2019-10-10_23-54-2.png


    Yeah you can delete coldboot rafs and coldboot ac3 files and the ps3 does not care. Due to this I have an idea that I am using in my Rebug Mod. All xmls, all Coldboot ac3 files, and coldboot raf , and custom render plugin sprx and rco and xmb_plugin sprx and rco are read from dev_flash2/ and are not included in the PUP. this way when you update to Rebug Mod 4.85, Rebug Mod 4.86 etc your XMB setup stays intact. Really I want lines.qrc to read from dev_flash2 as well but having trouble with that patch so far. :) the cool thing is that dev_flash2 is not wiped in a format, and its not wiped in a FW reinstall, so you can have XMB permanently modded throughout FW updates. I think its the way forward and also its an extra 15MB that we can be using that is wasted.
     
    Last edited: Oct 10, 2019
    jeka26, Kier_1234657 and LuanTeles like this.
  15. 304
    145
    72
    Niander466

    Niander466 Member

    Joined:
    Dec 23, 2017
    Messages:
    304
    Likes Received:
    145
    Trophy Points:
    72
    Gender:
    Male
    Occupation:
    Nurse
    Home Page:
    work in hen?
     
  16. 7,089
    8,418
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    7,089
    Likes Received:
    8,418
    Trophy Points:
    797
    Occupation:
    Part-Time XMB Modder
    Location:
    Ireland
    No.
     
    Niander466 likes this.
  17. 304
    145
    72
    Niander466

    Niander466 Member

    Joined:
    Dec 23, 2017
    Messages:
    304
    Likes Received:
    145
    Trophy Points:
    72
    Gender:
    Male
    Occupation:
    Nurse
    Home Page:
    hope is the last one that dies
     
    jeka26 likes this.
  18. 27
    10
    32
    rapsincorte

    rapsincorte Member

    Joined:
    Oct 12, 2018
    Messages:
    27
    Likes Received:
    10
    Trophy Points:
    32
    Could you give me a file as an example?
     
  19. 977
    1,038
    247
    LuanTeles

    LuanTeles Senior Member

    Joined:
    May 15, 2017
    Messages:
    977
    Likes Received:
    1,038
    Trophy Points:
    247
    Gender:
    Male
    Occupation:
    Civil Engineer
    Location:
    São Paulo - Brazil
    Home Page:
    ??????????????? what
     
    Niander466 likes this.
  20. 304
    145
    72
    Niander466

    Niander466 Member

    Joined:
    Dec 23, 2017
    Messages:
    304
    Likes Received:
    145
    Trophy Points:
    72
    Gender:
    Male
    Occupation:
    Nurse
    Home Page:
    lol, i meant i still believe this goes to hen somehow.
     

Share This Page