python libraires and command line tools for SIM/UICC/USIM/ISIM card analysis and programming. https://osmocom.org/projects/pysim
Go to file
Sylvain Munaut 454bd52572 27c3: Add a ccc-fix script to correct bad SMSP file ...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-12-26 21:31:24 +01:00
pySim commands: Fix bug in verify_chv. 2010-12-23 20:28:58 +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 Split all things into a more "library-like" package 2010-12-07 00:24:32 +01:00
ccc-fix.py 27c3: Add a ccc-fix script to correct bad SMSP file ... 2010-12-26 21:31:24 +01:00
ccc-gen.py Initial add of 27C3 HLR management tools 2010-12-26 00:11:19 +01:00
ccc-prog.py Import of the programming tool 2010-12-26 01:01:21 +01:00
ccc.py Initial add of 27C3 HLR management tools 2010-12-26 00:11:19 +01:00
pySim-prog.py pySim-prog: Fix insertion of Ki in HLR. Need to escape like DBI does it 2010-12-23 20:28:24 +01: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)

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

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