Quake 2 - temp ticket patch

  • Thread starter Thread starter mrdude
  • Start date Start date
  • Views Views 9,487
  • Replies Replies 35
  • Likes Likes 9
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!
 
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,
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
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,
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!
What installer?
 
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.
 
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
 
  • Like
Reactions: linuxares
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,
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
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