Merge branch 'master' of github.com:RfidResearchGroup/proxmark3

This commit is contained in:
iceman1001 2024-03-03 10:56:35 +01:00
commit c62b1cda70
2 changed files with 52 additions and 15 deletions

3
.gitignore vendored
View file

@ -37,6 +37,9 @@ originalitysig.csv
# new build file for add-ons.
Makefile.platform
Makefile.platform.*
!Makefile.platform.sample
# Cache for detecting platform def changes
.Makefile.options.cache

View file

@ -1,5 +1,5 @@
# Benjamin DELPY `gentilkiwi`
# https://blog.gentilkiwi.com /
# https://blog.gentilkiwi.com/
# benjamin@gentilkiwi.com
#
# Basic script to try to interpret Intertic data on ST25TB / SRT512 in french transports
@ -53,18 +53,46 @@ ISO_Countries = {
}
FRA_OrganizationalAuthority = {
0x000: 'Lille (Ilévia / Keolis) - Angoulême (Tadao / Transdev)',
0x006: 'Amiens (Ametis / Keolis)',
0x008: 'Angoulême (STGA)',
0x021: 'Bordeaux (TBM / Keolis)',
0x072: 'Tours (filbleu / Keolis)',
0x078: 'Reims (Citura / Transdev)',
0x907: 'Dijon (Divia / Keolis)',
0x908: 'Rennes (STAR / Keolis)',
0x912: 'Cherbourg-en-Cotentin (Cap Cotentin / Transdev)',
0x913: 'Nîmes (Tango / Transdev)',
0x917: 'Saint-Nazaire (Stran) / Angers (Irigo / RATP)',
FRA_OrganizationalAuthority_Contract_Provider = {
0x000: {
5: 'Lille (Ilévia / Keolis)',
7: 'Lens-Béthune (Tadao / Transdev)',
},
0x006: {
1: 'Amiens (Ametis / Keolis)',
},
0x008: {
15: 'Angoulême (STGA)',
},
0x021: {
1: 'Bordeaux (TBM / Keolis)',
},
0x072: {
1: 'Tours (filbleu / Keolis)',
},
0x078: {
4: 'Reims (Citura / Transdev)',
},
0x091: {
1: 'Strasbourg (CTS)',
},
0x907: {
1: 'Dijon (Divia / Keolis)',
},
0x908: {
1: 'Rennes (STAR / Keolis)',
},
0x912: {
3: 'Le Havre (Lia / Transdev)',
35: 'Cherbourg-en-Cotentin (Cap Cotentin / Transdev)',
},
0x913: {
3: 'Nîmes (Tango / Transdev)',
},
0x917: {
4: 'Angers (Irigo / RATP)',
7: 'Saint-Nazaire (Stran)',
},
}
@ -176,7 +204,7 @@ def main():
Distribution_Cer.addBits(data.nom_bits(32))
# No USAGE for 0x0a
case 0x0b: # Not in draft :(
case 0x0b: # Not in the draft :(
Distribution_Data.addBits(data.nom_bits(4 * 32))
C1.addBits(data.nom_bits(32))
C2.addBits(data.nom_bits(32))
@ -222,9 +250,15 @@ def main():
print()
print('DISTRIBUTION')
print(' CountryCode : {:03x} - {}'.format(CountryCode, ISO_Countries.get(CountryCode, '?')));
print(' OrganizationalAuthority : {:03x} - {}'.format(OrganizationalAuthority, FRA_OrganizationalAuthority.get(OrganizationalAuthority, '?') if(CountryCode == 0x250) else 'not FR'));
print(' OrganizationalAuthority : {:03x}'.format(OrganizationalAuthority));
print(' ContractApplicationVersionNumber:', ContractApplicationVersionNumber);
print(' ContractProvider :', ContractProvider);
if (CountryCode == 0x250):
oa = FRA_OrganizationalAuthority_Contract_Provider.get(OrganizationalAuthority)
if (oa is not None):
s = oa.get(ContractProvider)
if (s is not None):
print(' ~ Authority & Provider ~ :', s)
print(' ContractTariff :', ContractTariff);
print(' ContractMediumEndDate : {} ({})'.format(ContractMediumEndDate, (datetime(1997, 1, 1) + timedelta(days = ContractMediumEndDate)).strftime('%Y-%m-%d')));
print(' left... :', Distribution_left);