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

📄 dcic32.h

📁 4442IC的读写程序
💻 H
📖 第 1 页 / 共 2 页
字号:
__int16  __stdcall  IC_Write64(HANDLE idComDev,__int16 offset,__int16 len,unsigned char *writebuffer);
//hex read and write.
__int16  __stdcall  IC_Write_Hex(HANDLE idComDev,__int16 offset,__int16 len,unsigned char *writebuffer);
__int16  __stdcall  IC_Read_Hex(HANDLE idComDev,__int16 offset,__int16 len,unsigned char * databuffer);
__int16  __stdcall  IC_Write24_Hex(HANDLE idComDev,__int16 offset,__int16 len,unsigned char *writebuffer);
__int16  __stdcall  IC_Write64_Hex(HANDLE idComDev,__int16 offset,__int16 len,unsigned char *writebuffer);
//
__int16 __stdcall IC_DirectRead(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *buff);
__int16 __stdcall IC_WriteByBuffer(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *buff);
__int16 __stdcall IC_DirectWrite(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *buff);
//
__int16 __stdcall IC_DirectRead_Hex(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *buff);
__int16 __stdcall IC_DirectWrite_Hex(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *writebuffer);
__int16 __stdcall IC_WriteBybuffer_Hex(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *writebuffer);
//
__int16  __stdcall IC_Fuse_1604B(HANDLE idComDev);
__int16  __stdcall IC_ReadCount_1604B(HANDLE idComDev,__int16 area);
__int16  __stdcall IC_ChangePass_1604B(HANDLE idComDev,__int16 area,unsigned char*password);
__int16  __stdcall IC_CheckPass_1604B(HANDLE idComDev,__int16 area,unsigned char*password);
__int16  __stdcall IC_ChangePass_1604Bhex(HANDLE idComDev,__int16 area,unsigned char*password);
__int16  __stdcall IC_CheckPass_1604Bhex(HANDLE idComDev,__int16 area,unsigned char*password);
//
__int16 __stdcall IC_Read_1101(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *buff);
__int16 __stdcall IC_Write_1101(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *buff);
__int16 __stdcall IC_Read_1101hex(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *buff);
__int16 __stdcall IC_Write_1101hex(HANDLE idComDev,__int16 page,__int16 offset,__int16 bytes,unsigned char *buff);

__int16  __stdcall  IC_GotoUpdate (HANDLE idComDev);       //for download function
//AT88SC1608 卡的专用函数

__int16  __stdcall IC_InitAuth_Hex(HANDLE idComDev,unsigned char *Q0);
__int16  __stdcall IC_CheckAuth_Hex(HANDLE idComDev,unsigned char *Q1);
__int16  __stdcall IC_InitAuth(HANDLE idComDev,unsigned char *Q0);
__int16  __stdcall IC_CheckAuth(HANDLE idComDev,unsigned char *Q1);
__int16  __stdcall IC_CheckRPassword_Hex(HANDLE idComDev,unsigned char zone,unsigned char *Pin);
__int16  __stdcall IC_CheckWPassword_Hex(HANDLE idComDev,unsigned char zone,unsigned char *Pin);
__int16  __stdcall IC_CheckRPassword(HANDLE idComDev,unsigned char zone,unsigned char *Pin);
__int16  __stdcall IC_CheckWPassword(HANDLE idComDev,unsigned char zone,unsigned char *Pin);
__int16  __stdcall IC_ChangeRPassword(HANDLE idComDev,unsigned char zone,unsigned char *Pin);
__int16  __stdcall IC_ChangeWPassword(HANDLE idComDev,unsigned char zone,unsigned char *Pin);
__int16  __stdcall IC_ChangeRPassword_Hex(HANDLE idComDev,unsigned char zone,unsigned char *Pin);
__int16  __stdcall IC_ChangeWPassword_Hex(HANDLE idComDev,unsigned char zone,unsigned char *Pin);
__int16  __stdcall IC_WriteFuse(HANDLE idComDev,unsigned char fusetype);
__int16  __stdcall IC_ReadFuse(HANDLE idComDev);
__int16  __stdcall IC_WriteConfigZone(HANDLE idComDev,__int16 Offset,__int16 len,unsigned char *WDataBuff);
__int16  __stdcall IC_WriteUserZone(HANDLE idComDev,__int16 Offset,__int16 len,unsigned char *WDataBuff);
__int16  __stdcall IC_ReadConfigZone(HANDLE idComDev,__int16 Offset,__int16 len,unsigned char *RDataBuff);
__int16  __stdcall IC_ReadUserZone(HANDLE idComDev,__int16 Offset,__int16 len,unsigned char *RDataBuff);
__int16 __stdcall  IC_ReadWPasswordCount(HANDLE idComDev,unsigned char zone);
__int16 __stdcall  IC_ReadRPasswordCount(HANDLE idComDev,unsigned char zone);

__int16 __stdcall IC_ReadAuthCount(HANDLE idComDev);
__int16 __stdcall IC_WriteConfigZone_Hex(HANDLE idComDev,__int16 Offset,__int16 len,unsigned char *WDataBuff);
__int16 __stdcall IC_WriteUserZone_Hex(HANDLE idComDev,__int16 Offset,__int16 len,unsigned char *WDataBuff);
__int16 __stdcall IC_ReadConfigZone_Hex(HANDLE idComDev,__int16 Offset,__int16 len,unsigned char *RDataBuff);
__int16 __stdcall IC_ReadUserZone_Hex(HANDLE idComDev,__int16 Offset,__int16 len,unsigned char *RDataBuff);

__int16 __stdcall IC_SetUserZone(HANDLE idComDev,unsigned char Zone);


//AT88SC1608的专用算法程序,资料中介绍为F2算法。
__int16 __stdcall SetInit(unsigned char *Ci, unsigned char *Gc,unsigned char *Q0);
__int16 __stdcall Authenticate(unsigned char *Q1,unsigned char *Q2);
//可以使用16进制的数据传输
__int16 __stdcall SetInit_Hex(unsigned char *Ci, unsigned char *Gc,unsigned char *Q0);
__int16 __stdcall Authenticate_Hex(unsigned char *Q1,unsigned char *Q2);

/*
认证的使用过程:
	1。产生Q0为一个随机数。
	2。使用IC_InitAuth(Q0)将Q0送入卡中。
	3。从卡中读出Ci用于下一步的密钥初始化。
	4。使用SetInit(Ci,Gc,Q0),其中Gc为用户密钥,由用于掌握,必须和卡中的Gc相同,Q0在第一步中已经产生。
	5。使用Authenticate(Q1,Q2)产生Q1,Q2,用于下一步的认证过程
	6。使用IC_CheckAuth(Q1)将Q1送入卡中认证。
	7。从卡中读出Ci和Q2比较,如果相同则认证通过。

    注意:在此过程中Gc为用户已知密钥
*/
//2个工具函数,用于字符串格式的转换
__int16 __stdcall   hex2asc(unsigned char *strhex,unsigned char *strasc,__int16 length);
__int16 __stdcall   asc2hex(unsigned char *strasc,unsigned char *strhex,__int16 length);

__int16  __stdcall  SendData(HANDLE idComDev,__int16 len,unsigned char * databuffer);
__int16  __stdcall  ReceiveData(HANDLE idComDev,__int16 len,unsigned char *databuffer);


unsigned __int16 __stdcall ICC_Internal_Auth(HANDLE idComDev,unsigned char kid,unsigned char *randifd,unsigned char retlen,unsigned char *encrand);
unsigned __int16 __stdcall ICC_External_Auth(HANDLE idComDev,unsigned char kid,unsigned char *encrand);
unsigned __int16 __stdcall ICC_Verify(HANDLE idComDev,unsigned char kid,unsigned char pin_len,unsigned char *pin);
unsigned __int16 __stdcall ICC_Write_Bin(HANDLE idComDev,unsigned __int16 offset,unsigned __int16 len,unsigned char *data);
unsigned __int16 __stdcall ICC_Read_Bin(HANDLE idComDev,unsigned __int16 offset,unsigned __int16 len,unsigned char *resp);
unsigned __int16 __stdcall ICC_Select_File(HANDLE idComDev,unsigned char sflag,unsigned __int16 fid);
unsigned __int16 __stdcall ICC_Get_Challenge(HANDLE idComDev,unsigned char len,unsigned char *rand);

__int16 __stdcall IC_ReadUsbSnr(HANDLE idComDev,unsigned char *snrdata);

//BOOL __stdcall RegisterCallback(LPRD102_CALLBACK_FUNC lpfnCallback);
__int16  __stdcall  IC_Control(HANDLE idComDev,unsigned char ctype,unsigned char delaytime);


//add 2004-4-2
__int16  __stdcall  IC_CheckCard(HANDLE idComDev);

__int16  __stdcall  IC_Check_4442(HANDLE idComDev);
__int16  __stdcall  IC_Check_4428(HANDLE idComDev);
__int16  __stdcall  IC_Check_102(HANDLE idComDev);
__int16  __stdcall  IC_Check_1604(HANDLE idComDev);
__int16  __stdcall  IC_Check_1604B(HANDLE idComDev);
__int16  __stdcall  IC_Check_24C01(HANDLE idComDev);
__int16  __stdcall  IC_Check_24C02(HANDLE idComDev);
__int16  __stdcall  IC_Check_24C04(HANDLE idComDev);
__int16  __stdcall  IC_Check_24C08(HANDLE idComDev);
__int16  __stdcall  IC_Check_24C16(HANDLE idComDev);
__int16  __stdcall  IC_Check_24C64(HANDLE idComDev);
__int16  __stdcall  IC_Check_45DB041(HANDLE idComDev);
__int16  __stdcall  IC_Check_1101(HANDLE idComDev);
__int16  __stdcall  IC_Check_CPU(HANDLE idComDev);
__int16  __stdcall  IC_Check_153(HANDLE idComDev);
__int16  __stdcall  IC_Check_1608(HANDLE idComDev);
__int16  __stdcall  IC_Check_4404(HANDLE idComDev);
__int16  __stdcall  IC_Check_4406(HANDLE idComDev);

}

⌨️ 快捷键说明

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