POSThttps://decrypt.nikola-lab.cn/openapi/v1/decrypt/task/create/mfkey32(创建MFKey32解密任务)
MFKey32有v1和v2版本,两者是大部分都相同的算法实现的解密,只是传入的参数有所不同。 在PM3界内,MFKey32适用于变色龙等侦测( Detection)工具进行解密
- MFKey32_V1是老版本的变色龙和大多数性能比较低的侦测器(或者CPU模拟的侦测卡)所使用的算法,其特点就是返回的明文随机数是固定的,NT无论采集多少次都是同一个,所以此算法只需要传入一次NT参数。
- MFKey32_v2是现在比较新版本的能模拟整卡的变色龙(或延伸产品)所采用的算法,此算法要求返回的明文随机数是“会变化的随机数”,而不是固定的“随机数值”。
以上的描述就是两个版本的算法之间的特点,所以假设你需要进行v1版本的MFKey32解密,只需要将核心参数中的NT值填为相同的值即可
| 参数 | 参数类型 | 值类型 | 备注 |
|---|---|---|---|
| uid | body | string | 卡号的有效部分的uint32值转为字符串,具体请看第10.1.3章节 |
| keyA | body | boolean | 是否在解密A秘钥 |
| block | body | string | 解密的block,当前正在解密的block,最大255,最小为0。uint8值转字符串 |
| cores | body | object | 核心解密参数对象,对象内包含 'core1' 和 'core2' 两个对象,这两个对象的结构一样,请看下方描述 |
'core1' 和 'core2' 的结构定义
| 参数 | 参数类型 | 值类型 | 备注 |
|---|---|---|---|
| nt | body | string | uint32转字符串 |
| nr | body | string | uint32转字符串 |
| ar | body | string | uint32转字符串 |
数据示例
json
{
"uid": "305419896",
"keyA": true,
"block": "0",
"cores": {
"core1": {
"nt": "450420523",
"nr": "489775140",
"ar": "1645146184"
},
"core2": {
"nt": "819383047",
"nr": "3307239394",
"ar": "2205861402"
}
}
}应答数据
| 参数 | 参数类型 | 值类型 | 备注 |
|---|---|---|---|
| uuid | body | string | 任务的UUID,可以根据此UUID调用查询接口去查询结果 |
应答示例
json
{"uuid": "b2733132-ed10-4f0d-a803-449299c5dbde"}