⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mifarepro.h

📁 mifarea卡程序mifarea卡程序mifarea卡程序
💻 H
字号:
#ifndef MifarePro_H
#define MifarePro_H



//#define GETUID                  0x01
//#define GETCHIPINFO             0x02
//#define GETROMINFO              0x03
//#define DORSAENCRYPT            0x78

//const unsigned char CID=0x55;

#define MaxLength 64


//这些命令处理函数必须特别注意

char MProCardReset(unsigned char *CmdBuf,unsigned int *len);


char MProCardSyncStart(unsigned char *CmdBuf,unsigned int *len);

char MProCardSyncStop(unsigned char *CmdBuf,unsigned int *len);

char MProCardSyPutcharAck(unsigned char *CmdBuf,unsigned int *len);

char MProCardSyGetcharAck(unsigned char *CmdBuf,unsigned int *len);

char MProCardSyWrAck(unsigned char *CmdBuf,unsigned int *len);

char MProCard153WrE2PROM(unsigned char *CmdBuf,unsigned int *len);

char MProCard153RdE2PROM(unsigned char *CmdBuf,unsigned int *len);

char MProCard153VrfPswd(unsigned char *CmdBuf,unsigned int *len);

char MProCard153InitAuth(unsigned char*CmdBuf,unsigned int *len);

char MProCard153VrfAuth(unsigned char *CmdBuf,unsigned int *len);

char MProCard153WrFuse(unsigned char *CmdBuf,unsigned int *len);

char MProCard153RdFuse(unsigned char*CmdBuf,unsigned int *len);

char MProCardSleRdMmem(unsigned char *CmdBuf,unsigned int *len);

char MProCardSleUpdMmem(unsigned char *CmdBuf,unsigned int *len);

char MProCardSLeVerify(unsigned char *CmdBuf,unsigned int *len);


//有关得到版本信息的命令处理函数

char EvalOS_GetRomInfo(unsigned char *CmdBuf, unsigned int *len);

char EvalOS_GetUID(unsigned char *CmdBuf, unsigned int *len);

char EvalOS_GetChipInfo(unsigned char *CmdBuf, unsigned int *len);

char EvalOS_RSAEncpDecp(unsigned char *CmdBuf,
			            unsigned char Encrypt,
			            unsigned char datalen, 
						unsigned int *len);

//char MProCardReset();					        //? 定义MPRO卡片的复位操作函数.


void PrepareValue (unsigned long value, unsigned char *buf);


//MifarePro Card 命令包处理函数->数据交换


char Cmd_PackedProc(unsigned char *CmdBuf,unsigned int *len);


//MF RC500 解码器的操作命令函数
char M500PiccActivateIdle( unsigned char br,
                           unsigned char *atq, 
                           unsigned char *sak, 
                           unsigned char *uid, 
                           unsigned char *uid_len);

char M500PiccActivateAll(unsigned char br,
                         unsigned char *atq,
						 unsigned char *sak,
						 unsigned char *uid,
						 unsigned char *uid_len);

void WriteIO(unsigned char Address, unsigned char value);

char PcdSetTmo(unsigned long tmoLength);

char PcdSetTmoSE(unsigned long tmoLength);

char PcdWriteE2(  unsigned short startaddr,
                      unsigned char length,
                      unsigned char *wrdata);

char M500PcdLoadKeyE2(unsigned char key_type,
                      unsigned char sector,
					  unsigned char *uncodeed_keys);

char ExchangeByteStream(unsigned char Cmd,
                        unsigned char *send_data,
						unsigned short send_bytelen,
						unsigned char *rec_data,
						unsigned short *rec_bytelen,
						unsigned long timeout);

char M500PiccExchangeBlock(unsigned char *send_data,
                           unsigned short send_bytelen,
						   unsigned char *rec_data,
						   unsigned short *rec_bytelen,
						   unsigned char append_crc,
						   unsigned long timeout);


char PiccExchangeBlock(unsigned char *send_data,
                           unsigned short send_bytelen,
						   unsigned char *rec_data,
						   unsigned short *rec_bytelen,
						   unsigned char append_crc,
						   unsigned long timeout);


char PiccExchangeByteStream(unsigned char Cmd,
                        unsigned char *send_data,
						unsigned short send_bytelen,
						unsigned char *rec_data,
						unsigned short *rec_bytelen,
						unsigned long timeout);


char M500PiccAuthE2(unsigned char auth_mode,
                    unsigned char *snr,
					unsigned char key_sector,
                    unsigned char block);



char MProCommand(unsigned char *send_data,
                 unsigned short send_bytelen,
                 unsigned char *rec_data,
                 unsigned short *rec_bytelen,
                 unsigned char append_crc,
                 unsigned long timeout);


char M500PiccCommonRequest(unsigned char req_code, 
                            unsigned char *atq);

char MifareProRst(unsigned char *sendRstCode,unsigned char *pData);


unsigned int MifareProExcute(unsigned char *CmdBuf,unsigned int buflen);

unsigned short UpdateCrc(unsigned char ch, unsigned short *lpwCrc);

void ComputeCrc(char *Data, int Length,unsigned char *TransmitFirst, unsigned char *TransmitSecond);


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -