python libraires and command line tools for SIM/UICC/USIM/ISIM card analysis and programming. https://osmocom.org/projects/pysim
Go to file
Holger Hans Peter Freyther 44e4636755 re-program: Instead of specifying the IMSI, read it from the card. 2012-08-15 21:09:01 +02:00
pySim usim/opc: Add support to write completely random OPC 2012-03-22 15:25:19 +01:00
.gitignore Add README, COPYING, .gitignor 2009-12-27 09:43:51 +01:00
COPYING Add README, COPYING, .gitignor 2009-12-27 09:43:51 +01:00
README README: Mention the necessary wait_for_card 2011-07-27 08:55:44 +02:00
pySim-prog.py re-program: Instead of specifying the IMSI, read it from the card. 2012-08-15 21:09:01 +02:00

README

This utility allows to :

 * Program customizable SIMs. Two modes are possible:

  - one where you specify every parameter manually :

./pySim-prog.py -n 26C3 -c 49 -x 262 -y 42 -i <IMSI> -s <ICCID>


  - one where they are generated from some minimal set :

./pySim-prog.py -n 26C3 -c 49 -x 262 -y 42 -z <random_string_of_choice> -j <card_num>

    With <random_string_of_choice> and <card_num>, the soft will generate
    'predictable' IMSI and ICCID, so make sure you choose them so as not to
    conflict with anyone. (for eg. your name as <random_string_of_choice> and
    0 1 2 ... for <card num>).

  You also need to enter some parameters to select the device :
   -t TYPE : type of card (supersim, magicsim, fakemagicsim or try 'auto')
   -d DEV  : Serial port device (default /dev/ttyUSB0)
   -b BAUD : Baudrate (default 9600)

 * Interact with SIMs from a python interactive shell (ipython for eg :)

from pySim.transport.serial import SerialSimLink
from pySim.commands import SimCardCommands

sl = SerialSimLink(device='/dev/ttyUSB0', baudrate=9600)
sc = SimCardCommands(sl)

sl.wait_for_card()

	# Print IMSI
print sc.read_binary(['3f00', '7f20', '6f07'])

	# Run A3/A8
print sc.run_gsm('00112233445566778899aabbccddeeff')