AgeCommit message (Collapse)AuthorFilesLines
2018-01-27pySim-fairwaves-prog: Read a selected A3/A8 algorithm.fairwaves/simAlexander Chemeris1-0/+7
Change-Id: I757ea725bd5616dbd6ef329ea5981063fd780761
2018-01-27Checking in pySim-read-all.py - utility to read all known files on a SIM card.Alexander Chemeris1-0/+126
Change-Id: Iaa301a8a6356d610753c2bba286187c3220833a9
2018-01-27commands: Allow reading binary/record files if they are already selected.Alexander Chemeris1-4/+10
Change-Id: Iad3b240eab8a54a4d0ef2623bc9dd17f7dce5fa5
2018-01-27utils: Add a function to decode SELECT result for EF files.Alexander Chemeris1-0/+19
Change-Id: Ib2af7fe5205654c5277fec01b6b0b10a68e472b9
2018-01-27utils: Zero-pad MCC and MNC in enc_plmn()Alexander Chemeris1-1/+1
Change-Id: I94607f6a87a416d05bd577a29d1466452921d604
2018-01-26Checking in various utilities to manipulate Fairwaves SIM card DB.Alexander Chemeris3-0/+359
Change-Id: Ibb49b127df68fd210e6b75e4f0b9c667d2c2cc7c
2018-01-26Checking in pySim-run-gsm.py - utility to run A3/A8 on a SIM card.Alexander Chemeris1-0/+97
Change-Id: Iea8f61bc86499734d432f668dd0b87af999abf27
2018-01-26pySim-read: Read SPN and use new EF constants to address other files.Alexander Chemeris1-9/+16
Change-Id: I3207edaa9670d1c76b1ba2142f1042794055e94c
2018-01-26pySim-fairwaves-prog: Write Ki/OPC/IMSI as read from the input file.Alexander Chemeris1-5/+9
Commenting out generation of random ones. Change-Id: I36a87f37671cd64d801006d7e2def8f41e95700a
2018-01-26pySim-fairwaves-prog: Add an option to play sound on successful write in ↵Alexander Chemeris1-0/+6
the batch mode. Change-Id: I440a1fd30abfaf95da2daf7b618f6c25c3b092d4
2018-01-26ts_51_011: Fix a comment language.Alexander Chemeris1-1/+1
Change-Id: I9e92ad180791223fc90a61ea1e68d18dd67cc000
2018-01-26cards: Add ability to read/set A3/A8 algorithm for Fairwaves SIM cards.Alexander Chemeris1-0/+18
Change-Id: Ibb68c2a695b1f97ca11e25c14770132cea604cbe
2018-01-26cards: Minor formating cleanupAlexander Chemeris1-2/+2
Change-Id: I0d1cf38a422c36b26dc125384d2df70e82e752e1
2018-01-26Add a comanda to run GSM auth algorithm.Alexander Chemeris1-1/+15
Change-Id: I55d4cf5ad4d50c473ed4febb171cbc8854d1fa99
2018-01-11Checking in pySim-fairwaves-prog.py utility.Alexander Chemeris1-0/+272
This utility is an example utility for programming Fairwaves SIM cards. The original pySim-prog.py utility is already bloated with features and is difficult to modify so we decided to create a leaner and easier to maintain and modify version. Change-Id: I9f58e1b45d1785d59cef161eab1388332a97936b
2018-01-11Make derive_milenage_opc and calculate_luhn publicly available through utils.pyAlexander Chemeris2-19/+22
Change-Id: I2effc85fd55da0981de0ada74dcb28b7e8e56a01
2018-01-10cards: Add Fairwaves SIM implementation.Alexander Chemeris1-2/+145
Change-Id: Ia10ac433d3b0482bdf727c31f65a10042152797b
2018-01-10cards: Implement card type autodetection based on ATR.Alexander Chemeris1-2/+21
Change-Id: I1099a96626c0ce74243b47a8fdfa25b0d76a1ef3
2018-01-10pySim-prog: Replace magic numbers with a readable EF file name.Alexander Chemeris1-1/+1
Change-Id: Ibda7d5a4132971e884f6d760baf20cd33025a2af
2018-01-10pySim-prog: ADM code can be longer 8 digits, it's implementation specific.Alexander Chemeris1-4/+3
E.g. Fairwaves SIM cards have longer ADM codes. Change-Id: I87d61764eeba4bcf7525ee4778cb8f244930db9b
2018-01-10cards: Extend Card class with access functions for some of the standard EF ↵Alexander Chemeris1-2/+67
files. Change-Id: Icb7227fa7ebc837fccab456cbfad529f6ee81a28
2018-01-10Add methods to get ATR for a card or a link.Alexander Chemeris3-2/+19
Implemented for both serial and PCSC readers. Change-Id: Ic12e4b115d24a8b7e483a5603dd6cec90ad289cc
2018-01-10utils: Fix documentation. 3+3=6 digits equals 3 bytes, not 6Alexander Chemeris1-1/+1
Change-Id: I2722d788a69976e1c64a9caf6cf3049af27f9a30
2018-01-10utils: Functions to encode/decode EF SPN.Alexander Chemeris1-0/+19
According to TS 51 011. Change-Id: Ida184bc5c81cc8c228b8981b703f77d017e53334
2018-01-10ts_51_011: A file with MF/DF/EF constants from TS 51 011Alexander Chemeris1-0/+251
pySim has been using magic numbers to access various files which makes it hard to read, maintain and extend. With this file in place we can start replacing all those magic numbers with human readable names lile EF['IMSI'] instead of ['3F00', '7F20', '6F07']. Change-Id: I38f5d36d16b41b5d516a6a3e2ec1d09637883932
2018-01-10Fix comment: Ki -> OPCAlexander Chemeris1-1/+1
Change-Id: I566cf7bc658c730b4381c0f145bfc4f805cca42a
2018-01-02utils.py: dec_imsi: Fix ValueErrorPau Espin Pedrol1-1/+1
It should fix the following observed error: ~/pysim$ ./pySim-read.py -p0 Reading ... ICCID: Traceback (most recent call last): File "./pySim-read.py", line 99, in <module> print("IMSI: %s" % (dec_imsi(res),)) File "/home/lab434/pysim/pySim/utils.py", line 57, in dec_imsi l = int(ef[0:2]) * 2 # Length of the IMSI string ValueError: invalid literal for int() with base 10: 'ff' Change-Id: I7d3ecbf9edd190d1941816796cee60e3957d5943
2017-12-29pySim-prog.py: Fix trailing whitespacePau Espin Pedrol1-1/+0
Change-Id: I735dc7bb774d77d3b60b1712b0f0afcbb81dc726
2017-12-29pySim-*.py: Set shebang to use python v2Pau Espin Pedrol2-2/+2
Nowadays bin/python usually points to python3, and this script is written in python2, which means if run directly from terminal it will fail with some print syntax errors. Change-Id: I6ab4e9edc44a8045915d4828c6de2fa98027fb7e
2017-09-01Support writing SMSP for sysmoUSIM-SJS1Daniel Willmann1-0/+3
Closes: OS#1989 Change-Id: I6cbf69be3d410c18a509b98a63cb69bab74a528a
2017-04-06fix writing of ICCID for sysmo-usim-sjs1Philipp Maier1-7/+7
The programming procedure for sysmo-usim-sjs1 lacks writing the ICCID. This commit adds the missing call to update_binary() Change-Id: Ief85aa07c562d8d7b2a6dec302d2f485d0b1e577
2017-04-06Fix select control parameterPhilipp Maier2-1/+9
sysmo-usim-sjs1 requires P2 to be set to 0x0C (request FCI) when using the USIM application commands. The FCI is not used by pysim anyway and might even cause problems with other cards. This commit adds a pair of get/set methods to the SimCardCommands class in order to set a default for the selection control parameters (P1, P2). (Similar to the set/get methods for the class byte) The SysmoUSIMSJS1 class now calls the setter method for the selection control parameters inside of its constructuor and sets the selection control parameter default to "000C". This way we can be sure that we only change the behaviour for sysmo-usim-sjs1 and do not break support for any other cards. Change-Id: I1993a267c952bf37d5de1cb4e1107f445614c17b
2017-03-21cosmetic: missing newlines on last line of 2 filesNeels Hofmeyr2-1/+2
It's hard to keep this out of real patches, since normally editors add the final newline automatically.
2017-03-17README.md: Cosmetic/Formatting fixesHarald Welte1-4/+4
2017-03-17Update README with general project information and convert to MarkdownHarald Welte2-38/+91
2016-10-27Revert "Do not return the FCI information while selecting a file"Harald Welte1-1/+1
This reverts commit 8c1b33c439fef423c3536e9243035722c52aba4c.
2016-05-22re-program: Instead of specifying the IMSI, read it from the card.Holger Hans Peter Freyther1-6/+16
2015-08-20Do not return the FCI information while selecting a fileJan Balke1-1/+1
The sysmoUSIM-SJS1 card does not support returning the FCI information. Plus, the FCI information are not used anyway.
2015-08-20Add provision support for sysmoUSIM-SJS1 cardsJan Balke1-1/+50
The PIN-ADM has to given on the command line as it is provisioned different for each card. Currently only Ki, Op and IMSI are provisioned.
2015-08-20Add PIN-ADM argument to the command lineJan Balke2-4/+26
Allow overwriting the default PIN-ADM set in the card implementation.
2015-08-20Allow changing the class byte for pdu messagesJan Balke1-7/+16
2015-08-20Introduce a '--dry-run' option to skip actual card accessHarald Welte1-21/+31
This can be used for example to batch convert from CSV input to HLR output without writing cards.
2015-08-20read_params_csv: Make sure we don't end up in endless loopHarald Welte1-7/+13
as a side effect, the first line is now specified with '-j 0' and not '-j 1'
2015-08-20pySim-prog: Add mode where it can re-generate a card from CSVHarald Welte1-5/+54
Rather than just having the capability of writing to CSV, it now has the capability to (re)write a card based on data from the CSV: ./pySim-prog.py -S csv --read-csv /tmp/sim.csv -i 901701234567890 or in batch mode (from the first line onwards): ./pySim-prog.py -S csv --read-csv /tmp/sim.csv --batch -j 1
2015-08-20split parameter writing for CSV and SQL into separate functionsHarald Welte1-2/+7
2013-12-23cards: sysmocom SysmoSIM-GR2 support added to cardsSylvain Munaut1-2/+67
Written-by: Kevin Redon Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2013-07-18pySim-read: MISDN is not mandatorySylvain Munaut1-8/+11
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2013-07-13Move encoder functions for ICCID, IMSI and PLMN to pySim.utils for consistency.Alexander Chemeris2-28/+28
2013-07-13Add an utility to read data from a SIM card.Alexander Chemeris1-0/+138
2013-07-13utils: Add functions to decode IMSI and ICCID from EF raw data.Alexander Chemeris1-0/+17