斥巨资买的5张 J3R200 到了,T=1 unFuse,所以可以随便折腾了(图1)。
enc/mac/kek 都是默认的 404142434445464748494A4B4C4D4E4F
这个默认key其实就是从 @ 到 O 的ASCII码的十六进制。
从 GlobalPlatformPro 仓库下载到 gp.exe 插上卡后执行 gp -l
可以看到ISD是OP_READY状态,Privs是啥都有,说明我可以自由地读写和测试。甚至可以发送 CardTerminate 指令然后损失20元。还看到卡片预载了不少PKG,都是LOADED状态,后面可以都玩玩。
接下来我就可以在Java环境下编译自己的Applet,然后使用 gp -install xxx.cap 来安装。
cap 的全称是 Converted Applet ,也就是编译后的JAR二进制包。
还记得上午的过期信用卡,发送一次 GET CHALLENGE 后只能拿到8个字节的随机数。但在这张“空白卡”上,想要多少字节就多少字节,全看我的Applet怎么写,想想还是蛮爽的。
HMAC-SHA256也能玩,javacard.security.Signature类里面就有Signature.ALG_HMAC_SHA_256,而且按我理解是硬核加密,也带有一些防侧信道攻击的防护。

