Homebrew Discussion Shall we choose a specific mark for homebrew application IDs?

Shall we choose a specific mark?

  • I don't care, just choose a normal ID.

    Votes: 0 0.0%

  • Total voters
    27

XorTroll

Switching between my 2DS and my Switch
OP
Developer
Joined
Dec 28, 2017
Messages
642
Trophies
1
Location
Nowhere
Website
github.com
XP
4,229
Country
Spain
Hi everyone!

Regular titles use 0100.... and latest chars are zeros too, to distinguish from updates.

I personally suggest using a different start mark, like 0300, 0400, 0500...
That way it would be easier to distinguish from retail games, and title managers like Tinfoil or Goldleaf could add the option to distinguish homebrew via that special digits.

For example, I'm going to use the application ID 010032A5CF120000 with Goldleaf, but it would be easier if we used a specific mark for homebrew.
Letting anyone use their custom and random IDs can be dangerous, because IDs ending with ...800 are installed as updates (and must be)

What do you think about that? I personally prefer 0300... mark.
Mentioning @blawar as he asked me about this idea, and he might be interested on this discussion.

And yes, application ID = title ID, but application ID is the term used by the official Nintendo libraries and tools, so I prefer to use it.
 
Last edited by XorTroll,

blawar

Developer
Developer
Joined
Nov 21, 2016
Messages
1,708
Trophies
1
Age
40
XP
4,311
Country
United States
Hi everyone!

Regular titles use 0100.... and latest chars are zeros too, to distinguish from updates.

I personally suggest using a different start mark, like 0300, 0400, 0500...
That way it would be easier to distinguish from retail games, and title managers like Tinfoil or Goldleaf could add the option to distinguish homebrew via that special digits.

For example, I'm going to use the application ID 010032A5CF120000 with Goldleaf, but it would be easier if we used a specific mark for homebrew.
Letting anyone use their custom and random IDs can be dangerous, because IDs ending with ...800 are installed as updates (and must be)

What do you think about that? I personally prefer 0300... mark.
Mentioning @blawar as he asked me about this idea, and he might be interested on this discussion.

And yes, application ID = title ID, but application ID is the term used by the official Nintendo libraries and tools, so I prefer to use it.

I just pushed an update last night for Tinfoil/DZ:

Added homebrew titleid mask 05XXXXXXXXXXY000 where Y is an even digit. Use Nro2Nsp.


My app will only install homebrew that uses these titleid's. NRO2NSP can build NSP's with this format, I do not know about the others.

It's a really new addition, so if the community wants to come together for a different mask, we can change it as long as the new way is better. It is important that we all have standards. Just dont ask me to change it months down the road :)
 
Last edited by blawar,
  • Like
Reactions: XorTroll

macia10

Well-Known Member
Member
Joined
Aug 13, 2012
Messages
123
Trophies
1
XP
775
Country
Poland
I believe that someone already suggested 0500... somewhere but I cannot find it now.
Ahh (ninja'd)
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
I updated the wiki page to sort the chapters and add the new pattern recommendation. I hope I didn't write too big mistakes...
if "01" is not a requirement, then any convention will be fine to choose for homebrew. but can't it be easy for nintendo to filter "05" or any non "01"? I suppose CFW would patch these restriction easily.
Well, let me know if you chose a different pattern and I'll update the wiki again.

I'm not sure what enforcing 05 to install an nsp will achieve. It's not a brick prevention (bad titles can use 05 too), and other patterns are working fine too. maybe something I didn't think about?
 
Last edited by Cyan,

blawar

Developer
Developer
Joined
Nov 21, 2016
Messages
1,708
Trophies
1
Age
40
XP
4,311
Country
United States
I updated the wiki page to sort the chapters and add the new pattern recommendation. I hope I didn't write too big mistakes...
if "01" is not a requirement, then any convention will be fine to choose for homebrew. but can't it be easy for nintendo to filter "05" or any non "01"? I suppose CFW would patch these restriction easily.
Well, let me know if you chose a different pattern and I'll update the wiki again.

I'm not sure what enforcing 05 to install an nsp will achieve. It's not a brick prevention (bad titles can use 05 too), and other patterns are working fine too. maybe something I didn't think about?

a) its guaranteed that nintendo wont release a title that conflicts with a homebrew title id.
b) it lets title managers know immediately that a title is homebrew.

As for your other question, nintendo could detect ANY pattern we decide to use. and if we dont use a pattern, we run the higher risk of title id collision with future legit title id's. The title id space is actually not that big - collissions with legit title id's are a real concern.

It would also be an epic troll if nintendo started using our title id space LOL. I wouldnt even be mad, id just think that shit was funny af.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
ah, yes, that I understand.
I also don't think they will ever use that range, 05 is far enough.
It's like the Wii, on all the 255 available slots for IOS, homebrew used slots range from 200-255 to prevent collision and nintendo never used it for official IOS, they kept using slots in incremental order, and never reached slot100.
 

Localhorst86

Robert'); DROP TABLE members;--
Member
Joined
Jul 17, 2014
Messages
2,736
Trophies
1
Location
Nintendo works for my dad
XP
5,345
Country
Germany
I'm not sure what enforcing 05 to install an nsp will achieve. It's not a brick prevention (bad titles can use 05 too), and other patterns are working fine too. maybe something I didn't think about?

I think the intention would be for title installers to show a message when installing homebrew application, warning the user that he is about to install a homebrew application with unknown permisions/functionality and he should double check to trust the source of the application.

We already have something similar on the PS Vita where applications can either be installed with limited permissions and without a warning or they can contain a flag asking for extended permissions (write permisions to crucial parts of the system) but triggering the warning message asking the user for these extended permissions.

Of course, this requires title installers to only install 01 title id's when they are signed by nintendo., DZ by @blawar does that already, according to its changelog - I guess @XorTroll would also implement something similar.
 
  • Like
Reactions: 0000ff

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
If it's a collision prevention it's fine, but if it's a risk prevention I feel it's not enough but of course better than nothing. it's a quick patch in response to current brick situation, so it's good.

If it's a safety purpose, checking whether it's signed 01 or non signed 05 title id should be fine to detect if it's a retail games or a homebrew packed into a fake release, but all homebrew will have a prompt even legit ones, and old legit homebrew not repacked to use 05 will be wrongly filtered.
no need to check the titleID to know if it's signed or not and detect if it's retail or homebrew, the titleID range is really only a collision concern.


homebrew (or fake game release with brickware inside) will use 05, or seen as unsigned, and will be granted installation anyway, after accepting the prompted warning. at best, it's only a prevention for developers "you were warned, you accepted, not my fault", but it will not protect anyone.
Prompting for homebrew installation is not a full protection, because if you want to install a homebrew you know you want to. At least, you'll have the prompt for fake game releases, you'll know it's a homebrew and not a game which is a good protection.

If possible at pre-install step, checking the application permission (not the titleID) would be a better protection, and a warning should be displayed only for homebrew with system partition access, no warning needed for userland homebrew (like savegame permission). unfortunately, as far as I know, all nsp packers are currently set to allow all permission, right? nobody cared to set the permission as an option with limited rights by default.
I know I might request a lot and I'm not capable of doing it myself, but I feel it would be a better solution to actually check permission, much like Android apps and list of requested access.
Blawar, if you include such a solution in your installer, may I request that part to be shared publicly? or anyone making it first, not necessarily you. It would benefit everyone and should be public and open sources, no need to reinvent it, and it can be improved, instead of keeping it for yourself. safety should be done for all the users, not private. Of course, we would need the nsp packer tools to be updated as well to set permissions flags accordingly as required. lot of work on both sides.
 
Last edited by Cyan,

re.lax

Well-Known Member
Member
Joined
Apr 5, 2009
Messages
243
Trophies
1
Location
United States, Texas
XP
1,045
Country
United States
I started using 05xxxxxxxxxx0000 as the new format as requested to make it easier to indentify homebrew. Don’t know if that’s going to be a trend or not but probably be wise if we all agreed on something to avoid conflicts. I’d advice we move away from 01 as it’ll start to lead to title I’d conflicts eventually since real title use that.

As far as security it won’t stop hombrew items from containing brickcode but it will with titles. Anything with 01 will be checked to see if they are signed and won’t install if it’s not. So any homebrew or xci2nsps won’t install as they are modified with the title Id 01. 05 removes the need for being signed and can still be dirty tho. That’s the way tinfoil/dz is designed as far as I’m aware
 
Last edited by re.lax,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: Or Genesis.