将 ice40 stick 转变为 LPC 嗅探器,仅记录 TPM 特定消息。此仓库是 https://github.com/lynxis/lpc_sniffer/ 的副本,修改为仅记录起始字段为 0101 且地址介于 24 和 27 之间的消息。
该项目用于在 BitLocker 启用默认配置时通过嗅探 LPC 总线提取 BitLocker VMK 密钥。更多信息请参见 这篇文章。
iceprog lpc_sniffer.bin 将 lpc_sniffer.bin 烧录到你的 ice40 中make install 替代./parse/read_serial.py /dev/ttyUSB1 | tee outlog VCC 3.3|NC 1
GND 2
lpc_clock 3
lpc_ad[0] 4
lpc_ad[1] 5
lpc_ad[2] 6
lpc_ad[3] 7
lpc_frame 8
lpc_reset 9
关于方向:USB 端口朝南:
中间的绿灯:overflow_led
当内部缓冲区满时 overflow_led 亮起。不再解码 LPC 帧。
LPC 嗅探器将以 921600 波特率将帧写入 FTDI 的第二个 UART。
错误码以 4 位表示
LPC 帧将:
内部存储器用作 48 位可寻址存储器。48 位恰好是一个 LPC 帧。
LPC 嗅探器使用内部缓冲区。当内部缓冲区满时,新帧将被丢弃。中间的绿灯将亮起。内部缓冲区最多可保存 2**10 个 LPC 帧(1024)。