Homebrew CTRNAND contains newer title versions on downgraded O3DS

TBreaker

Well-Known Member
OP
Newcomer
Joined
Dec 4, 2012
Messages
49
Trophies
0
XP
126
Country
Gambia, The
Hi guys,

I recently used decrypt9 and dumped my CTRNAND.bin. I opened that in a Hexeditor and searched for the title IDs of the system files and then looked up the version.

Now there's a thing that I'm wondering about if this is really supposed to be correct.
I found system titles with their corresponding version numbers for firmware 9.2, but the same system titles are also in there with the corresponding version numbers for older and even newer firmwares.

I can understand that older system titles might be in there, but is it really correct that the newer system titles are still there? I guess they shouldn't be there anymore after downgrading?

Any help/clarification about this matter is much appreciated!
 

Syphurith

Beginner
Member
Joined
Mar 8, 2013
Messages
641
Trophies
0
Location
Xi'an, Shaanxi Province
XP
364
Country
Switzerland
Sysupdater just replace the newer titles with what you offered to it. So no such auto-clean. If you want, you can make a feature to read a text file, and remove those if there is.
Not too hard if you know how to code in C and code reading, since the necessary ARM11 calls for such is already done (at least) once in current sysupdater source code.
EDIT:: Forgot some tips[/s] Once that is done, find those titleIDs should not be there, and write the list. You may run with even no CIA then.
Downgrading = removing newer version titles to install their old versions.
It's 100% normal that titles that didn't need to be downgraded are still there.
Exactly the reason. Thanks for your effort on memchunkhax2 with sysupdater.
 
Last edited by Syphurith,
  • Like
Reactions: Mrrraou and TuxSH

TBreaker

Well-Known Member
OP
Newcomer
Joined
Dec 4, 2012
Messages
49
Trophies
0
XP
126
Country
Gambia, The
Downgrading = removing newer version titles to install their old versions.

It's 100% normal that titles that didn't need to be downgraded are still there.
Well, it's not that they didn't need to be downgraded since the latest version of NATIVE_FIRM is also still there.

At offset 0x4B8378C I found the title ID of NATIVE_FIRM (0004013800000002) with version number v17120 from 9.0 update, but at offset 0x924F78C is NATIVE_FIRM but with version number v22313 from 10.2 update.
The same goes for the Internet Browser and other titles.
Sysupdater just replace the newer titles with what you offered to it. So no such auto-clean. If you want, you can make a feature to read a text file, and remove those if there is.
Not too hard if you know how to code in C and code reading, since the necessary ARM11 calls for such is already done (at least) once in current sysupdater source code.
EDIT:: Forgot some tips[/s] Once that is done, find those titleIDs should not be there, and write the list. You may run with even no CIA then.

Exactly the reason. Thanks for your effort on memchunkhax2 with sysupdater.
So they are just useless leftovers that don't affect anything?

Even though I have some knowledge in C, I better won't do anything that modifies the NAND. :unsure:
 

Syphurith

Beginner
Member
Joined
Mar 8, 2013
Messages
641
Trophies
0
Location
Xi'an, Shaanxi Province
XP
364
Country
Switzerland
Well, it's not that they didn't need to be downgraded since the latest version of NATIVE_FIRM is also still there.
At offset 0x4B8378C I found the title ID of NATIVE_FIRM (0004013800000002) with version number v17120 from 9.0 update, but at offset 0x924F78C is NATIVE_FIRM but with version number v22313 from 10.2 update.
The same goes for the Internet Browser and other titles.
So they are just useless leftovers that don't affect anything?
DId you checked the NAND FIRM SECTIONs? That should be all from a same NATIVE_FIRM version. Or else, something is going mad.
BTW it seems not the FIRMs.. Cause FIRM sections only contains the .FIRM that included in NATIVE_FIRM, not itself.
If you are saying about the Folder of NATIVE_FIRM, there should be only one .CMD that working. If so that's just some left over.
Yeah i haven't had time to post document about CMD type (not know much about that). But there should always be only one .CMD, indicating it which to load/use.
 

TBreaker

Well-Known Member
OP
Newcomer
Joined
Dec 4, 2012
Messages
49
Trophies
0
XP
126
Country
Gambia, The
DId you checked the NAND FIRM SECTIONs? That should be all from a same NATIVE_FIRM version. Or else, something is going mad.
BTW it seems not the FIRMs.. Cause FIRM sections only contains the .FIRM that included in NATIVE_FIRM, not itself.
If you are saying about the Folder of NATIVE_FIRM, there should be only one .CMD that working. If so that's just some left over.
Yeah i haven't had time to post document about CMD type (not know much about that). But there should always be only one .CMD, indicating it which to load/use.
Sorry for the late reply didn't have enough time this week.
Maybe this is a noobish question but what folder are you talking about?
I just looked into CTRNAND.bin with a hexeditor. Is there an easier way to do so?

Or is there even a better way to find out all version numbers of my currently installed system titles?
 

zoogie

playing around in the end of life
Developer
Joined
Nov 30, 2014
Messages
8,560
Trophies
2
XP
15,000
Country
Micronesia, Federated States of
Sorry for the late reply didn't have enough time this week.
Maybe this is a noobish question but what folder are you talking about?
I just looked into CTRNAND.bin with a hexeditor. Is there an easier way to do so?

Or is there even a better way to find out all version numbers of my currently installed system titles?
You're looking for titles on the raw nand binary which means you'll not only find installed titles, but ones that were marked for deletion and not presently overwritten.

That's how file systems usually work. Once deleted, the record of that file is removed, but it is usually not replaced until it's space is needed by a new file.

The correct way to find installed files is mounting ctrnand in something like osfmount and opening the filesystem up. Otherwise, use the proper 3ds AM functions to get the installed nand title list and their versions.
ex. https://github.com/svanheulen/downgrade_check
 
Last edited by zoogie,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Maximumbeans @ Maximumbeans: butte