-
benyueng
2008-08-29
-
Hi Jenny我这里有个问题想问下你:手机从sim卡Fetch所有的菜单数据之后,比如:
D0 5C
81 03 02 25 00
82 02 81 82 85 09 80 77 ED 4F E1 7F A4 53 D1 0F 0A 01
80 65 B0 7F 16 77 ED 4F E1 0F 0A 02
80 5D F2 65 36 77 ED 4F E1 0F 0A 03
80 7E C4 54 58 7B A1 74 06 0F 0A 04
80 58 9E 52 A0 7F A4 7E C4 0F 0A 05
80 7F A4 7E C4 65 39 54 0D 0F 0A 06
80 52 20 96 64 7F A4 7E C4 除了Fetch, teminal profile, teminal response和菜单处理有关,它是否还需要有别的和sim交互过程才会把这个菜单显示到屏幕上么?
因为我尝试着去掉一条菜单,然后把TeminalResponse的总长度也修改了,但是手机好像发现这个菜单不合法,然后它又发Fetch菜单,结果我又修改了一次,手机发现还是不对,然后连STK选项都没有了,我猜想是不是在别的命令交互过程中,比如read record什么指令时对卡有核对过程,因为我现在只是在FETCH,TEMINAL RESPONSE, TEMINAL PROFIIL这些过程中进行了修改,别的指令都直接转送到sim。
谢谢!
-
娃娃猪
回复于
2008-08-29
-
您好:
这个问题可能有两个原因
1)你修改后的菜单,就是d0 5c xxxx 的格式要符合11.14的规范,前面是 d0,然后是长度,再次是各个item 项,且至少要有一个item,每个item项的数据也要正确,最后是9000
2)你修改后的菜单的长度如果与原来的不一样,那样在前面返回91xx的时候,其XX的也要被修改
a0 10 00 00 06 ffffffffffff
91 62--------62是原来的长度,你修改之后变成了91 46,所以这个字符要先改成91 46
然后再返回
a0 12 00 00 46
xxxxxxxxxxxxxxx----------你的新数据
9000
-
benyueng
2008-08-29
-
刚加入智能卡群,我是新人,刚进入智能卡领域不久,希望大家多多指教!
-
benyueng
2008-08-21
-
刚看到你一小时前在这里回复了帖子,于是冒昧在这里再次请教下一个问题:Jenny老大,
很钦佩你能做出snooper,我现在也在作类似的东西,用的单片机很慢,而且没有uart,只能用io口,基本通讯已经能完成,现在有个问题想问下你:
我现在能给me返回ATR,然后ME会发给我一个A0,A4, 00 00 02 ,收到后发给sim,从sim收到A4, 返回 ME,然后ME 发给我一个2F 01,发给sim,返回9F 16,然后me发出GetResponse,我收到后发给卡,然后从卡收到一串数据,返回给ME,上述这些通讯都能完成
问题是,我返回Me数据之后,在等ME接下来的指令,结果发现没有再继续给我发,用示波器看了,也没有发现,我想问下您,是否遇到过这种情况?或者这种情况问题大概出在那里?谢谢!
-
benyueng
回复于
2008-08-21
-
不好意思,刚才的问题说错了一个地方:
Jenny老大,
很钦佩你能做出snooper,我现在也在作类似的东西,用的单片机很慢,而且没有uart,只能用io口,基本通讯已经能完成,现在有个问题想问下你:
我现在能给me返回ATR,然后ME会发给我一个A0,A4, 00 00 02 ,收到后发给sim,从sim收到A4, 返回 ME,然后ME 发给我一个7F 21,发给sim,返回9F 16,然后me发出GetResponse,我收到后发给卡,然后从卡收到一串数据,返回给ME,上述这些通讯都能完成
问题是,我返回Me数据之后,在等ME接下来的指令,结果发现没有再继续给我发,用示波器看了,也没有发现,我想问下您,是否遇到过这种情况?或者这种情况问题大概出在那里?谢谢!
-
娃娃猪
回复于
2008-08-21
-
您好,您的问题我没碰到过,在Get Response的时候,me会发送a0 c0 00 00 16,这时,卡应该回复先回复一个16,再回复0x16个2f01的属性字节,最后回复9000。不知您是否是这个过程。
我做的Snooper本身是个过时的东西,糊弄外行人而已。
-
娃娃猪
回复于
2008-08-21
-
目前只能猜测,首先要排除是数据自身的问题,你可以将从复位到Get Response之间的过程贴出来,应该没多少,如果那个没问题,我就没办法了,我现在正在做监控时序的工具,时序上的问题比较费脑筋。
-
benyueng
回复于
2008-08-22
-
我的问题解决了,是我在给ME发数据时,对sim卡的io口忘了pull high,通过示波器看到很多毛刺,现在所有的数据都能正确通信。
你说到的时序问题,的确很伤脑筋,我现在就是用另外的端口来做测试信号,然后再示波器上数数据,由于我现在的单片机没有uart,只能用普通的io口来模拟,还要通过一个口来采样时钟
谢谢你!
-
benyueng
2008-08-21
-
Jenny老大,
很钦佩你能做出snooper,我现在也在作类似的东西,用的单片机很慢,而且没有uart,只能用io口,基本通讯已经能完成,现在有个问题想问下你:
我现在能给me返回ATR,然后ME会发给我一个A0,A4, 00 00 02 ,收到后发给sim,从sim收到A4, 返回 ME,然后ME 发给我一个2F 01,发给sim,返回9F 16,然后me发出GetResponse,我收到后发给卡,然后从卡收到一串数据,返回给ME,上述这些通讯都能完成
问题是,我返回Me数据之后,在等ME接下来的指令,结果发现没有再继续给我发,用示波器看了,也没有发现,我想问下您,是否遇到过这种情况?或者这种情况问题大概出在那里?谢谢!
-
尚雪
2008-07-24
-
你好,我想让图片背景由浅到暗 就象有个光源照到他一样,有些地方亮,有些暗,提示一下使用什么方法较好啊?
-
娃娃猪
回复于
2008-07-24
-
我不会啊,抱歉<br />
-
martin
2008-07-22
-
呵呵,太谦虚了.我又给你发了短信息,不知可否看到呢/?谢谢回复
-
martin
2008-07-18
-
你好...看了你回复的帖子,对我我有不少帮助...真的很感激....希望以后能多多指点...小弟感激不尽
-
娃娃猪
回复于
2008-07-18
-
谢谢鼓励,俺大部分问题都是瞎说混分的,只有少数懂一点。
-
lyf123345
2008-07-16
-
你好!读了你的几篇关于SIM卡方面的文章,帮助不小,刚涉足这方面,有个问题想请你指点一下:当要读取卡内的电话本时,怎样才能知道它是普通的SIM卡还是STK卡?有没有能供参考的资料?谢谢!
-
娃娃猪
回复于
2008-07-16
-
按规范来说,3f00/7f20/6fae的内容表示卡的阶段(PHASE),0表示phase 1, 2表示phase 2,3表示phase 2+, phase 2+的卡一般都都号称stk卡,具体是否stk,这只是一个参考,实际中要用terminal profile指令来查看sim卡返回值。<br /><br />If EFPhase is coded '03' or greater, an ME supporting SIM Application Toolkit shall perform the PROFILE DOWNLOAD procedure, as defined in TS 11.14 [27].<br />
-
李江涛
2008-07-07
-
小弟来专门拜访您老人家了,望以后能够多多帮助小弟一下,小弟在这有礼了
-
娃娃猪
回复于
2008-07-07
-
您有什么方面的问题?
-
chunyou128
2008-06-30
-
好人啊!!