ID卡复制教程(使用T5577卡复制4100卡)

ID卡复制教程(使用T5577卡复制4100卡)1ID卡的常见类型与区别国内常见的普通ID卡多为EM4100或EM4102卡,其特点是不可修改ID号。为了复制普通ID卡,通常采用T5577或EM4305卡(俗称ID白卡),其特点是内部EEPROM可读可写,修改卡内EEPROM的内容即可修改卡片对外的ID号,达到复制普通ID卡的目的。本文以T5577卡复制普通EM4100卡。读者需具备基本的电子DIY能力。多说一句,ID…

大家好,又见面了,我是你们的朋友全栈君。

1 ID卡的常见类型与区别

国内常见的普通ID卡多为EM 4100 或 EM 4102卡,其特点是不可修改ID号。为了复制普通ID卡,通常采用T5577 或 EM4305卡(俗称ID白卡),其特点是内部EEPROM可读可写,修改卡内EEPROM的内容即可修改卡片对外的ID号,达到复制普通ID卡的目的。

本文以T5577卡复制普通EM4100卡。读者需具备基本的电子DIY能力。

多说一句,ID卡和IC卡是不一样的哦,本文只针对ID卡,绝大多数ID卡卡面会有一串数字,如果没有数字可能是IC卡哦,本文就不适用了。

2 硬件准备

A. ID卡读卡模块,用于读取待复制ID卡的卡号,某宝售价10元左右。

 

ID卡复制教程(使用T5577卡复制4100卡)

 

B. T5577卡读写模块,用于读取或写入ID号到T5577卡,某宝低于20元。

 

ID卡复制教程(使用T5577卡复制4100卡)

C.T5577空白卡

 

ID卡复制教程(使用T5577卡复制4100卡)ID卡复制教程(使用T5577卡复制4100卡)

 

D.USB转串口TTL模块(10元以下)(懒得放图了)

 

3 ID卡号介绍

标准EM ID卡号(曼彻斯特内码)由10位16进制数组成,例如:

 

7200944C78

其中7为版本代码,2为客户代码,00944C78ID代码

 

曼彻斯特内码 不在卡面标注,卡面常见标注为以下两种形式:

ID卡复制教程(使用T5577卡复制4100卡)

而此卡面所标注的卡号分别为ABA码(0009718904) 和 wiegand26码(148,19576):

如图所示的ABA码由ID代码转换为10进制所得,即:

00944C78)16 →(0009718904)10

如图所示的wiegand26码由ID代码倒数5、6位和后4位分别换算成10进制组成,即:

94,4C78)16 →(148,19576)10

 

综上所述:只有曼彻斯特内码(7200944C78)包含了完整的ID卡号信息,因此下文中所述的卡号、ID号如无特别说明均为10位16进制曼彻斯特内码

4 使用ID卡读卡模块读取ID号

由第3节可知:虽然ID卡卡面会包含”ID号”,但其信息并不完整,只有通过ID读卡器才能读出完整的曼彻斯特内码。

通过USB转串口TTL模块连接电脑和ID卡读卡模块,注意连接TXD和RXD交叉,使用串口调试助手读取ID号。读取ID的过程比较简单,详情可以参考模块手册。

 

 

 

 

(这里如果有时间的话会放一张硬件连接图)

 

 

 

 

 

5 向T5577空白卡写入ID号(原创内容)

ID号码只是一串16进制数,而T5577卡可以储存大量的数据,只有将ID号码按照指定格式写入T5577后,T5577才能起到原卡的作用。

5.1普通ID卡中的ID号

EM4100卡能够存储64bits数据,只可读不可写,其数据格式如下:

ID卡复制教程(使用T5577卡复制4100卡)

EM4100卡与RFID读卡器的交互过程中,按照以上数据格式循环传输,连续9个1表示一次传输的开始,每组5位中最后一位(P0~P9)是偶校验(每组5位中1的个数为偶数个),在进行数据校验的同时,确保了不会出现连续9个1与传输开始标志冲突。PC0~PC3位为列校验位,S0位停止位。

以下为一次传输的数据情况,该卡的卡号(曼彻斯特内码)为:

06001259E3

ID卡复制教程(使用T5577卡复制4100卡)

如果我们能像4100卡一样向读卡器发送上面64bit数据,即可达到复制ID卡的目的。

 

5.2 T5577空白卡

英文原文:http://www.priority1design.com.au/t5557_rfid_transponder.html

T5577能够储存330bits的数据,可读可写,其数据格式如下:

ID卡复制教程(使用T5577卡复制4100卡)

Block 0为配置块:

ID卡复制教程(使用T5577卡复制4100卡)

The configuration block bits are described in detail in Atmel’s T5557 datasheet, see T5557 datasheet. Here is a description of some of the more important configuration bit details.

Bits 16 – 20: Determine the Encoding protocol upon start up. A bit pattern of 10000 selects Manchester Encoding. When data is transmitted from tag to reader the data is encoding using this selected scheme. See Data modulation

Bits 12 – 14: Determine the Bit rate of the data transmitted by the transponder to the reader. A bit pattern of 101 selects a bit rate of 64 Field Cycles per bit.

Bits 25 – 27: Determine the maximum block address transmitted in standard read mode. For the T5557 RFID transponder this value can be from 0 to 7.

Bit 28: When Set this bit activates the Password mode. In Password mode all blocks need a password to be sent before they can be read or written. The password required is stored in block 7.

这部分就是说”配置块”每一位的含义,有点类似于51单片机配置寄存器的感觉……

当卡片被放入读卡器时,卡片会读取保存在配置块的数据按照配置要求发送数据。然后进入标准读模式。在标准读模式中,卡片从Block1开始发送数据到配置块25到27位定义的Max Block结束,整个发送过程重复进行。

配置块Block 0的默认配置为:000880E8

比特率:RF/32 调制方式:Manchester 最大块:7     PSKCF:RF/2     ST:1

这个默认配置是不正确的,EM4100卡的比特率是RF/64,且不使用ST(ST:0)

因此,Page0 Block0应当配置为:001480E0有同学配置成 00148041成功了,懒得分析了,只要能用就OK,感谢评论区@hahahwokao

5.3 T5577写入ID号(核心+原创)

普通ID卡(4100卡)在工作时,会循环发送自身全部64bit数据,这些数据中包含引导帧,ID卡号,行校验,列校验。以ID号:06001259E3写入4100卡为例(4100卡不可写,这里只是分析ID号在卡内的储存形式,进而推出应该写入T5577卡的数据)

第一步:写入引导序列和ID卡号

0→0000        6→0110        E→1110        1→0001

1

1

1

1

1

1

1

1

1

 

0

0

0

0

 

0

1

1

0

 

0

0

0

0

 

0

0

0

0

 

0

0

0

1

 

0

0

1

0

 

0

1

0

1

 

1

0

0

1

 

1

1

1

0

 

0

0

1

1

 
       

0

第二步:写入列校验行校验,最后一个固定为0

1

1

1

1

1

1

1

1

1

 

0

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

1

0

1

0

1

0

0

1

0

1

1

1

0

1

0

0

1

1

0

0

1

0

0

0

 

列校验行校验均为偶校验:每行或每列中”1″的个数为偶数的时候,这个校验位就是”0″,否则这个校验位就是”1″

将上表按数据发送顺序展开,则4100卡最终发送的数据就是:

111111111    00000011000000000000000 (FF818000)

110010101    01010010111010011001000     (CAA974C8)

只要把这64位数据写入T5577的EEPROM中,即可实现ID卡的复制。

 

ID卡复制教程(使用T5577卡复制4100卡)

 

使用T5577读写模块和配套软件,首先在Block1中写入FF818000,在Block2中写入CAA974C8即完成了ID号的写入,最后在配置块Block0中写入001480E0有同学配置成 00148041成功了,懒得分析了,只要能用就OK,感谢评论区@hahahwokao。此时,T5577卡即可替代原ID卡。

读写模块配套软件:

  1. 链接:https://pan.baidu.com/s/1Dxyq9kzN1gC3jAtIuTkwhg

  2. 提取码:x5xx

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132872.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux 中的 nohup 命令(设置后台进程): nohup: ignoring input and appending output to ‘nohup.out’[通俗易懂]

    linux 中的 nohup 命令(设置后台进程): nohup: ignoring input and appending output to ‘nohup.out’[通俗易懂]一、Linux下使用nohupUnix/Linux下一般比如想让某个程序在后台运行,很多都是使用&在程序结尾来让程序自动运行。比如我们要运行weblogic在后台:./startWebLogic.sh&但是加入我们很多程序并不象weblogic一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用&结尾。但是如果终端关闭,那么程序也…

    2022年5月31日
    1.8K
  • 单源最短路径dijkstra算法_dijkstra是谁

    单源最短路径dijkstra算法_dijkstra是谁年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用 10000 个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:”嗯,如果你能够替我弄到大祭司的皮袄,我可以只要 8000 金币。如果你能够弄来他的水晶球,那么只要 5000 金币就行了。”探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者替他弄来其他的东西,他可以降低价格。探险家于是又跑到其他地方,其他人也提出了类似的要求,或者直接用金币换,或

    2022年8月9日
    5
  • 【python】lambda表达式与排序

    【python】lambda表达式与排序lambda表达式简单易用的匿名函数文章目录lambda表达式1.什么是lambda表达式2.lambda表达式语法3.lambda表达式的主要用途3.1list.sort()函数3.2自定义属性排序3.3常见的小问题3.4二维列表的排序1.什么是lambda表达式在学习lambda表达式之前,我们先写一个求圆的面积的函数defget_area(radius):return3.14*radius**2radius=float(input())pri

    2022年10月17日
    0
  • fulltext mysql_mysql – FULLTEXT和FULLTEXT KEY / INDEX有什么区别?

    fulltext mysql_mysql – FULLTEXT和FULLTEXT KEY / INDEX有什么区别?MySQL文档提供了这种格式来创建FULLTEXT索引:|{FULLTEXT|SPATIAL}[INDEX|KEY][index_name](index_col_name,…)[index_option]要使用MySQL实现全文搜索,您可以通过编写来创建索引:CREATETABLEposts(idint(4)NOTNULLAUTO_INCREMENT,titlevarcha…

    2025年6月27日
    0
  • 微信小程序如何实现支付功能?看官方文档头疼(使用云函数的方式操作)「建议收藏」

    先来个效果图^_^微信支付功能,个人公众号是没有办法进行开发支付功能的,需要是使用非个人公众号进行注册(如:营业执照等,可以去淘宝购买一个也行大概500左右)公众平台的配置可以参考文档,这里主要是微信官网注册非个体公众号的否需代码操作。(也就是和我们码农相关的操作了)耐心看下面操作,基本上就是复制下面的代码(整个操作也就一会,基础再差也就30分钟搞定支付)^_^1.创建微信小程序2.在微信小程中序创建云函数1).根目录下创建一…

    2022年4月18日
    320
  • js 闭包传参_JavaScript闭包演示

    js 闭包传参_JavaScript闭包演示有个网友问了个问题,如下的html,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5。闭包演示functioninit(){varpAry=document.getElementsByTagName(“p”);for(vari=0;ipAry[i].onclick=function(){alert(i);}}}产品一产品二产品三产品四产品五解决方…

    2022年6月15日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号