我需要你的帮助来验证智能卡的密码。我正在使用Python
和{APDU
命令,并且必须使用ScardTransmit()
发送它,但是我找不到要使用哪个APDU。例如:
SCardTransmit(hcard,dwActiveProtocol,
[0x00, 0x20, 0x00, 0x01, 0x06, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x00])
(因此,对于PIN=123456)将返回一个 6A 88-未找到参考数据
我在想:有没有一种方法可以获得关于commands的提示,以便与查看其^{
谢谢。在
注:顺便说一下,当P2=“00”我得到6a83时,没有找到记录。在
这可能有助于。。。对于GSM卡,我们始终使用8字节的数据长度,即。 验证\u CHV=[0xA0,0x20,0x00,0x01,0x08]
下面的管脚数据根据实际管脚长度用0xFF填充。 i、 e.如果pin=123456,则LJUST_pin_HEX=[0x31,0x32,0x33,0x34,0x35,0x36,0xFF,0xFF]
然后,APDU将是VERIFY_CHV+LJUST_PIN_HEX
如果您的智能卡应用程序(您事先选择的DF)具有ID为1的PIN(您在P2中给出了该PIN),则您的APDU将是正确的。您可以设置最高有效位,告诉命令在MF中搜索引脚1。在
存在哪些pin(也可能根本没有),如果卡具有文件系统,则由卡的个性化来定义它们所在的DFs。如果没有进一步的细节,答案必须非常笼统,例如尝试不同的P2值(高达0x1F)。在
另一方面,一旦验证了PIN,如果没有卡个性化的详细信息,您不太可能取得进一步的进展,所以现在就可以开始获取。在
相关问题 更多 >
编程相关推荐