5-SIM数据交互之-C0(GET RESPONSE)

C0-GET RESPONSE

C0即获取fcp(File Control Parameters 文件控制参数)里面的值,该指令一般在A4之后执行,执行A4选择文件夹时,SIM卡会返回该文件下fcp的长度,如:61 29,该值即为C0需要读的字节长度

C0指令比较固定,00 C0 00 00 XX(XX代表要读取的长度)

1.正常读取

SIM卡返回的数据以C0开始,以9000结束,长度为传入的XX(fcp文件的内容长度)。

=>00 A4 00 04 02
<=A4
=>3F 00
<=61 29                 //返回长度0x29
=>00 C0 00 00 29        //读取0x29的fcp数据
<=C0 62278202782183023F00A507800171C00200018A01058B032F0602C60C90016083010183018183010A 9000      //90 00正常结束

2.读取少于/00原有数据

当读C0时,如果A4选择时,返回61 29,但是没有读取完全,如0x00 0xc0 0x00 0x00 0x20,则只会返回0x16个字节回来,并且返回剩余的字节数61开始(要读取00字节时,则以6C开始)这时你需要再次读取。

=>00 A4 00 04 02
<=A4
=>3F 00
<=61 29                 //返回长度0x29
=>00 C0 00 00 20        //只读取0x20的fcp数据
<=C0 62278202782183023F00A507800171C00200018A01058B032F0602C60C900160 6109   //返回结束符为61 09,告诉你还有0x09个字节需要读取
=>00 C0 00 00 20        //这时候必须去读取0x09个字节,不然还是会报错
<=61 09                 //返回剩余字节数,61开始
=>00 C0 00 00 00        //这时候必须去读取0x09个字节,不然还是会报错
<=6C 09                 //返回剩余字节数,6C开始
=>00 C0 00 00 09
<=83010183018183010A 9000  //当用0x09读取时,则返回剩余的fcp数据,并90 00结束

3.读取多于原有数据

当读C0时,如果A4选择时,返回61 29,但是却想读取更多的内容,如0x00 0xc0 0x00 0x00 0x30,则会返回该文件的剩余大小6C开始,需要以实际大小来读取

=>00 A4 00 04 02
<=A4
=>3F 00
<=61 29                 //返回长度0x29
=>00 C0 00 00 30        //读取0x30的fcp数据,超过0x29
<=6C 29                 //返回剩余字节数
=>00 C0 00 00 29        //读取0x29的fcp数据
<=C0 62278202782183023F00A507800171C00200018A01058B032F0602C60C90016083010183018183010A 9000      //90 00正常结束

4.已经读取完C0,却要再读C0

当C0的数据已经被读取完成,此时再发C0指令进行内容的读取,则会返回6F00。如果想再次读取数据,只能用A4再选择一次该文件才可以。

=>00 A4 00 04 02
<=A4
=>3F 00
<=61 29                 //返回长度0x29
=>00 C0 00 00 30        //读取0x30的fcp数据,超过0x29
<=6C 29                 //返回剩余字节数
=>00 C0 00 00 29        //读取0x29的fcp数据
<=C0 62278202782183023F00A507800171C00200018A01058B032F0602C60C90016083010183018183010A 9000     //90 00正常结束
=>00 C0 00 00 29        //再次读取0x29的fcp数据
<=6F 00                 //6F 00数据已经读取完成

5.未读取完C0,却要读B0/B2

无论上面的读少或读多C0的数据,只要没有正常结束则无法再执行文件对于的属性内容,

=>00 A4 00 04 02
<=A4
=>2F E2
<=61 19                 //返回长度0x19
=>00 C0 00 00 19        //读取0x19的fcp数据
<=C0 62178202412183022FE28A01058B032F06018002000A880110 9000
=>00 B0 00 00 0A
<=B0 9868200B326101550494 9000      //90 00正常结束
=>00 A4 00 04 02
<=A4
=>2F E2
<=61 19                 //返回长度0x19
=>00 C0 00 00 11        //读取0x19的fcp数据
<=C0 62178202412183022FE28A01058B032F06 6108
=>00 B0 00 00 0A
<=B0 9868200B326101550494 9000      //90 00正常结束

其实是可以正常读取B0/B2的,这时你是不是就觉得可以不用正确读取C0了,反正读到B0/B2。

这种想法就是错的,C0执行的指令比较单一,但是其指令返回的数据确实非常关键,里面的内容决定了该文件的特性,下一步能执行什么操作

6.fcp内容分析

示例1:B0

2FE2:62178202412183022FE28A01058B032F06018002000A880110

所属字节 原始内容 内容分析
1 62 FCP模块标签
2 17 FCP模块的长度(十进制:23)
3 82 文件描述符标签
4 02 文件描述符长度(十进制:2)
5 41 文件描述符(工作EF 透明文件 共享文件)
6 21 文件描述符数据编码
7 83 文件标识符标签
8 02 文件标识符长度(十进制:2)
9-10 2FE2 文件标识符
11 8A 生命周期标签
12 01 生命周期长度(十进制:1)
13 05 生命周期(操作状态-激活)
14 8B 安全特性标签
15 03 安全特性长度(十进制:3)
16-17 2F06 EF_ARR的文件标识符
18 04 EF_ARR中对应的记录数(十进制:4)
19 80 文件大小标签
20 02 文件大小长度(十进制:2)
21-22 000A 文件大小(十进制:10)
23 88 短文件标识符标签
24 01 短文件标识符长度(十进制:1)
25 10 短文件标识符

示例2:B2

2F06:621A82054221002C0783022F068A01058B032F060480020134880130

所属字节 原始内容 内容分析
1 62 FCP模块标签
2 1A FCP模块的长度(十进制:26)
3 82 文件描述符标签
4 05 文件描述符长度(十进制:5)
5 42 文件描述符(工作EF 线性固定文件 共享文件)
6 21 文件描述符数据编码
7-8 002C 记录长度(十进制:44)
9 07 记录个数(十进制:7)
10 83 文件标识符标签
11 02 文件标识符长度(十进制:2)
12-13 2F06 文件标识符
14 8A 生命周期标签
15 01 生命周期长度(十进制:1)
16 05 生命周期(操作状态-激活)
17 8B 安全特性标签
18 03 安全特性长度(十进制:3)
16-17 2F06 EF_ARR的文件标识符
18 04 EF_ARR中对应的记录数(十进制:4)
19 80 文件大小标签
20 02 文件大小长度(十进制:2)
21-22 0134 文件大小(十进制:10)
23 88 短文件标识符标签
24 01 短文件标识符长度(十进制:1)
25 30 短文件标识符

第五个字节即文件描述符

始内容 内容分析
41 透明文件 B0
42 线性固定文件 B2
46 循环文件 B2
78 MF/DF C0/F2
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容

  • A4-SELECT A4即select(选择)文件路径,该指令是一切指令的起始,不管是后面的C0/B0/B2/F2...
    Creator_Ly阅读 1,029评论 0 1
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,965评论 6 13
  • 我顿觉我和他如此下去会分开。 也许重蹈覆辙不是一个好的选择,曾经我既然选择过离开就不应该再犹豫着回来,肯定有某种理...
    小黛玉阅读 210评论 0 1
  • 标签(空格分隔): 数据化运营 2.1 数据挖掘发展史2.2 数据分析与数据挖掘的主要区别2.3 数据挖掘的主要成...
    li_volleyball阅读 440评论 0 0
  • 坐在教室,脑子里胡思乱想,突然想起一句歌词:“只有青山藏在白云间”,转头向窗外看,神相似啊! 再仔细想想,这不仅仅...
    布吉岛的居民阅读 360评论 0 6