SID 卡的后门指令 (APDU)

SID 卡具有和 FMCOS 2.0 CPU 卡相似的指令集,同时可以使用后门指令改变 UID 和 ATS。因此,SID 卡可以在门禁等不联网场合实现对 CPU 卡部分功能的克隆。

帮助内容提取自 CPU卡调试助手
软件内这些内容需要付费才可以查看,程序有加壳,但通过动态调试的方法,可以直接提取出来这些内容。

设置 UID

1
00 DD 00 00 08 1989060492200800

Data 前 4 字节为 UID,第 5 字节为 UID 的 8 位 XOR 校验;最后 3 字节固定为 20 08 00。
注意:设置 UID 后必须立即设置 ATS。

设置 ATS

1
00 DD 00 01 10 107880A0022090000000000019890604

Data 最后 4 字节为 UID;UID 必须与设置 UID 命令中的相同。
注意:必须先设置 UID,然后再设置 ATS。

准备(擦除)卡片

1
00 00 00 00 00

注意:执行该命令后,请立即执行擦除文件系统命令。

擦除文件系统

1
84 0E 00 00 00

擦除包括 MF 在内的整个文件系统,但不包括 UID 和 ATS。
注意:请先执行准备(擦除)卡片命令。

设置 SAK ATQA

1
2
00 DE 00 00 03 280400	开启模拟 M1
00 DE 00 00 03 200800 关闭模拟 M1

建立 MF

1
80 E0 3F 00 16 38FFFF0000957AFF315041592E5359532E4444463031

命令结构与普通 CPU 卡相似。Data 前 8 字节勿修改;第 9 字节开始为目录名(5-16字节)。

建立 DF

1
80 E0 20 00 0D 3805200000955BFFA000000001

命令结构与普通 CPU 卡相似。P1P2 为文件标识符。Data 第 2、3 字节为目录空间;第 9 字节开始为目录名(5-16字节)。其余字节勿修改。
【特别注意】:SID 卡会自动选择刚建立好的文件(DF/EF)!建立 DF 后,务必重新执行 SELECT 命令,以免误操作!

建立 KEY 文件

1
80 E0 00 00 07 3F00D00100FFFF

命令结构与普通 CPU 卡相似。Data 第 2、3 字节为文件空间。如无必要不要修改此命令。
注意:建立完 KEY 文件,请立即写入对应的(MF/DF)密钥 1 和密钥 2。

写入密钥

1
2
3
4
80 D4 01 00 15 39000FFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE	写入MF密钥1
80 D4 01 00 15 36000FFFFFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 写入MF密钥2
80 D4 01 00 15 3900AAFF33BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 写入DF密钥1
80 D4 01 00 15 36000FFFFF8223F83BAF48E07B16ECFC2FD7332E35 写入DF密钥2

建立文件

1
80 E0 00 10 07 2800080000FFFA	建立二进制文件

命令结构与普通 CPU 卡相似。P1P2 为文件标识符。Data 第 2、3 字节为文件空间。其余字节勿修改。

1
80 E0 00 20 07 2A02020000FFFA	建立记录文件

命令结构与普通 CPU 卡相似。P1P2 为文件标识符。Data 第 2 字节为记录条目总数,第3字节为每条记录的长度。其余字节勿修改。

Undocumented 指令

通过脚本遍历所有的 Cla 和 Ins,发现 SID 卡还会响应下列 Undocumented 指令。
这些指令作用未知,请谨慎使用。已知其中的某个指令可以实现锁卡,锁卡之后所有的后门指令失效,返回错误码 6D00

Cla Ins
84 3C
00 3D
00 7D
84 CD
00 DF
84 F0