一些例子

NXP 080
=========
3b 
f8  T0   Y1 = 0xF(TA1, TB1, TC1, TD1), K = 8
13  TA1  F = 0x1(Fi = 372, Fmax = 5MHz), D = 0x3(Di = 4)
00  TB1  deprecated
00  TC1  N = 0, extra guard time integer
81  TD1  Y2 = 0x8(TD2), T=1
31  TD2  Y3 = 0x3(TA3, TB3), T=1
fe  TA3
45  TB3
4a 43 4f 50 76 32 34 31 History bytes
b7  TCK

JCOP white card
==================
3B 
68  T0  Y1 = 6(TB1, TC1) , K = 8
   TA1 = default 0x11, F = 0x1 (Fi = 372, Fmax = 5), D = 0x1(Di = 1)
00  TB1 deprecated
00  TC1  N = 0, extra guard time integer
00 73 C8 40 00 00 90 00 History bytes

Samsung withe card
====================
3B
9F  T0   Y1 = 0x9(TA1,TD1), K = 0xF
95  TA1  F = 0x9(Fi = 512, Fmax = 5), D = 0x5(Di = 16)
80  TD1  Y2 = 0x8(TD2), T = 0
1F  TD2  Y3 = 0x1(TA3), T= 15
C3  TA3 
80 31 A0 73 BE 21 13 67 
03 12 00 22 00 11 28 
D5  TCK

ATR的基本结构与意义(无历史字符部分)

Reset

3B FA 13 00 00 81 31 FE 45 4A 43 4F 50 34 31 56 32 32 31 96

复位应答 ATR

TS( The Initial character ) = 3B

--表示正向约定,高电平为1,低电平为0,传输时先传输LSB,最后传输MSB

T0( The Format character ) = FA

--表示接口字符的个数和历史字节的数量

----其高4位有几个bit为1,则表示后续有几个历史字符(Historical bytes)

高4位 = f( 1 1 1 1 )表示后续字符中存在TA1 TB1 TC1 TD1

--------------------( TA1, TB1, TC1, TA2, TB2 是全局接口字符,TC2是专用接口字符 )

TA1 = 13

--表示有增强的波特率,公式 3571200 / ( Fi / Di )

--------其中Fi由TA1的高4位(F)查表得出,Di由TA1的低4位(D)查表得出

----F = 01 ,查下表,则Fi = 372

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| F | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| Fi | 372 | 372 | 558 | 744 | 1116 | 1488 | 1860 | RFU |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| 最高时钟MHZ | 4 | 5 | 6 | 8 | 12 | 16 | 20 | -- |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| F | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| Fi | RFU | 512 | 768 | 1024 | 1536 | 2048 | RFU | RFU |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| 最高时钟MHZ | -- | 5 | 7.5 | 10 | 15 | 20 | -- | -- |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

----D = 03 ,查下表,则Di = 4

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| D | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| Di | RFU | 1 | 2 | 4 | 8 | 16 | 1860 | RFU |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| D | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| Di | RFU | 512 | 768 | 1024 | 1536 | 2048 | RFU | RFU |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

--------实际波特率为 38400

TB1 = 00

----表示编程电流 I /电压 P,高2位表示电流I,低6位表示电压P

----高2位 = 00 ,则编程电流 I 如下

+-------+--------+--------+--------+--------+

| 高2位 | 00 | 01 | 10 | 11 |

+-------+--------+--------+--------+--------+

| 电流I | 25 | 50 | RFU | RFU |

+-------+--------+--------+--------+--------+

----低6位 = 00 ,则编程 P 电压为0

TC1 = 00

----额外保护时间N = 0

TD1 = 81

----通讯协议 T = 1

--------------------

没有TA2

没有TB2

没有TC2

TD2 = 31

--------------------

TA3 = FE

TB3 = 45

没有TC3

没有TD3

4A 43 4F 50 34 31 56 32 32 31----是历史字节

TCK ( XOR T0 - TCK ) = 96 校验成功

分析智能卡的ATR格式的更多相关文章

  1. 分析智能卡的ATR格式【转】

    本文转载自:http://blog.csdn.net/michaelcao1980/article/details/8215135 一些例子 NXP 080=========3b f8 T0 Y1 = ...

  2. Linux网络编程--wireshark分析TCP包头的格式

    摘要:     本文简介了TCP面向连接理论知识,具体讲述了TCP报文各个字段含义.并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述     TCP是面向连接的可靠传输 ...

  3. mysql协议分析1---报文的格式和基本类型

    navicat 和 mysql 是一对好基友,每天都有非常频繁的交流,主人在navicat上写下每条sql语句,轻轻的点了下执行按钮,navicat就飞快的把主人的指令传送到mysql那里,mysql ...

  4. elk 入门 - 分析nginx日志 + json格式 + 有调试的意识 + elk7.2.0

    1.本次采用的一台主机,将所有的软件安装一台上进行测试工作. 2.安装部署:https://blog.51cto.com/hwg1227/2299995 3.简单调试 输出rubydebug inpu ...

  5. v4l2驱动编写篇【转】

    转自:http://blog.csdn.net/michaelcao1980/article/details/53008418 大部分所需的信息都在这里.作为一个驱动作者,当挖掘头文件的时候,你可能也 ...

  6. mach-o格式分析

    0x00 摘要 人生无根蒂,飘如陌上尘. 分散逐风转,此已非常身. — 陶渊明 <杂诗> mach-o格式是OS X系统上的可执行文件格式,类似于windows的PE与linux的ELF, ...

  7. ZIP压缩算法详细分析及解压实例解释

    最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...

  8. 【NLP】Tika 文本预处理:抽取各种格式文件内容

    Tika常见格式文件抽取内容并做预处理 作者 白宁超 2016年3月30日18:57:08 摘要:本文主要针对自然语言处理(NLP)过程中,重要基础部分抽取文本内容的预处理.首先我们要意识到预处理的重 ...

  9. 使用winpcap多线程抓包,以及简单的分析数据包

    刚开始使用winpcap数据包的时候,我在抓包的时候使用了 pcap_loop(adhandle, 0, packet_handler, NULL); 这个回调函数进行抓包.同时在回调函数中分析IP地 ...

随机推荐

  1. 导入excel 数据到mysql出现的时间格式

    昨天把一张表的数据导出做修改,然后用Navcat 导入,结果总是失败,也看不出问题,说时间格式不对,我看了excel里时间格式对的,之前是excel导出的,搞 了一两个小时,今天发现导入有个选项,我的 ...

  2. Android中的Zip解压缩

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...

  3. HTML5新特性之Canvas+drag(拖拽图像实现图像反转)

    1.什么是canvas 在网页上使用canvas元素时,会创建一块矩形区域,默认矩形区域宽度300px,高度150px.. 页面中加入canvas元素后,可以通过javascript自由控制.可以在其 ...

  4. Git学习之添加远程仓库

    好久没有写过博客了,只因人生世事无常! 前言:说实话,早就听说了Git这个代码管理工具的NB之处,却一直没有时间好好学习下.现在终于有时间学习一下这个伟大的工具,在此写下在学习过程中遇到的问题! 推荐 ...

  5. [转] weak_ptr解决shared_ptr环状引用所引起的内存泄漏

    http://blog.csdn.net/liuzhi1218/article/details/6993135 循环引用: 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引 ...

  6. Unix文件操作

    一.概述 Unix文件操作常用函数包括open.close.creat.lseek.dup.dup2.fcntl等, 其中open.creat. fcntl函数需要包含头文件<fcntl.h&g ...

  7. iOS 实现时间线列表效果

    之前看到美团的订单详情页面很有特色,于是决定模仿一下这个效果. 其实就是简单的 TableView 技巧,下面我们就来一步一步实现它. 画个泡泡 首先到 Sketch 里画出气泡的效果 很简单,一个圆 ...

  8. PID38 串的记数(codevs2077)

    /* 假设当前有a个A b个B c个C 用 f[a][b][c]来表示 那么如果这个串以A结尾 那就是 f[a-1][b][c]转移来的 所以构成 f[a][b][c]的串一定有一部分是 f[a-1] ...

  9. SQL Server强制删除发布

    今日发现SQL Server 中 存在以前(系统还原前)的发布内容,使用鼠标->右键,选择删除,失败.   可使用语句: EXEC SP_REMOVEDBREPLICATION '发布数据库名称 ...

  10. JavaBean学习--练习示例

    初识Javabean,没感觉这鸟东西有什么好用的,一定是我太笨了 自己用jsp测试了下,这里用application作用域做个示例 <%@ page language="java&qu ...