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 | 00 DE 00 00 03 280400 开启模拟 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 | 80 D4 01 00 15 39000FFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 写入MF密钥1 |
建立文件
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 |