VitaSmith / cdecrypt

Decrypt Wii U NUS content — Forked from: https://code.google.com/archive/p/cdecrypt/
Other
345 stars 25 forks source link

Program has issues decrypting following titles #16

Closed teamgt19 closed 1 year ago

teamgt19 commented 1 year ago

Child of Light [0005000E1015B200] (Wii U Download Only) (TITLE v0010) (UPDATE v16) China Warrior [0005000010165500] (TurboGrafx16) Darts Up [0005000010135100] (Wii U Download Only) (TITLE v0000) Devil's Third [0005000E10177600] (Wii U Retail & Download) (TITLE v0010) (UPDATE v16) Kirby and the Rainbow Curse [0005000E101ABC00] (Wii U Retail & Download) (TITLE v0010) (UPDATE v16) Mario & Sonic at the Rio 2016 Olympic Games [0005000E101E5300] (Wii U Retail & Download) (TITLE v0010) (UPDATE v16) Mario Party 10 [0005000E10162D00] (Wii U Retail & Download) (TITLE v0010) (UPDATE v16) Shockman [0005000010165D00] (TurboGrafx16) Star Fox Guard [0005000E101BEC00] (Wii U Retail & Download) (TITLE v0010) (UPDATE v16) Star Fox Zero [0005000E101B0400] (Wii U Retail & Download) (TITLE v0010) (UPDATE v16) TEKKEN TAG TOURNAMENT 2 Wii U EDITION [0005000E10110000] (Wii U Retail & Download) (TITLE v0020) (UPDATE v32) The Legend of Zelda Twilight Princess HD [0005000E1019E500] (Wii U Retail & Download) (TITLE v0051) (UPDATE v81) Tokyo Mirage Sessions #FE [0005000E101ED800] (Wii U Retail & Download) (TITLE v0010) (UPDATE v16) Wii Karaoke U [000500001010B800] (TITLE v0001) Zumba Fitness World Party [0005000E10142A00] (Wii U Retail & Download) (TITLE v0010) (UPDATE v16)

VitaSmith commented 1 year ago

Thanks for the report.

I'll accept a patch if someone is willing to contribute one, because I am not planning to look into this personally due to lack of time.

alichaudry commented 10 months ago

I can vouch for this issue (specifically, the Tekken Tag Tournament 2 Update one).

Should we keep these Github issues open so it brings more visibility to them? If someone with the skills and the time drops by to take a look, it would be nice to have it front and center rather than "closed."

alichaudry commented 10 months ago

Okay, so I tried using a different decryption tool written in python to see if the behavior is the same, and it seems like in my specific update file (ttt2 update/patch v32) the output of this python decrypter and cdecrypt is almost exactly the same; in fact, all the files that were output were exact replicas (I generated and matched the sha256 of every file output by both decryption methods), but the python decrypter had an additional (empty) content directory, whereas the output of cdecrypt did not. In fact, when I created a blank directory content in the cdecrypt output and had Cemu refresh, it was able to see the update files!

So I can't speak for all the mentioned games in the original issue, but it seems like the only difference between the two decryption methods in my case was this extra empty directory. Given this experiment above, here are some of my observations and musings:

  1. Is it acceptable to not include a directory if it's empty? Is that the Wii U's behavior?
  2. Should Cemu should be resilient against a missing content directory?
  3. Maybe the patch/update in the encrypted source is missing this directory in the first place (see point 1 above).
  4. Is the python-based decrypter creating a content directory on purpose, or is that a bug (will review the code shortly to understand what's going on).
  5. Should cdecrypt have the same behavior as the python decrypter in point 4?
alichaudry commented 10 months ago

Funnily enough, I just saw this on reddit. Seems like it's sort-of a known issue?