{"id":13614436,"url":"https://github.com/osmocom/pysim","last_synced_at":"2026-02-25T20:34:44.422Z","repository":{"id":43642400,"uuid":"49863805","full_name":"osmocom/pysim","owner":"osmocom","description":"A python tool to explore and program SIMs / USIMs / ISIMs. Mirror of https://gitea.osmocom.org/sim-card/pysim","archived":false,"fork":false,"pushed_at":"2026-02-23T16:56:38.000Z","size":2625,"stargazers_count":502,"open_issues_count":1,"forks_count":166,"subscribers_count":34,"default_branch":"master","last_synced_at":"2026-02-23T23:50:00.063Z","etag":null,"topics":["3gpp","cellular","osmocom","sim","telecommunications","usim-cards"],"latest_commit_sha":null,"homepage":"https://osmocom.org/projects/pysim/wiki","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osmocom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"osmocom"}},"created_at":"2016-01-18T08:48:09.000Z","updated_at":"2026-02-23T16:56:42.000Z","dependencies_parsed_at":"2023-02-17T09:31:31.322Z","dependency_job_id":"47949cac-5b61-4857-b8e7-71d36a618982","html_url":"https://github.com/osmocom/pysim","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/osmocom/pysim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmocom%2Fpysim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmocom%2Fpysim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmocom%2Fpysim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmocom%2Fpysim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osmocom","download_url":"https://codeload.github.com/osmocom/pysim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmocom%2Fpysim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29838192,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T19:08:47.527Z","status":"ssl_error","status_checked_at":"2026-02-25T18:59:04.705Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3gpp","cellular","osmocom","sim","telecommunications","usim-cards"],"created_at":"2024-08-01T20:01:01.566Z","updated_at":"2026-02-25T20:34:44.394Z","avatar_url":"https://github.com/osmocom.png","language":"Python","readme":"pySim - Tools for reading, decoding, browsing SIM/USIM/ISIM/HPSIM/eUICC Cards\n=============================================================================\n\nThis repository contains a number of Python programs related to working with\nsubscriber identity modules of cellular networks, including but not limited\nto SIM, UICC, USIM, ISIM, HPSIMs and eUICCs.\n\n* `pySim-shell.py` can be used to interactively explore, read and decode contents\n  of any of the supported card models / card applications.  Furthermore, if\n  you have the credentials to your card (ADM PIN), you can also write to the card,\n  i.e. edit its contents.\n* `pySim-read.py` and `pySim-prog.py` are _legacy_ tools for batch programming\n  some very common parameters to an entire batch of programmable cards\n* `pySim-trace.py` is a tool to do an in-depth decode of SIM card protocol traces\n  such as those obtained by [Osmocom SIMtrace2](https://osmocom.org/projects/simtrace2/wiki)\n  or [osmo-qcdiag](https://osmocom.org/projects/osmo-qcdiag/wiki).\n* `osmo-smdpp.py` is a proof-of-concept GSMA SGP.22 Consumer eSIM SM-DP+ for lab/research\n* there are more related tools, particularly in the `contrib` directory.\n\nNote that the access control configuration of normal production cards\nissue by operators will restrict significantly which files a normal\nuser can read, and particularly write to.\n\nThe full functionality of pySim hence can only be used with on so-called\nprogrammable SIM/USIM/ISIM/HPSIM cards, such as the various\n[sysmocom programmable card products](https://shop.sysmocom.de/SIM/).\n\nSuch SIM/USIM/ISIM/HPSIM cards are special cards, which - unlike those\nissued by regular commercial operators - come with the kind of keys that\nallow you to write the files/fields that normally only an operator can\nprogram.\n\nThis is useful particularly if you are running your own cellular\nnetwork, and want to configure your own SIM/USIM/ISIM/HPSIM cards for\nthat network.\n\n\nHomepage\n--------\n\nPlease visit the [official homepage](https://osmocom.org/projects/pysim/wiki)\nfor usage instructions, manual and examples.\n\n\nDocumentation\n-------------\n\nThe pySim user manual can be built from this very source code by means\nof sphinx (with sphinxcontrib-napoleon and sphinx-argparse).  See the\nMakefile in the 'docs' directory.\n\nA pre-rendered HTML user manual of the current pySim 'git master' is\navailable from \u003chttps://downloads.osmocom.org/docs/latest/pysim/\u003e and\na downloadable PDF version is published at\n\u003chttps://downloads.osmocom.org/docs/latest/osmopysim-usermanual.pdf\u003e.\n\nA slightly dated video presentation about pySim-shell can be found at\n\u003chttps://media.ccc.de/v/osmodevcall-20210409-laforge-pysim-shell\u003e.\n\n\npySim-shell vs. legacy tools\n----------------------------\n\nWhile you will find a lot of online resources still describing the use of\n`pySim-prog.py` and `pySim-read.py`, those tools are considered legacy by\nnow and have by far been superseded by the much more capable\n`pySim-shell.py`.  We strongly encourage users to adopt pySim-shell, unless\nthey have very specific requirements like batch programming of large\nquantities of cards, which is about the only remaining use case for the\nlegacy tools.\n\n\nGit Repository\n--------------\n\nYou can clone from the official Osmocom  git repository using\n```\ngit clone https://gitea.osmocom.org/sim-card/pysim.git\n```\n\nThere is a web interface at \u003chttps://gitea.osmocom.org/sim-card/pysim\u003e.\n\n\nInstallation\n------------\n\nPlease install the following dependencies:\n\n - bidict\n - cmd2 \u003e= 1.5.0\n - colorlog\n - construct \u003e= 2.9.51\n - pyosmocom\n - jsonpath-ng\n - packaging\n - pycryptodomex\n - pyscard\n - pyserial\n - pytlv\n - pyyaml \u003e= 5.1\n - smpp.pdu (from `github.com/hologram-io/smpp.pdu`)\n - termcolor\n\nExample for Debian:\n```sh\nsudo apt-get install --no-install-recommends \\\n\tpcscd libpcsclite-dev \\\n\tpython3 \\\n\tpython3-setuptools \\\n\tpython3-pycryptodome \\\n\tpython3-pyscard \\\n\tpython3-pip\npip3 install --user -r requirements.txt\n```\n\nAfter installing all dependencies, the pySim applications ``pySim-read.py``, ``pySim-prog.py`` and ``pySim-shell.py`` may be started directly from the cloned repository.\n\nIn addition to the dependencies above ``pySim-trace.py`` requires ``tshark`` and the python package ``pyshark`` to be installed. It is known that the ``tshark`` package\nin Debian versions before 11 may not work with pyshark.\n\n### Archlinux Package\n\nArchlinux users may install the package ``python-pysim-git``\n[![](https://img.shields.io/aur/version/python-pysim-git)](https://aur.archlinux.org/packages/python-pysim-git)\nfrom the [Arch User Repository (AUR)](https://aur.archlinux.org).\nThe most convenient way is the use of an [AUR Helper](https://wiki.archlinux.org/index.php/AUR_helpers),\ne.g. [yay](https://aur.archlinux.org/packages/yay) or [pacaur](https://aur.archlinux.org/packages/pacaur).\nThe following example shows the installation with ``yay``.\n\n```sh\n# Install\nyay -Sy python-pysim-git\n\n# Uninstall\nsudo pacman -Rs python-pysim-git\n```\n\n\nForum\n-----\n\nWe welcome any pySim related discussions in the\n[SIM Card Technology](https://discourse.osmocom.org/c/sim-card-technology/)\nsection of the osmocom discourse (web based Forum).\n\n\nMailing List\n------------\n\nThere is no separate mailing list for this project. However,\ndiscussions related to pySim are happening on the simtrace\n\u003csimtrace@lists.osmocom.org\u003e mailing list, please see\n\u003chttps://lists.osmocom.org/mailman/listinfo/simtrace\u003e for subscription\noptions and the list archive.\n\nPlease observe the [Osmocom Mailing List\nRules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules)\nwhen posting.\n\nIssue Tracker\n-------------\n\nWe use the [issue tracker of the pysim project on osmocom.org](https://osmocom.org/projects/pysim/issues) for\ntracking the state of bug reports and feature requests.  Feel free to submit any issues you may find, or help\nus out by resolving existing issues.\n\n\nContributing\n------------\n\nOur coding standards are described at\n\u003chttps://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards\u003e\n\nWe are using a gerrit-based patch review process explained at\n\u003chttps://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit\u003e\n","funding_links":["https://opencollective.com/osmocom"],"categories":["SIM","📊 Equipment \u0026 Hardware","SIMCards"],"sub_categories":["Research Equipment Used in \"Over The Air Baseband Exploit\""],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmocom%2Fpysim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosmocom%2Fpysim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmocom%2Fpysim/lists"}