Quake 2 - temp ticket patch

nWo

The Game Master
Member
Joined
Oct 20, 2016
Messages
1,038
Trophies
0
Website
www.facebook.com
XP
3,208
Country
Mexico
Awesome work. I got a question about a game. Resident Evi Revelations 1 & 2 stopped working for me. When I check the tickets on DBI, it says "personalized". The games just don´t open, immediate error shows up. I have asked on noob paradise, made a thread and until now, nothing. Could you help me? I have no idea what "personalized" means. Thank you once again for your work!
 

mrdude

Developer
OP
Developer
Joined
Dec 11, 2015
Messages
3,071
Trophies
1
Age
56
XP
8,247
Awesome work. I got a question about a game. Resident Evi Revelations 1 & 2 stopped working for me. When I check the tickets on DBI, it says "personalized". The games just don´t open, immediate error shows up. I have asked on noob paradise, made a thread and until now, nothing. Could you help me? I have no idea what "personalized" means. Thank you once again for your work!
I don't know as I can't find any info on what all the different ticket types are, maybe ask @duckbill007
Post automatically merged:

@duckbill007

I modded the code in the previous page to this:
Code:
            // try to fix a temp ticket and change it t a permanent one
            //ECDSA SHA256
            if (tikBuf.get()[0x0] == 0x5 && tikBuf.get()[0x1C6] == 0x10)
            {
                    tikBuf.get()[0x1C6] = 0x0;
            }
       
            //RSA_2048 SHA256
            else if (tikBuf.get()[0x0] == 0x4 && tikBuf.get()[0x286] == 0x10)
            {
                    tikBuf.get()[0x286] = 0x0;
            }
       
            //RSA_4096 SHA256
            else if (tikBuf.get()[0x0] == 0x3 && tikBuf.get()[0x386] == 0x10)
            {
                    tikBuf.get()[0x386] = 0x0;
            }
       
            //ECDSA SHA1
            else if (tikBuf.get()[0x0] == 0x2 && tikBuf.get()[0x1C6] == 0x10)
            {
                    tikBuf.get()[0x1C6] = 0x0;
            }
       
            //RSA_2048 SHA1
            else if (tikBuf.get()[0x0] == 0x1 && tikBuf.get()[0x286] == 0x10)
            {
                    tikBuf.get()[0x286] = 0x0;
            }
       
            //RSA_4096 SHA1
            else if (tikBuf.get()[0x0] == 0x0 && tikBuf.get()[0x386] == 0x10)
            {
                    tikBuf.get()[0x386] = 0x0;
            }
            //

It patches that bitfield addess to be 0x0 (perm) if it finds 0x10 (temp) which seems to work fine for me, all the nsp files I tried have this Sig Method = RSA_2048 SHA256, do you know of what specific NSP files differ so I can check the extra code to fix these if I put the wrong address?, I can't seem to find other NSP files to check with though which have the different type sigs.

For those that want to test tinwoo with the above mods, this should hopefully fix your temp tickets to make them permanent when you install, then you can dump the installed nsp with whatever app you use to dump with and your new dump should be fixed.
 
Last edited by mrdude,

falconcrest

Well-Known Member
Member
Joined
Oct 20, 2009
Messages
437
Trophies
1
Age
35
Location
Underground
XP
2,788
Country
United States
I don't know as I can't find any info on what all the different ticket types are, maybe ask @duckbill007
Post automatically merged:

@duckbill007

I modded the code in the previous page to this:
Code:
            // try to fix a temp ticket and change it t a permanent one
            //ECDSA SHA256
            if (tikBuf.get()[0x0] == 0x5 && tikBuf.get()[0x1C6] == 0x10)
            {
                    tikBuf.get()[0x1C6] = 0x0;
            }
        
            //RSA_2048 SHA256
            else if (tikBuf.get()[0x0] == 0x4 && tikBuf.get()[0x286] == 0x10)
            {
                    tikBuf.get()[0x286] = 0x0;
            }
        
            //RSA_4096 SHA256
            else if (tikBuf.get()[0x0] == 0x3 && tikBuf.get()[0x386] == 0x10)
            {
                    tikBuf.get()[0x386] = 0x0;
            }
        
            //ECDSA SHA1
            else if (tikBuf.get()[0x0] == 0x2 && tikBuf.get()[0x1C6] == 0x10)
            {
                    tikBuf.get()[0x1C6] = 0x0;
            }
        
            //RSA_2048 SHA1
            else if (tikBuf.get()[0x0] == 0x1 && tikBuf.get()[0x286] == 0x10)
            {
                    tikBuf.get()[0x286] = 0x0;
            }
        
            //RSA_4096 SHA1
            else if (tikBuf.get()[0x0] == 0x0 && tikBuf.get()[0x386] == 0x10)
            {
                    tikBuf.get()[0x386] = 0x0;
            }
            //

It patches that bitfield addess to be 0x0 (perm) if it finds 0x10 (temp) which seems to work fine for me, all the nsp files I tried have this Sig Method = RSA_2048 SHA256, do you know of what specific NSP files differ so I can check the extra code to fix these if I put the wrong address?, I can't seem to find other NSP files to check with though which have the different type sigs.

For those that want to test tinwoo with the above mods, this should hopefully fix your temp tickets to make them permanent when you install, then you can dump the installed nsp with whatever app you use to dump with and your new dump should be fixed.
This installer fixes the ticket issue with Rainbow Skies,at least!
Just deleted my old copy,reinstalled with your installer,started the game:it worked.
Quit the game,rebooted the system:it still works+the ticket is still there/has become permanent.
Great work and thank you!
 
  • Like
Reactions: mrdude

mrdude

Developer
OP
Developer
Joined
Dec 11, 2015
Messages
3,071
Trophies
1
Age
56
XP
8,247
This installer fixes the ticket issue with Rainbow Skies,at least!
Just deleted my old copy,reinstalled with your installer,started the game:it worked.
Quit the game,rebooted the system:it still works+the ticket is still there/has become permanent.
Great work and thank you!
No worries, I just reuploaded the installer to also fix the bad dumps ticket masterkey back to 0x10, so if you use that to reinstall your game the masterkey should also be fixed.

Also added an option to the settings page to convert the temp tickets during install if you want to do this.
 
Last edited by mrdude,

OrGoN3

Well-Known Member
Member
Joined
Apr 23, 2007
Messages
3,264
Trophies
1
XP
3,439
Country
United States
I thought these tickets were from people dumping games from a shared Switch account and not the primary account? As in, when the primary buys a game and the other a local Switch users on that device can play the game.
 

duckbill007

Well-Known Member
Member
Joined
May 5, 2011
Messages
783
Trophies
1
XP
2,862
Country
Russia
I must be missing something, the page I found shows the ticket size to be 0x2C0, and the offset for the license to be at 0x144. I find that wiki to be confusing with the addresses as I am using windows and the endianness on that page is for linux if I am honest and it doesn't tell you all the different license types on it.

https://switchbrew.org/wiki/Ticket

All the tickets I checked have the license type in the same place, for the game nsp files. I'll do some more checking though. Thanks for your help though.
As mentioned on that page ticket data starts at offset Y, which is defined by signature type an vary from 0x3C to 0x200
 

mrdude

Developer
OP
Developer
Joined
Dec 11, 2015
Messages
3,071
Trophies
1
Age
56
XP
8,247
  • Like
Reactions: linuxares

reseh15074

New Member
Newbie
Joined
Oct 22, 2023
Messages
2
Trophies
0
Age
39
XP
12
Country
Barbados
So it's speculation on your part then.
not speculation, mate. take 5 seconds and check for yourself.

download NSPs wherever online, and then check the tickets. _a lot_ of NSPs for some reason have the master key revision byte at the license type offset instead.

as said, this never mattered in the past because master key revision in the ticket doesnt actually do anything, and all the previous license types didn't affect functionality. until now where we're getting into the temporary ticket license types which do affect functionality.

you know, I would have expected you of all people to understand this. you're normally a lot more knowledgeable about how switch stuff works.

Here is one example from 2020 (rune factory 4 special dlc), I'm sure you can find more on your own

2023102210520200-DB1426D1DFD034027CECDE9C2DD914B8.jpg
 
Last edited by reseh15074,

mrdude

Developer
OP
Developer
Joined
Dec 11, 2015
Messages
3,071
Trophies
1
Age
56
XP
8,247
not speculation, mate. take 5 seconds and check for yourself.

download NSPs wherever online, and then check the tickets. _a lot_ of NSPs for some reason have the master key revision byte at the license type offset instead.

as said, this never mattered in the past because master key revision in the ticket doesnt actually do anything, and all the previous license types didn't affect functionality. until now where we're getting into the temporary ticket license types which do affect functionality.

you know, I would have expected you of all people to understand this. you're normally a lot more knowledgeable about how switch stuff works.
It doesn't matter, it's fixed in tinwoo and dbi now (I'm not sure about others) so when you install with a temp ticket it converts it automatically into a permanent ticket.
 
  • Haha
Reactions: reseh15074

reseh15074

New Member
Newbie
Joined
Oct 22, 2023
Messages
2
Trophies
0
Age
39
XP
12
Country
Barbados
It doesn't matter, it's fixed in tinwoo and dbi now (I'm not sure about others) so when you install with a temp ticket it converts it automatically into a permanent ticket.
you could also just accept that you had no idea what you were talking about, that would work too
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    S @ salazarcosplay: :gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::gun::g...