2010-05-08 11 views
15

irgendein GSM kompatibel SIM-Karte (Bonus für 3G USIM).Wie für den Zugriff auf programmatisch eine SIM-Karte?

Ich nehme ich einige Hardware benötigen? Kann jemand etwas Günstiges für Hobbyisten und etwas Professionelleres empfehlen?

Ich nehme an, dass es mit der h voll docs einer API sein/w, vielleicht sollte diese „no-Programmierung-related“ markiert werden? Entschuldigung, wenn ja.

Jedes gute URLs oder Bücher (ich bin mit den 3GPP-Standards conversant).

Ich bin nicht (schwarzer Hut) hacken, mach dir keine Sorgen, einfach nicht zufrieden mit den Leuten wie SIM Card Secretary, Data Doctor Recovery, etc, so würde ich meinen eigenen Code, aber könnte es kommerzielle, oder bieten SIM-Kartenprogrammierdienstleistungen (Daten wiederherstellen beschädigt Karte, usw.) als Neben.


Update: während ich bin in erster Linie daran interessiert für meine Backup-SMS liest gerade, könnte es ein Bonus, wenn jemand einen billigen SIM-Karte Schriftsteller weiß (so dass ich alle oder einen Teil des SIM sichern und wiederherstellen es später)

+1

Suchen Sie nach einer Möglichkeit, die SIM mit einem Kartenleser zu lesen? – Bernd

+0

Ja, ich bin. Kannst du irgendeinen empfehlen? – Mawg

Antwort

19

Sie können das mit jedem PC/SC-Chipkartenleser (und Schreiber, wie andere darauf hingewiesen haben) und einem Programm, das die Daten für Sie lesen und parsen kann.

  • auf eine Karte Im Gespräch wird über APDU-Kommandos durchgeführt (definiert in ISO-7816)
  • Das Set Befehl von SIM (2G) und USIM (3G) Karten ist anders, so dass Sie, dass halten müssen in mind
  • Die Struktur und das Format des Dateisystems einer SIM-Karte ist in GSM 11.11 (für 2G) und ETSI TS 131.102 (für 3G) definiert - all diese Dokumentation ist öffentlich und kostenlos verfügbar
  • Die SMS sind in einer Datei namens EF SMS gespeichert, ist sein Name 0x6F3C, seine Struktur ist in Abschnitt 10.5.3 von GSM 11 definiert.11

Direkte Antworten auf Ihre Fragen:

  • Hier ist, wo auf buy a SIM reader, klicken Sie auf ‚Fotos‘ Bilder von dem Gerät und Screenshots der Software
  • SIM Manager wird das Programm, um zu sehen, die alles tut Sie wollen (einschließlich Lesen SMS, SMS-Wiederherstellung, kann es sogar gelöschte SMS zu erholen versuchen - wenn sie noch physisch auf der Karte sind)
  • A SIM card SDK ist ebenfalls verfügbar. Es ist eine DLL, die Sie in Ihrem Programm laden und anwenden können. Diese Sache macht die ganze harte Arbeit für Sie, alles, was Sie brauchen, ist eine GUI auf der Oberseite

Ich bin einer der Leute aus dem Team, das SIM-Manager und das zuvor erwähnte SDK erstellt.

+0

Ich erkunde ETSI Website. Es gibt viele Spezifikationen und Standards. Welche muss ich verwenden, um mit der Programmierung von SIM-Karten und USIM-Karten zu beginnen? Sind die oben genannten Spezifikationen nicht veraltet? (Bitte erwähnen Sie Spezifikationen für verschiedene SIM-Karten) Danke. – Jean

+0

Es könnte neue Überarbeitungen dieser Standards geben, aber die Grundlage ist vorhanden und welche neue Funktionalität hinzugefügt wird, wird diese Standards erweitern, anstatt sie zu ersetzen. Sie sollten das als Ausgangspunkt verwenden und danach haben Sie ein besseres Bild davon, wo Sie sonst noch hinschauen können. – Alex

+0

GSM, ETSI, 3GPP? Auf welchen muss ich mich beziehen? Gibt es eine andere Spezifikation/Norm für (U) SIM-Karten? Darf ich Sie bitten, diese Spezifikationen mit dem von Ihnen angestrebten Konzept in Einklang zu bringen? – Jean

2

Es gibt viele Produkte und Hardware zum Lesen und Schreiben von SIM-Karten, werfen Sie einen Blick auf http://forum.gsmhosting.com/vbb/f500/ in diesem Forum finden Sie viele Informationen über SIM-Karten, Handys .. eine der größten Ressource seit 1999! für Hardware-Programmierer, können Sie Ihre eigenen wie JDM oder ICprog .. überprüfen kiscan.net für einige Informationen ..

+0

+1 Danke, das sieht auf den ersten Blick gut aus. Ich werde es überprüfen und zu dir zurückkommen. Ach, ich bin streng s/w, ohne Wissen von mir. – Mawg

4

Sie werden sicherlich einen Smartcard-Reader und von dem, was ich herausfinden konnte, schön viel wird jeder tun, weil sie alle die Standardfunktionalität unterstützen müssen. Sie sind auch ziemlich billig. Meine ist ein OmniKey (ich bin mir nicht sicher welches Modell, weil ich es gerade nicht hier habe).

Vorausgesetzt, dass Sie unter Windows entwickeln, verfügt die Windows-API über Funktionen, die den Zugriff auf Smartcards ermöglichen. Here ist ein Artikel über CodeProject, der dies ausführlicher als Teil einer Reihe von C# -Klassen diskutiert, die Ihnen Zugriff auf eine Menge dieser Dinge geben, ohne sich mit den Schrauben und Muttern verwickeln zu müssen. Ich denke, dass die Beispiel-App des Typen speziell für SIM-Karten gedacht ist, das wird wahrscheinlich helfen.

+0

+1 Das klingt fantastisch. Ich wusste nicht, dass Windows eine API dafür hatte. Ich werde es überprüfen und zu dir zurückkommen. Danke noch einmal. – Mawg

+1

Kein Problem. :) BTW, Chipkartenleser == Smartcard-Writer. Ich habe meinen OmniKey- "Leser" verwendet, um Daten auf eine SLE4442-Speicherchipkarte zu schreiben, die etwas anders ist, da es nicht so einfach ist, mit einer SIM-Karte zu arbeiten, aber das Prinzip ist dasselbe. – dandan78

+0

+1 Danke für den Tipp. Das hat mich überrascht – Mawg

1

Sie können simLAB Werkzeug zum Lesen und Bearbeiten fast jeder SIM-Datei verwenden. Es funktioniert mit jedem PC/SC Smartcard-Leser. Das Tool ermöglicht Ihnen auch, SIM-Dateisystem zu sichern.

Werfen Sie einen Blick auf https://github.com/kamwar/simLAB

1
  1. pySim

    Im folgenden Beispiel ändern wir die IMSI des Karte 901700000003080 (Option -i) und wir einen neuen Satz Angabe -n Name (Name des Betreibers), -t TYPE (Kartentyp), -c CC (Ländercode), -x MCC (mobile Country Code), -y MNC (mobile Network Code) und es ID (Integrated Circuit Card ID).

    $ ./pySim-prog.py -p 0 -n OpenBSC -t sysmosim-GR1 -i 901700000003080 -c 001 x 001 -y 02 es 1791198229180000075 Ist es genug, nur die neue SIM-Karte mit neuer Füllung meta und es wird auf die gleiche Weise wie Original zu arbeiten? pyusb

    Hier vollständige Liste der Optionen

    $ ./pySim-prog.py -hilfe Anwendung: pySim-prog.py [Optionen] Optionen:
    -h, --help diese Hilfemeldung anzeigen und -d DEV beenden, --device = DEV Serielles Gerät für SIM-Zugriff [default:/dev/ttyUSB0] -b BAUD, --baud = BAUD Baudrate wird für den SIM-Zugriff verwendet [Standard: 9600] -p PCSC, --pcsc-device = PCSC Welche PC/SC-Lesernummer für den SIM-Zugriff -t TYPE, --type = TYPE Kartentyp (Benutzer-Liste anzeigen) [default: auto] -a PIN_ADM, --pin-adm = PIN_ADM ADM-PIN für die Provisionierung (überschreibt die Standardeinstellung) -e, --erase Löscht vorher [Standard: Falsch]
    -S SOURCE, --source = QUELLE Datenquelle [Standard: cmdline] -n NAME, --name = NAME Operatorname [Standard: Magie] -c CC, --country = CC Ländercode [Standard: 1] -x MCC, --mcc = MCC Mobiler Ländercode [Standard: 901] -y MNC, --mnc = MNC Mobilfunknummer [Standard: 55] -m SMSC, --smsc = SMSC SMSP [Standard: '00 + Ländercode + 5555'] -M SMSP, --smsp = SMSP Raw SMSP Inhalt in hex [Standard: auto von SMSC] -s ID, --iccid = ID ID der integrierten Schaltung -i IMSI, --imsi = IMSI Kennung des internationalen Mobilteilnehmers -k KI, --ki = KI Ki (Standard ist Randomisierung) -o OPC, --opc = OPC OPC (Standard ist Randomisierung) --op = OP OP auf setzen OPC von OP und KI ableiten --acc = ACC Setzen Sie die ACC-Bits (Access Control Code). nicht alle Kartentypen werden unterstützt -z STR, --secret = STR Geheim für ICCID/IMSI verwendet autogen -j NUM, --num = NUM ​​Kartennummer für verwendet ICCID/IMSI autogen --batch Stapelmodus aktivieren [Standard : False] --batch-state = FILE Optionale Batch-Statusdatei
    --read-csv = FILE Parameter aus der CSV-Datei statt der Befehlszeile lesen --write-csv = FILE Angepasste Parameter in anhängen CSV-Datei --write- hlr = Datei anhängen generierten Parameter zu OpenBSC HLR sqlite3 --dry-run Führen Sie eine ‚Trockenlauf‘, programmiere nicht tatsächlich die Karte

    Der Quellcode ist verfügbar.

  2. Auch die SIM-Karte ist nur eine Smartcard. Sie können dazu pyscard oder verwenden. Ich fand this Q&A hilfreich.

Verwandte Themen