N'importe quelle ancienne carte SIM compatible GSM (bonus pour 3G USIM).
Je suppose que j'ai besoin de matériel? Quelqu'un peut-il recommander quelque chose de pas cher pour les amateurs et quelque chose de plus professionnel?
Je présume qu'il y aura une documentation complète d'une API avec le h/w, alors peut-être que cela devrait être étiqueté "non lié à la programmation"? Désolé, si oui.
Tous les bons URL ou livres (je suis au courant des normes 3GPP).
Je ne suis pas un pirate informatique, ne vous inquiétez pas, vous n'êtes pas satisfait des fonctions de secrétaire de carte SIM, de récupération de données, etc., alors j'aimerais coder le mien, mais vous pourriez le commercialiser ou vous proposer une carte SIM. services de programmation (récupération de données à partir d'une carte endommagée, etc.) en parallèle.
Mise à jour: bien que mon intérêt principal soit de lire mon SMS pour la sauvegarde, cela pourrait être un bonus si quelqu'un connaissait un graveur de carte SIM bon marché (pour pouvoir sauvegarder tout ou partie de la carte SIM et la restaurer plus tard)
Vous pouvez le faire avec n’importe quel lecteur de carte à puce PC/SC (et le graveur, comme d’autres l'ont fait remarquer) et un programme capable de lire et d’analyser les données pour vous.
Réponses directes à vos questions:
Je fais partie de l'équipe qui a créé SIM Manager et le SDK susmentionné.
Vous aurez certainement besoin d’un lecteur de carte à puce et, d’après ce que j’ai pu découvrir, quasiment tout le monde le fera parce qu’ils doivent tous prendre en charge les fonctionnalités standard. Ils se trouvent également être assez bon marché. Le mien est une OmniKey (je ne sais pas quel modèle car je ne l'ai pas ici pour le moment).
En supposant que vous développiez sous Windows, l’API Windows possède des fonctions permettant d’accéder aux cartes à puce. Here est un article sur CodeProject qui analyse cela plus en détail dans le cadre d'un ensemble de plusieurs classes C # qui vous donnent accès à un tas de ces éléments sans avoir à vous embrouiller avec les détails. Je pense que l'exemple d'application de ce type est spécifiquement conçu pour les cartes SIM. Cela aidera donc probablement.
Il existe de nombreux produits et matériels pour lire et écrire des cartes SIM, consultez http://forum.gsmhosting.com/vbb/f500/ dans ce forum, vous trouverez de nombreuses informations sur les cartes SIM, les téléphones mobiles .. l'une des plus grandes ressources depuis 1999! pour les programmeurs matériels, vous pouvez créer le vôtre, comme JDM ou ICprog .. consultez kiscan.net pour plus d'informations ..
Dans l'exemple ci-dessous, nous modifions l'IMSI de la carte en 901700000003080 (option -i) et nous spécifions un nouvel ensemble de -n NAME (nom de l'opérateur), -t TYPE (type de carte), -c CC (code de pays), -x MCC (code de pays du mobile), -y valeurs du MNC (code de réseau du mobile) et -s (ID de la carte de circuit intégré).
$ ./pySim-prog.py -p 0 -n OpenBSC -t sysmosim-gr1 -i 901700000003080 -c 001 -x 001 -y 02 -s 1791198229180000075
Est-il suffisant de remplir la nouvelle carte SIM avec une nouvelle méta et fonctionnera-t-il de la même manière que l'original? Pyusb
Voici la liste complète des options:
$ ./pySim-prog.py -help
Usage: pySim-prog.py [options] Options:
-h, --help show this help message and exit
-d DEV, --device=DEV Serial Device for SIM access [default: /dev/ttyUSB0]
-b BAUD, --baud=BAUD Baudrate used for SIM access [default: 9600]
-p PCSC, --pcsc-device=PCSC
Which PC/SC reader number for SIM access
-t TYPE, --type=TYPE Card type (user -t list to view) [default: auto]
-a PIN_ADM, --pin-adm=PIN_ADM
ADM PIN used for provisioning (overwrites default)
-e, --erase Erase beforehand [default: False]
-S SOURCE, --source=SOURCE
Data Source[default: cmdline]
-n NAME, --name=NAME Operator name [default: Magic]
-c CC, --country=CC Country code [default: 1]
-x MCC, --mcc=MCC Mobile Country Code [default: 901]
-y MNC, --mnc=MNC Mobile Network Code [default: 55]
-m SMSC, --smsc=SMSC SMSP [default: '00 + country code + 5555']
-M SMSP, --smsp=SMSP Raw SMSP content in hex [default: auto from SMSC]
-s ID, --iccid=ID Integrated Circuit Card ID
-i IMSI, --imsi=IMSI International Mobile Subscriber Identity
-k KI, --ki=KI Ki (default is to randomize)
-o OPC, --opc=OPC OPC (default is to randomize)
--op=OP Set OP to derive OPC from OP and KI
--acc=ACC Set ACC bits (Access Control Code). not all card types are supported
-z STR, --secret=STR Secret used for ICCID/IMSI autogen
-j NUM, --num=NUM Card # used for ICCID/IMSI autogen
--batch Enable batch mode [default: False]
--batch-state=FILE Optional batch state file
--read-csv=FILE Read parameters from CSV file rather than command line
--write-csv=FILE Append generated parameters in CSV file
--write-hlr=FILE Append generated parameters to OpenBSC HLR sqlite3
--dry-run Perform a 'dry run', don't actually program the card
Le code source est disponible.
Vous pouvez utiliser simLAB tool pour lire et éditer presque tous les fichiers SIM. Il fonctionne avec tous les lecteurs de cartes à puce PC/SC. L'outil vous permet également de sauvegarder le système de fichiers SIM.
Regardez https://github.com/kamwar/simLAB