pysim/pySim
Vadim Yanitskiy 87dd020d5f Add very basic profile for R-UIM (CDMA) cards
R-UIM (CDMA) cards are pretty much like the normal GSM SIM cards and
"speak" the same 2G APDU protocol, except that they have their own file
hierarchy under MF(3f00)/DF.CDMA(7f25).  They also have DF.TELECOM(7f10)
and even DF.GSM(7f20) with a limited subset of active EFs.  The content
of DF.CDMA is specified in 3GPP2 C.S0023-D.

This patch adds a very limited card profile for R-UIM, including auto-
detecion and a few EF definitions under DF.CDMA.  This may be useful
for people willing to explore or backup their R-UIMs.  To me this was
useful for playing with an R-UIM card from Skylink [1] - a Russian
MNO, which provided 450 MHz CDMA coverage until 2016.

[1] https://en.wikipedia.org/wiki/Sky_Link_(Russia)

Change-Id: Iacdebdbc514d1cd1910d173d81edd28578ec436a
2023-05-10 00:14:13 +00:00
..
apdu Prepare for decoding/encoding records differently based on record number 2023-01-24 20:03:02 +01:00
apdu_source pySim-trace: Add support for reading GSMTAP from pcap files 2023-01-24 13:50:51 +01:00
transport proactive: Send a Terminal Response automatically after a Fetch 2022-08-21 11:54:33 +00:00
__init__.py cosmetic: Switch to consistent four-spaces indent; run autopep8 2022-02-11 13:32:58 +01:00
ara_m.py doc: Improve documentation in various places 2022-02-15 16:40:45 +01:00
card_handler.py cosmetic: Switch to consistent four-spaces indent; run autopep8 2022-02-11 13:32:58 +01:00
card_key_provider.py cosmetic: Switch to consistent four-spaces indent; run autopep8 2022-02-11 13:32:58 +01:00
cards.py cards: sysmo-isim-sja2: make sure an ADF is present in EF.DIR before selecting it 2023-02-10 18:28:39 +01:00
cat.py Add TLV definitions for *a lot more* CAT / USAT data objects 2022-08-06 18:56:42 +02:00
cdma_ruim.py Add very basic profile for R-UIM (CDMA) cards 2023-05-10 00:14:13 +00:00
commands.py SimCardCommands.run_gsm(): use send_apdu_checksw() 2023-03-22 09:57:32 +00:00
construct.py construct: use Python's API for int<->bytes conversion 2022-09-05 23:15:10 +07:00
exceptions.py Fix printing of SwMatchError after introduction of logical channels 2022-07-30 16:37:01 +02:00
filesystem.py Assume first record number if caller specifies none 2023-01-31 17:26:09 +01:00
global_platform.py Initial support for GlobalPlatform 2022-03-01 16:32:15 +00:00
gsm_r.py filesystem: add unit tests for encoder/decoder methods 2023-02-01 10:52:23 +01:00
gsmtap.py Introduce APDU/TPDU trace decoder 2022-07-23 12:18:57 +02:00
iso7816_4.py cosmetic: Remove extraneous empty lines between spec-section-comment and class 2022-02-14 00:51:27 +01:00
jsonpath.py cosmetic: Switch to consistent four-spaces indent; run autopep8 2022-02-11 13:32:58 +01:00
ota.py OTA: Adjust IV length for AES 2022-11-25 04:00:55 +01:00
profile.py Add very basic profile for R-UIM (CDMA) cards 2023-05-10 00:14:13 +00:00
sms.py Add new pySim.ota library, implement SIM OTA crypto 2022-09-08 15:45:55 +02:00
sysmocom_sja2.py Prepare for decoding/encoding records differently based on record number 2023-01-24 20:03:02 +01:00
tlv.py tlv: Use self._compute_tag() method rather than direct self.tag 2022-08-06 13:19:16 +02:00
ts_31_102.py 31.102: EF.EST enables/disables services; name commands accordingly 2023-02-23 10:00:51 +01:00
ts_31_102_telecom.py filesystem: add unit tests for encoder/decoder methods 2023-02-01 10:52:23 +01:00
ts_31_103.py filesystem: add unit tests for encoder/decoder methods 2023-02-01 10:52:23 +01:00
ts_51_011.py Add very basic profile for R-UIM (CDMA) cards 2023-05-10 00:14:13 +00:00
ts_102_221.py filesystem: add unit tests for encoder/decoder methods 2023-02-01 10:52:23 +01:00
ts_102_222.py ts_102_222: Implement support for RESIZE FILE for an EF 2023-03-09 09:49:40 +00:00
utils.py commands: add ".." notation to expand hexstrings 2022-06-03 10:26:58 +02:00