91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 105KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-09
  • 語(yǔ)言: 其他
  • 標(biāo)簽: smartcard??cpu卡??智能卡??

資源簡(jiǎn)介

pcsc讀卡器的操作示例,可以執(zhí)行apdu atr復(fù)位部分有一個(gè)類處理的很好

資源截圖

代碼片段和文件信息

//?ApduProcesser.cpp:?
//??????????APDU?Processor?for?APDU/APDUs/APDUS‘?file
//
// by?Y.Volta?Tang?(y.volta@gmail.com)
//??????????2008-01-18?22:06
//////////////////////////////////////////////////////////////////////

#include?“stdafx.h“
#include?“ApduProcesser.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////

CApduProcesser::CApduProcesser()
{
m_szErrMsg[0]?=?0x0;
}

CApduProcesser::~CApduProcesser()
{

}

//?Read?APDUs?from?a?file.
BOOL?CApduProcesser::DoFile(LPCTSTR?szPath)
{
CFile file;
DWORD dwLen?=?0;
char *pBuf?=?NULL;
BOOL bRet?=?FALSE;
char szCtrl;

if(!file.Open(szPath?CFile::modeRead?|?CFile::shareDenyWrite))
return?FALSE;

dwLen?=?file.GetLength();
pBuf?=?(char*)malloc(dwLen?+?10);

if(pBuf?==?NULL)
{
file.Close();
return?FALSE;
}

memset(pBuf?0x0?dwLen);
file.Read(pBuf?dwLen);

char *p?=?pBuf;
char *pcr?=?pBuf;
for(UINT?i=0;?i? {
szCtrl?=?*p++;

if(szCtrl?==?‘\n‘?||?szCtrl?==?‘\r‘)
{
*(p-1)?=?‘\0‘;

//?process?this?line.
bRet?=?DoMultiAPDU(pcr);

//? if(!bRet) //?sth.?wrong.
//? break;
//? else
pcr?=?p;
}
}


free(pBuf);
file.Close();

return?bRet;
}


//////////////////////////////////////////////////////////////////////////
//?sth.?like:
//?0084?0000?08;;;0084?0000?08;;
//
BOOL?CApduProcesser::DoMultiAPDU(char?*szMLBuf)
{
char *pBuf?=?szMLBuf;
char *pUnit?=?szMLBuf;
BOOL bRet?=?FALSE;
int nCnt?=?0;

int nBufLen?=?strlen(szMLBuf);
for(int?i=0;?i? {
if(*pBuf++?==?‘;‘)
{
*(pBuf-1)?=?0x0;

bRet?=?DoSingleAPDU(pUnit);

if(!bRet)
break;
else
{
nCnt?++;
pUnit?=?pBuf;
}
}
}

//?Not?Mutlti-APDU?found?so?try?the?Single?APDU.
if(nCnt?==?0)
return?DoSingleAPDU(pUnit);


return?bRet;
}

//////////////////////////////////////////////////////////////////////////
//?sth.?like:
//?0084?0000?08
//
BOOL?CApduProcesser::DoSingleAPDU(char?*szSLBuf)
{
return?ProcessSingleLine(szSLBuf);
}


BOOL?CApduProcesser::ProcessInput(char?*szInput)
{
m_arrApdu.RemoveAll();

if(szInput[1]?==?‘:‘)
{ //?This?is?a?plain?script?file.
return?DoFile(szInput);
}
else
{
if(strchr(szInput?‘;‘)?!=?NULL)
{ //?multi-apdu?specified.
return?DoMultiAPDU(szInput);
}
else
{ //?single-apdu?specified.
return?DoSingleAPDU(szInput);
}
}

return?FALSE;
}

//?Process?a?APDU?Line.
BOOL?CApduProcesser::ProcessSingleLine(char?*szSLBuf)
{
char szString[1025]?=?{0};
char *pdest?=?NULL;
int result?=?0;

if(strlen(szSLBuf)?>?1024)
return?FALSE;

//?expected?response?
pdest?=?strstr(?szSLBuf?“#?exp:?“?);
res

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????目錄??????????0??2009-01-22?19:00??SCardDemo-Adv

?????文件???????4959??2008-01-18?22:32??SCardDemo-Adv\ApduProcesser.cpp

?????文件???????1472??2008-01-18?22:27??SCardDemo-Adv\ApduProcesser.h

?????文件?????????55??2008-01-18?17:02??SCardDemo-Adv\apdus.txt

?????文件??????17543??2009-01-20?12:37??SCardDemo-Adv\SCardDemoDlg.cpp

?????文件??????16549??2008-01-18?22:24??SCardDemo-Adv\ConsoleWindow.cpp

?????文件??????10426??2009-01-20?12:37??SCardDemo-Adv\Atr.cpp

?????文件??????12575??2008-01-18?14:39??SCardDemo-Adv\DialogHeader.cpp

?????文件???????9723??2008-01-18?14:39??SCardDemo-Adv\DialogHeader.h

?????文件???????1100??2008-01-18?21:58??SCardDemo-Adv\resource.h

?????文件???????2105??2008-01-18?15:27??SCardDemo-Adv\SCardDemo.cpp

?????文件???????5040??2008-01-18?15:59??SCardDemo-Adv\SCardDemo.dsp

?????文件????????541??2008-01-18?17:00??SCardDemo-Adv\SCardDemo.dsw

?????文件???????1357??2008-01-18?15:27??SCardDemo-Adv\SCardDemo.h

?????文件???????7437??2008-01-18?22:01??SCardDemo-Adv\SCardDemo.rc

?????文件???????3903??2009-01-20?12:37??SCardDemo-Adv\Atr.h

?????文件???????1755??2008-01-18?16:10??SCardDemo-Adv\SCardDemoDlg.h

?????文件???????6484??2009-01-20?19:58??SCardDemo-Adv\SCardmgr.cpp

?????文件???????1486??2008-01-18?16:44??SCardDemo-Adv\SCardmgr.h

?????文件????????211??2008-01-18?15:27??SCardDemo-Adv\StdAfx.cpp

?????文件???????1054??2008-01-18?15:27??SCardDemo-Adv\StdAfx.h

?????文件??????46212??2009-01-20?17:55??SCardDemo-Adv\SCardDemo.aps

?????文件???????9838??2009-01-21?22:12??SCardDemo-Adv\SCardDemo.vcproj

?????文件????????886??2009-01-21?22:12??SCardDemo-Adv\SCardDemo.sln

????..A..H.?????22528??2009-05-07?19:50??SCardDemo-Adv\SCardDemo.suo

?????文件???????1403??2009-01-21?23:01??SCardDemo-Adv\SCardDemo.vcproj.DEC.DECC.user

?????文件???????1339??2008-06-19?21:03??SCardDemo-Adv\ConsoleWindow.h

?????目錄??????????0??2009-01-22?19:00??SCardDemo-Adv\Debug

?????目錄??????????0??2009-01-22?19:00??SCardDemo-Adv\res

?????文件???????9742??2008-01-18?15:54??SCardDemo-Adv\res\header.bmp

............此處省略12個(gè)文件信息

評(píng)論

共有 條評(píng)論