From 8e7489ec57acd014b3b5c21bdde27fd4163bbbb0 Mon Sep 17 00:00:00 2001 From: NinjaCheetah <58050615+NinjaCheetah@users.noreply.github.com> Date: Fri, 28 Mar 2025 08:12:32 -0400 Subject: [PATCH] Updated signing info in info command to match rustii's formatting --- commands/title/info.py | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/commands/title/info.py b/commands/title/info.py index e7ed2ca..bd91253 100644 --- a/commands/title/info.py +++ b/commands/title/info.py @@ -74,19 +74,18 @@ def _print_tmd_info(tmd: libWiiPy.title.TMD, signing_cert=None): print(f" AHB Access: {tmd.get_access_right(tmd.AccessFlags.AHB)}") if signing_cert is not None: try: - signed = libWiiPy.title.verify_tmd_sig(signing_cert, tmd) - if signed: - signing_str = "Valid (Unmodified)" + if libWiiPy.title.verify_tmd_sig(signing_cert, tmd): + signing_str = "Valid (Unmodified TMD)" elif tmd.get_is_fakesigned(): signing_str = "Fakesigned" else: - signing_str = "Invalid (Modified)" + signing_str = "Invalid (Modified TMD)" except ValueError: if tmd.get_is_fakesigned(): signing_str = "Fakesigned" else: - signing_str = "Invalid (Modified)" - print(f" Signing Status: {signing_str}") + signing_str = "Invalid (Modified TMD)" + print(f" Signature: {signing_str}") else: print(f" Fakesigned: {tmd.get_is_fakesigned()}") # Iterate over the content and print their details. @@ -153,19 +152,18 @@ def _print_ticket_info(ticket: libWiiPy.title.Ticket, signing_cert=None): print(f" Title Key (Decrypted): {binascii.hexlify(ticket.get_title_key()).decode()}") if signing_cert is not None: try: - signed = libWiiPy.title.verify_ticket_sig(signing_cert, ticket) - if signed: - signing_str = "Valid (Unmodified)" + if libWiiPy.title.verify_ticket_sig(signing_cert, ticket): + signing_str = "Valid (Unmodified Ticket)" elif ticket.get_is_fakesigned(): signing_str = "Fakesigned" else: - signing_str = "Invalid (Modified)" + signing_str = "Invalid (Modified Ticket)" except ValueError: if ticket.get_is_fakesigned(): signing_str = "Fakesigned" else: - signing_str = "Invalid (Modified)" - print(f" Signing Status: {signing_str}") + signing_str = "Invalid (Modified Ticket)" + print(f" Signature: {signing_str}") else: print(f" Fakesigned: {ticket.get_is_fakesigned()}") @@ -205,17 +203,22 @@ def _print_wad_info(title: libWiiPy.title.Title): tmd_cert = None ticket_cert = None try: - signed = title.get_is_signed() tmd_cert = title.cert_chain.tmd_cert ticket_cert = title.cert_chain.ticket_cert - if signed: - signing_str = "Valid (Unmodified)" + if title.get_is_signed(): + signing_str = "Legitimate (Unmodified TMD + Ticket)" elif title.get_is_fakesigned(): signing_str = "Fakesigned" + elif (libWiiPy.title.verify_tmd_sig(tmd_cert, title.tmd) + and not libWiiPy.title.verify_ticket_sig(ticket_cert, title.ticket)): + signing_str = "Piratelegit (Unmodified TMD, Modified Ticket)" + elif (not libWiiPy.title.verify_tmd_sig(tmd_cert, title.tmd) + and libWiiPy.title.verify_ticket_sig(ticket_cert, title.ticket)): + signing_str = "Edited (Modified TMD, Unmodified Ticket)" else: - signing_str = "Invalid (Modified)" + signing_str = "Illegitimate (Modified TMD + Ticket)" except ValueError: - signing_str = "Invalid (Modified)" + signing_str = "Illegitimate (Modified TMD + Ticket)" print(f" Signing Status: {signing_str}") print("") _print_ticket_info(title.ticket, ticket_cert)