使用RC522(SI522)写UID卡0扇区0块

本文详细介绍了如何使用SI522模块通过特殊指令修改UID卡的0扇区0块,从而改变卡号。包括IC卡、UID、CUID、FUID等卡类型的区别,以及具体的写卡流程和代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在淘宝买的UID白卡,可以使用特殊指令写0扇区0块,达到修改卡号的目的。

一开始淘宝白卡各类繁多,没搞明白,查了查以下几个关键词:

IC卡:普通的S50卡,0扇区0块不可更改。

UID: 0扇区0块可以更改(使用特殊指令)。

CUID:0扇区0块可以更改(使用标准扇区读写指令)。

FUID:0扇区0块可以更改(与UID类似,但只能写一次)。

S50资料参考:https://www.cnblogs.com/SCPlatform/p/5116180.html


手上刚好有一块SI522的板子,SI522据说完全兼容MFRC522,拿来测试。

通过查阅资料,得知写UID的流程是这样的:

#1.寻卡
send:26 
recv:04 00 
#2.防冲突
send:93 20 
recv:B0 6A BC 3B 5D 
#3.选卡
send:93 70 B0 6A BC 3B 5D D9 36 
recv:08 B6 DD 
#4.休眠
send:50 00 57 CD 
#5.写0块后门指令1(7bit模式)
send:40
recv:0A 
#6.写0块后门指令2
send:43 
recv:0A 
#7.写块数据
send:A0 00 5F B1 
recv:0A 
#8.写入16字节的块数据
send:75 C5 48 37 CF 08 04 00 62 63 64 65 66 67 68 69 5C BB 
recv:0A 

#块0数据注解
75 C5 48 37: 4字节卡号
CF         : XOR卡号校验
08         : 卡容量
04 00      : 卡类型
62 63 64 65: 其它
66 67 68 69: 其它

那么,搞清楚通信数据流程后,如何实现这个流程呢?

第1步寻卡,SI522库函数已提供:PICC_IsNewCardPresent();

第2步3步,Si522库函数已提供:PICC_Select() ;

第4步休眠,Si522库函数已提供:PICC_HaltA();

第5,6步,没有现成的函数,但可以用PCD_TransceiveData()函数实现;

第7步,写数据有库函数:MIFARE_Write(0, block, 16);

下面是第5,6步的参考代码:

uint8_t validBits;
uint8_t send_data[8];
uint8_t recv_data[8];
uint8_t recv_size;

//第5步,发送0x40指令
validBits = 7;
send_data[0] = 0x40;
status = PCD_TransceiveData(send_data, 1, recv_data, &recv_size, &validBits, 0, false);
if(status != STATUS_OK)
{
	return 0;
}

//第6步发送0x43指令
send_data[0] = 0x43;
status = PCD_TransceiveData(send_data, 1, recv_data, &recv_size, NULL, 0, false);
if(status != STATUS_OK)
{
	return 0;
}

最后,成功地使用SI522修改了UID卡的卡号。

 

### 关于 Stable Diffusion WebUI 的中文资源和教程 对于希望获取有关 Stable Diffusion WebUI 更多信息的用户来说,存在多种途径可以找到详细的中文文档、教程和其他学习资料。 #### 1. 官方 GitHub 页面中的 README 文件翻译版 官方 GitHub 项目页面提供了英文版本的操作指南和技术细节描述。虽然原始文件为英语编,但是社区成员经常自发地将其翻译成不同语言,包括中文。可以在项目的 Issues 或 Pull Requests 部分查找是否有已有的翻译贡献[^1]。 #### 2. 社区论坛和支持平台上的讨论与分享 活跃的技术交流平台上会有许多开发者分享自己的经验和心得。例如 Reddit, Discord 等国际社交网络上设有专门针对 AI 绘画工具的话题板,在这些地方能够发现不少由爱好者撰的入门级文章以及高级技巧解析。国内则有 CSDN 博客园等网站也收录了不少相关帖子[^2]。 #### 3. YouTube 及 Bilibili 平台的教学视频 多媒体形式的学习材料往往更容易被接受理解。YouTube 是全球最大的在线视频共享服务平台之一;而在中国境内访问受限的情况下,B站作为本土领先的弹幕式直播分享站点同样拥有大量优质的编程教学内容。搜索关键词如 "stable diffusion webui tutorial chinese" 就能找到适合初学者观看的内容[^3]。 #### 4. 第三方博客和个人主页发布的专题系列 一些个人博主会基于自己对该软件的理解撰深入浅出的文章介绍其功能特性,并附带实际案例演示如何操作使用。这类独立出版物通常更新较为及时且贴近读者需求,值得推荐关注[^4]。 ```bash # 如果需要快速启动环境测试,可以通过如下脚本一键部署(需确保系统满足前提条件) wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh && bash webui.sh ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值