📄 mful.c
字号:
#include <stdio.h>#include <sys/ioctl.h>#include "rc531.h"/* MIFARE Ultra Light function */int mfwrite(int addr, char *buf){ int data; char sbuf[32], rbuf[8]; struct rc531_cmd cmd; cmd.sendbuf = sbuf; cmd.recvbuf = rbuf; cmd.cmd = 0x1e; cmd.timeout = 0x70; cmd.bytesent = 6; sbuf[0] = 0xa2; sbuf[1] = addr; sbuf[2] = buf[0]; sbuf[3] = buf[1]; sbuf[4] = buf[2]; sbuf[5] = buf[3]; ioctl(fd531, RC531_CMD, &cmd); if(cmd.status&0x80){ return cmd.status; } if((r531(0x05)&0x07)!=4){ return E_BIT; } data = rbuf[0]&0x0f; if((data&0x0a) == 0){ return E_NAUTH; }else if(data != 0x0a){ return E_CODE; } return E_OK;}int mfread(int addr, char *buf){ int data; char sbuf[8]; struct rc531_cmd cmd; cmd.sendbuf = sbuf; cmd.recvbuf = buf; cmd.cmd = 0x1e; cmd.timeout = 0x50; cmd.bytesent = 2; sbuf[0] = 0x30; sbuf[1] = addr; ioctl(fd531, RC531_CMD, &cmd); if(cmd.status&0x86){ return cmd.status; } if(cmd.byterecv==1 && (r531(0x05)&0x07)==4){ data = buf[0]&0x0f; if((data&0x0a) == 0){ printf("read: not authent!\n"); return E_NAUTH; }else{ printf("read: code error!\n"); return E_CODE; } } return E_OK;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -