diff --git a/tools/recover_pk.py b/tools/recover_pk.py index 465352498..2431c7a5f 100755 --- a/tools/recover_pk.py +++ b/tools/recover_pk.py @@ -382,6 +382,10 @@ def selftests(): 'samples': ["042A41CAE45380", "B2769F8DDB575AEA2A680ADCA8FFED4FAB81A1E9908E2B82FE0FABB697BBD9B23835C416970E75768F12902ACA491349E94E6589EAF4F508", "045640CAE45380", "D34B53A8C2C100D700DEA1C4C0D0DE4409F3A418CD8D57C4F41F146E42AD9A55F014199ABBF5CA259C7799DB0AE20D5E77D4950AC7E95D33"], 'pk': "04B304DC4C615F5326FE9383DDEC9AA892DF3A57FA7FFB3276192BC0EAA252ED45A865E3B093A3D0DCE5BE29E92F1392CE7DE321E3E5C52B3A" }, + {'name': "DESFire EV3", + 'samples': ["04448BD2DB6B80", "5CBB5632795C8F15263FEFB095B51C7B541AFD914A1AE44EF6FB8AF605EDF13DBFEE6C3A2DB372245E671DFE0D42CB1F0D0B8FE67A89D2F6", + "04445DD2DB6B80", "166BFD9F9BFAA451172566101580DF9894F582C4A4E258C15037AD2F35A475CF1D7FB817618623A6569F991931AFB2766984E21A18512A6D"], + 'pk': "041DB46C145D0A36539C6544BD6D9B0AA62FF91EC48CBC6ABAE36E0089A46F0D08C8A715EA40A63313B92E90DDC1730230E0458A33276FB743" }, # TODO one more Mifare Plus EV1... {'name': "Mifare Plus EV1", 'samples': ["042A2B221C5080", "BAC40CD88E9193C58ADA5055350C4F648EB5A7AEC4FCF9BD4CDD7B1C558DE5F59C6636F26286ED48622AAA2331D4DF1CEE23B57B94BDA631"], @@ -417,14 +421,14 @@ def selftests(): print("[OK]") else: succeeded = False - print("[FAIL]") + print("[FAIL], got %s" % pk.lower()) elif len(t['samples'])//2 == 1: pks = [binascii.hexlify(pk).decode('utf8').lower() for pk in list(recovered)] if t['pk'].lower() in pks: print("[OK] (partial)") else: succeeded = False - print("[FAIL]") + print("[FAIL], got %s" % pks) else: succeeded = False print("[FAIL]")