SoftSIM » History » Revision 2
« Previous |
Revision 2/15
(diff)
| Next »
tsaitgaist, 02/19/2016 10:49 PM
info_client added
softSIM is a collection of tools to play with the SIM application (in the SIM card or elsewhere).
It uses [http://bluetooth.org/ bluetooth] [https://www.bluetooth.org/Technical/Specifications/adopted.htm profile] [https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=158740 SIM Access Profile] as abstraction layer to access the SIM (but no bluetooth is required).
The final purpose is to provide a virtual SIM, simulated in software.
requirementsAll the scripts are written in ruby :
{{{
sudo apt-get install ruby
}}}
To use all tools, additionnal libraries and gems are required :
{{{
sudo apt-get install rubygems ruby-dev
gem source -a http://rubygems.org
sudo apt-get install libdbus-ruby
sudo gem install serialport
sudo apt-get install pcscd libpcsclite1 libpcsclite-dev libruby
sudo gem install smartcard
sudo apt-get install libxml-ruby
}}}
detailed information is in README
to get the code :
{{{
git clone git://git.osmocom.org/softsim.git
}}}
=== SAP ===
SAP is useful as it provides a easy common way to talk to the SIM, not restricted to any device (as PCSC is).
The SAP methods are implemented in {{{sap/common.rb}}}. Client and Server are also provided in {{{sap/client.rb}}} and {{{sap/server.rb}}}.
The client is ready to use, with the {{{connect,atr,apdu,disconnect}}} methods.
A tool to connect to BTSAP servers is also provided (some phones offer this profile).
You have to tell the Server how to communicate with the SIM.
Two implementations are provided : {{{pcsc_server.rb}}} uses as normal card reader (PCSC), and {{{sim_server.rb}}} which is the software SIM (a SIMOS is partially implemented, the SIM files have to be provided).
To test it, use {{{demo_client.rb}}} and {{{demo_server.rb}}}.
=== SIM information ===
{{{info_client.rb}}} retrieves and displays information stored in the SIM (IMSI,MSISDM,[http://www.mirider.com/weblog/2010/08/03/#20100803-ciphering_indicator OFM],Kc,...).
You can run it using {{{demo_client.rb}}}
Please contact the author if any bug is discovered.
Updated by tsaitgaist about 8 years ago · 2 revisions