mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-19 21:03:48 -07:00
Replace ATR list by Ludovic Rousseau list
This commit is contained in:
parent
2c72763a5a
commit
11d38f26d1
3 changed files with 2756 additions and 616 deletions
62
client/atr_scrap_pcsctools.py
Executable file
62
client/atr_scrap_pcsctools.py
Executable file
|
@ -0,0 +1,62 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
# python3 -m pip install urllib unidecode
|
||||
|
||||
import urllib.request
|
||||
import unidecode
|
||||
|
||||
ATR_URL='https://raw.githubusercontent.com/LudovicRousseau/pcsc-tools/master/smartcard_list.txt'
|
||||
|
||||
C_HEADER="""//-----------------------------------------------------------------------------
|
||||
// List scraped from
|
||||
// """ + ATR_URL + """
|
||||
// Copyright (C) 2002-2021 Ludovic Rousseau
|
||||
//
|
||||
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
|
||||
// at your option, any later version. See the LICENSE.txt file for the text of
|
||||
// the license.
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef ATRS_H__
|
||||
|
||||
#define ATRS_H__
|
||||
#include <stddef.h>
|
||||
|
||||
typedef struct atr_s {
|
||||
const char *bytes;
|
||||
const char *desc;
|
||||
} atr_t;
|
||||
|
||||
const char *getAtrInfo(const char *atr_str);
|
||||
|
||||
// atr_t array is expected to be NULL terminated
|
||||
const static atr_t AtrTable[] = {
|
||||
{ "3BDF18FFC080B1FE751F033078464646462026204963656D616E1D", "Cardhelper by 0xFFFF and Iceman" },
|
||||
"""
|
||||
|
||||
C_FOOTER=""" {NULL, "N/A"}
|
||||
};
|
||||
|
||||
#endif
|
||||
"""
|
||||
|
||||
def main():
|
||||
with open('src/atrs.h','w') as fatr:
|
||||
s = urllib.request.urlopen(ATR_URL).read().decode()
|
||||
atr = None
|
||||
desc = ''
|
||||
fatr.write(C_HEADER)
|
||||
for line in s.split('\n'):
|
||||
if len(line) == 0 or line[0] == '#':
|
||||
continue
|
||||
if line[0] == '\t':
|
||||
desc += ['\\n',''][len(desc)==0] + unidecode.unidecode(line[1:]).replace('"',"'").replace('\\','\\\\')
|
||||
else:
|
||||
if atr is not None:
|
||||
fatr.write(f' {{ "{atr}", "{desc}" }},\n')
|
||||
atr = line.replace(' ','')
|
||||
desc = ''
|
||||
fatr.write(f' {{ "{atr}", "{desc}" }},\n')
|
||||
fatr.write(C_FOOTER)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue