原理图

感谢评论区月光交流:方法一,上电后验证通过不用拔掉 I/O、RST 和 CLK,保持加电就行了。

SLE4442卡,在学校被拿来用作取电卡。在我拥有的所有卡中,电玩城的储值卡也是SLE4442卡。这种卡算是比较老的卡,一般来说越容易破解的卡片,年代也就越久远。

首图是按照SLE 4442 密码破解方法一文做的,文章年代有点久,但依然管用。值得一提的是淘宝上居然有人根据这个做出了成品,卖1.6k。

图上方法一原理很简单,卡上电验证通过以后一直处于开放状态,这个时候插上电脑读卡器,读错误计数,返回的2-4字节就是卡口令。但是在没有金手指电路板的情况下,实现起来较为困难。

图上的方法二在没有金手指电路板的情况下还是可以实现的,具体参考用逻辑嗅探破解接触式IC卡口令。用导线碰触卡上的触点I/O(文中叫DATA)、CLK和GND并想办法固定住,另一头引到逻辑分析仪,调整逻辑分析仪的采样时间为10s(不同机器的采样时间可能需要调整),开始采样后迅速将卡插入机器进行采样。

但现在电路板制作门槛越来越低,只要有一定的电路知识,再看看软件教程,做一块普通的板子还是没问题的。下面是做出来的板子。Vpp即是SW。
电路板
根据 Nyquist 采样定理,采样频率应是信号频率的两倍以上才能恢复实际波形。根据 SLE4442 文档,CLK Frequency 的范围是 7kHz - 50 kHz,为保证能恢复波形,采样率应该在 100 kHz 以上。当然采样率不是越高越好,因为一般来说信号分析仪一次能采样的数据是有限的,如果采样率太高,得到的实际数据就会很短,也许还没等到校验密码出来就采样完了。

按照既定的方法进行监听,找到命令字为 0x33 的数据,读取密码电平就可以了。需要注意的是字节中位出现的顺序是从低位到高位的,找的时候从低位找起,比如 0x33 你应该找 1100 1100,紧接着的是地址字,然后就是密码字了。按此方法监听到三个字节,即是密码。

SR

感谢某热心网友提供逻辑分析仪结果

如上图,需要注意的有几点:

  • CLK 的脉冲在数据读写进行时一般都很规律,虽然偶尔会出现周期拉长/缩短,但不影响卡片读写。
  • CLK 下降沿以后,机具开始准备数据,当下个 CLK 上升沿时,读该上升沿位置对应的 I/O 高低电平即可知道数据。
  • 校验密码的过程并不一定马上出现,机具可能会先读取卡片公共区域的数据,当需要读写卡片保护区之前,才进行密码校验。所以需要耐心分析结果。
  • 图上地址字是 0x03,意味着这已经是第三个密码字了,前面还有两个。
  • 该热心网友使用的是 2MHz 的采样率。