如何读写SIM卡?

a55662551 2009-03-12 12:50:07
我认为知道这些东西就能用单片机或PC的某个接口读写SIM卡的信息、通讯录、所存短信及其它了:
1 SIM卡 引脚定义
2 数据通信所用协议(即所用总线的电气及数据传输出规范)
3 操作指令(即通过总线传输不同二进制数据控制SIM进行不同操作)

第一点很多资料,我知道给卡上电后用3号CLK线与7号I/O线与SIM卡通信
二、三点就很湖涂了。。。
有个叫ISO7816标准是一种和IIC、USB同类型的总线规范么?它就是SIM通信协议么?
而GSM11.11中规定SIM卡的全世界通用的读写指令??就是那个AT指令么?

发现一个超简单的PC读写SIM卡电路图是直接把RS232的TXD、RXD通过两个三极管连到SIM卡7号I/0管脚,由PC端软件操作读写SIM卡,难道SIM卡的通信协议就是RS232(或者与之兼容的?)?其指令是ASCII码方式的二进制数?

请哪位大虾告诉偶小菜看什么资料能知道二、三点的信息(也就是看完哪些资料就会对SIM卡读写)?
或者直接传给我相关资料,感谢!
...全文
4747 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangquanqu 2011-01-18
  • 打赏
  • 举报
回复
想要复制一卡多号,那么用啥软件可以破解手机sim卡中的Ki
hjx398 2010-11-29
  • 打赏
  • 举报
回复
SIM卡的原理
  SIM卡是带有微处理器的芯片,   内有5个模块,每个模块对应一个功能:   CPU(8位/16位/32位)、程序存储器ROM、工作存储器RAM、数据存储器EEPROM和串行通信单元,这5个模块集成在一块集成电路中。SIM卡在与手机连接时,最少需要5个连接线:   *电源(Vcc) *时钟(CLK) *数据I/O口(Data) *复位(RST) *接地端(GND)
从心出发2022 2010-08-26
  • 打赏
  • 举报
回复
我知道ISO7816-4里面的APDU命令,但具体通过IO口操作SIM有没实例?
给大家发一个!
登峰 2009-04-30
  • 打赏
  • 举报
回复
学习了 谢谢
用户 昵称 2009-04-30
  • 打赏
  • 举报
回复
还是像我前面说的,读写sim卡看你是使用现成的读卡器还是自己做读卡器。
zhuweiping2003 2009-03-19
  • 打赏
  • 举报
回复
GSM11.11是需求规范
GSM11.14是应用规范
读写SIM你这样说的很不专业
应该说是 READ BINARY /READ RECORD或 UPDATE BINARY /UPDATE RECORD
在进行上述操作之前需要 VERIFY CHV 也就是效验 或者 VERIFY ADM
zhuweiping2003 2009-03-19
  • 打赏
  • 举报
回复
GSM11.11是需求规范
GSM11.14是应用规范
读写SIM你这样说的很不专业
应该说是 READ BINARY /READ RECORD或 UPDATE BINARY /UPDATE RECORD
在进行上述操作之前需要 VERIFY CHV 也就是效验 说着 VERIFY ADM
MBWQ 2009-03-18
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 a5566255 的回复:]
引用 12 楼 huleide 的回复:
SIM卡只是一个存储芯片而已,对他进行读写一遍都按照7816规范里要求的来,至于AT命令,那个是涉及到了GSM模块,是对GSM模块的操作,然后有GSM模块进行翻译后再对SIM卡进行操作,一般SIM卡的读写都是IIC的读写模式,你也可以看看IIC的操作步骤

大虾啊。。哦不,大侠啊。。。
你的回答更有针对性也更让我明白~~
你是指SIM卡通信的数据传输方式是IIC总线,但在这总线上具体传输出的数据(也就…
[/Quote]
说sim卡只是存储芯片完全是扯,说一般SIM卡的读写都是IIC的读写模式完全是扯上加扯。
好好看看7816规范,什么都有,
简单的说硬件就5根线,电源,地,i/o,clk,reset,通信接口为收发合二为一的串口,

用户 昵称 2009-03-18
  • 打赏
  • 举报
回复
没有什么iic,sim卡绝大部分走的是串口,个别多界面的支持usb和非接触。

读写sim卡要看什么规范,要看你是做读卡器还是使用现成的读卡器。
huleide 2009-03-16
  • 打赏
  • 举报
回复
SIM卡只是一个存储芯片而已,对他进行读写一遍都按照7816规范里要求的来,至于AT命令,那个是涉及到了GSM模块,是对GSM模块的操作,然后有GSM模块进行翻译后再对SIM卡进行操作,一般SIM卡的读写都是IIC的读写模式,你也可以看看IIC的操作步骤
sdqd321 2009-03-16
  • 打赏
  • 举报
回复
ding
用户 昵称 2009-03-16
  • 打赏
  • 举报
回复
俺有些读写sim卡的工具,


http://jennyvenus.download.csdn.net

snooper 支持pcsc读卡器对sim卡的大部分操作。
a55662551 2009-03-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 shuiyan 的回复:]
第一次看到这样的图,真是颠覆了一直以为的所谓真理,看来标准也能被改写,cn的创造力的确非凡。
那位高人还提供代码呀?或者有pc端的测试软件吗?串口线接sim卡座很简单,只要有了软件,我们可以自己试试。
[/Quote]
大虾是指这种以前你所看到的SIM读写电路跟这个完全不同吗?我也觉得,IC卡协议跟232应该不一样的,它这么做应该是想把RXD、TXD当作I/0来模拟出SIM卡协议吧?那是不是连错了,应该用DTR、RTS两根脚才对嘛?
PS:偶没能找到它的软件部分~~
a55662551 2009-03-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 huleide 的回复:]
SIM卡只是一个存储芯片而已,对他进行读写一遍都按照7816规范里要求的来,至于AT命令,那个是涉及到了GSM模块,是对GSM模块的操作,然后有GSM模块进行翻译后再对SIM卡进行操作,一般SIM卡的读写都是IIC的读写模式,你也可以看看IIC的操作步骤
[/Quote]
大虾啊。。哦不,大侠啊。。。
你的回答更有针对性也更让我明白~~
你是指SIM卡通信的数据传输方式是IIC总线,但在这总线上具体传输出的数据(也就是读写指令)是由7816规定的,而AT命令(是GSM11。11中规定的?)是7816中命令的一种(或者是由它演变来的?)么/
IIC是我最熟悉的总线呵~~
发现越来越有头绪了,至少等我有空研究SIM卡读写时知道该看什么资料了,嘎嘎 ~~
shuiyan 2009-03-14
  • 打赏
  • 举报
回复
第一次看到这样的图,真是颠覆了一直以为的所谓真理,看来标准也能被改写,cn的创造力的确非凡。
那位高人还提供代码呀?或者有pc端的测试软件吗?串口线接sim卡座很简单,只要有了软件,我们可以自己试试。
a55662551 2009-03-13
  • 打赏
  • 举报
回复
感谢LS大虾啊~~
果然是专家啊,你的回答对我的问题很有针对性,我现在基础清楚那些东东是怎么回事了,谢谢!
但是那张似乎很自信的图真的是这样的(如下链接所示),可能它把CLK信号省了??但是RXD、TXD这两跟线是不能自由控制为高低电平的,如果他这样连,是否意味着SIM的传输协议跟232兼容的?
http://www.vbgood.com/attachments/month_0903/SIMHARD_HrjDgORNHbkY.gif
mcuos 2009-03-13
  • 打赏
  • 举报
回复
我做过较长时间的SIM卡操作,有些经验可以和你共享一下:ISO7816协议由好几部分组成,对于大多数操作,你只要了解ISO7816-1、ISO7816-2、ISO7816-3、ISO7816-4就可以了。ISO7816和RS232不一样,它不仅规定了硬件接口的电气特性,还规定了通讯协议以及SIM卡的文件结构。根据通讯协议以及SIM卡的文件结构可以派生出许多的行业应用:GSM11.11中规定SIM卡指令只是ISO7816的一种应用,其它的应用包括银行卡、加油卡、超市的会员卡等等。至于你提到的电路图,我只能说你被误导了,SIM通讯需要一条输入线专门提供时钟信号,一条数据线实现数据的交流(就类似I2C总线一样),它的底层通讯协议分两种:T=0协议和T=1协议,两种议都类似于I2C,都是由外部设备向卡发送控制命令头,然后等待卡的应答,然后根据卡的应答继续下一步操作(继续发送数据 或等待接收数据 或再等待一段时间。。。。。。)。网上的ISO7816资料很容易找到的,学好了ISO7816-1、ISO7816-2、ISO7816-3、ISO7816-4,那所有基于这种协议的卡操作都会得心应手。
zteclx 2009-03-12
  • 打赏
  • 举报
回复
现在有这种设备卖,可以买一个来研究一下。
long5 2009-03-12
  • 打赏
  • 举报
回复
7816标准上都有呀,协议是自己定义,一般是二进制
a55662551 2009-03-12
  • 打赏
  • 举报
回复
guetcw大虾你真热心啊,回得真快(虽然回答。。。呵呵),感谢~~
可能我没说清楚,我理解的“协议”即指某种总线,包括了电气规范、数据传输出格式(什么握手规则、响应、校验规则之类的概念都包括在内);
而具体用这种“协议”传输什么数据(即在这个总线上传输什么数据)是由使用者自己定义的,这就是我说的第三点“指令”,亦即你说的“命令协议”~~

大虾你说“用232的接口,只是说它收发数据是遵守232的规范”,也就是说你也认为跟据这个电路可以判断出,SIM卡使用RS232协议(或规范)??可是我翻了堆乱78糟的不知道作者写它是为了干嘛的资料,都没提到SIM卡用232啊,反而都说它用什么7816口,尊守标准IC卡协议。。。
加载更多回复(1)

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧