Skip to content

Latest commit

 

History

History
157 lines (126 loc) · 6.63 KB

File metadata and controls

157 lines (126 loc) · 6.63 KB

信号线逆向工程实验

说是为了记录下来,便于后人进一步研究。

本篇文章为逆向南科大二期宿舍门锁的过程记录,因为整个逆向的过程类似于实验,这里用实验的方式来指导动作和记录结果。

在阅读本文之前,你需要知道以下内容:

  1. 二期宿舍门锁的基本功能 TODO
  2. 二期宿舍门锁的基本结构 TODO
  3. Freedorm桥接板的基本功能 TODO
  4. 逻辑分析仪的基本功能 TODO

实验目的

  1. 了解信号线的基本功能
  2. 确定数据传输线的通讯协议
  3. 确定不同刷卡动作下的数据传输线的具体内容
  4. 不同权限卡之间的数据传输内容的区别

实验器材

  1. 二期宿舍门锁(研究对象)
  2. Freedorm桥接板(用来中间人截取信号)
  3. 逻辑分析仪(用来获取分析信号)
  4. 数据线(用来连接逻辑分析仪和上位机电脑)
  5. 杜邦线(用来模拟短接调试线)
  6. 装有Pulseview的电脑(用来分析信号)
  7. 对应的门禁卡(用来执行刷卡成功动作)
  8. 空白门禁卡(用来执行刷卡失败动作)
  9. (optional) 宿管卡(用来给逻辑分析仪供电)

最后安装好的实验器材如下图所示: 实验器材

实验步骤

  1. 安装桥接版,具体步骤见Freedorm安装教程
  2. 测量信号线电平并记录
  3. 连接逻辑分析仪和电脑
  4. 开始录制信号
  5. 执行实验动作
  6. 按照命名规则保存数据

实验动作设计

针对每个实验目的,设计对应的实验动作,如下:

实验结果

信号线电平

通过测量对GND电平,得到下表:

D1 D0 LED LOCK
颜色 绿
电平 5V 5V 3V3 3V3

逻辑分析仪数据

通过执行刷卡动作,逻辑分析仪得到一些数据,命名规则为data_刷卡类型_对应反馈

刷卡类型有:

  1. admin:宿管卡
  2. user:本宿舍住户校园卡
  3. stranger:陌生人校园卡
  4. touch_num:点击门锁面板密码键盘数字键
  5. touch_ok:点击门锁面板密码键盘确认键
  6. blank:空白UFUID-IC卡
  7. miband9:小米手环9模拟IC卡
  8. D1: 短接D1和GND
  9. D0: 短接D0和GND
  10. LED: 短接LED和GND
  11. LOCK: 短接LOCK和GND
  12. D1&user: 短接D1和GND,刷本宿舍住户校园卡
  13. D0&user: 短接D0和GND,刷本宿舍住户校园卡
  14. LED&user: 短接LED和GND,刷本宿舍住户校园卡
  15. LOCK&user: 短接LOCK和GND,刷本宿舍住户校园卡
  16. D1&admin: 短接D1和GND,刷宿管卡
  17. D0&admin: 短接D0和GND,刷宿管卡

对应反馈有:

  1. success:门打开
  2. fail:门不打开
  3. blank:没有反馈,门不打开
  4. lock:门锁上了,刷卡刷不开

通过实验,得到每种刷卡类型的对应反馈表,如下表所示:

刷卡类型 门锁 面板LED 蜂鸣器 反馈类型
admin
user 开,6s后锁上 持续6s绿色 长滴一声 success
stranger 不开 红色闪烁3s 长滴一声 fail
touch_num 不开 无反应 短滴一声 blank
touch_ok 不开 绿色闪烁5s fail
blank 不开 无反应 blank
miband9 不开 无反应 blank
D1 不开 保持蓝色 blank
D0 不开 保持蓝色 blank
LED 不开 蓝色变成绿色,并保持绿色 blank
LOCK 常开 保持蓝色 success
D1&user 不开 绿色闪烁一下,1s 长滴一声 lock
D0&user 不开 绿色闪烁一下,1s 长滴一声 lock
LED&user 开,6s后锁上 持续6s绿色 长滴一声 blank
LOCK&user 本来就是常开的 持续6s绿色 长滴一声 success
D1&admin
D0&admin

有太多种可能的刷卡动作,因此选取了感兴趣的11个刷卡动作,用逻辑分析仪获取数据。 每个数据对应一个动作;有4个通道,对应D1、D0、LED、LOCK。储存在data文件夹下

data_admin_ data_user_success data_stranger_fail data_touch_num_blank data_touch_ok_fail data_D1_blank data_D0_blank data_LED_blank data_LOCK_success data_D1&user_lock data_D0&user_lock data_D1&admin_ data_D0&admin_

实验数据分析

信号线的基本功能

首先查询制造商智慧赛宁的资料,也没有翻到相关的资料,只能自己动手了。

智慧赛宁logo

这一部分通过pcb板子上的丝印已经大概了解,8pin的ph2.0排线中,有两根线被剪断,分别是BUZ和SENSE,剩下的6根线分别是:GND、D1、D0、LED、LOCK、12V。

dorm_pcb_silkprint dorm_pcb_silkprint

暂时不浪费时间在没用到的线上和完全已知的线上,我们只关注D1、D0、LED、LOCK这四根线。

确定不同刷卡动作下的数据传输线的具体内容

通过上述实验,我们得到了9种刷卡类型的反馈,下面我们分析每种刷卡类型的数据传输线的具体内容。