Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
lpc_sniffer_tpm — 用于ICEStick的低引脚数嗅探器 - 针对TPM芯片 | Kitploit
工具/GitHubGitHub/denandz/lpc_sniffer_tpm
嵌入式系统安全内存取证数据泄露取证分析数字取证硬件黑客硬件安全固件分析
GitHubdenandz/lpc_sniffer_tpm

lpc_sniffer_tpm

用于ICEStick的低引脚数嗅探器 - 针对TPM芯片

查看仓库
178306年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

用于 ice40 stick 的 TPM 专用 LPC 嗅探器(低引脚数)

将 ice40 stick 转变为 LPC 嗅探器,仅记录 TPM 特定消息。此仓库是 https://github.com/lynxis/lpc_sniffer/ 的副本,修改为仅记录起始字段为 0101 且地址介于 24 和 27 之间的消息。

该项目用于在 BitLocker 启用默认配置时通过嗅探 LPC 总线提取 BitLocker VMK 密钥。更多信息请参见 这篇文章。

特性

  • i/o read + writes
  • memory read + writes
  • sync errors

使用方法

  1. 修改 FTDI 的 EEPROM 并在通道 B 上启用 OPTO 模式
  2. 通过 iceprog lpc_sniffer.bin 将 lpc_sniffer.bin 烧录到你的 ice40 中
  3. 注意:前面的命令可以用 make install 替代
  4. 连接 LPC 总线
  5. 提取 LPC 数据:python3 ./parse/read_serial.py /dev/ttyUSB1 | tee outlog
  6. 从数据中提取密钥:cut -f 2 -d' outlog | grep '2...00$' | perl -pe 's/.{8}(..)..\n/$1/' | grep -Po "2c0000000100000003200000(..){32}"

IceStick 使用哪些连接器?

  • J1 连接器
root@kitploit:~
	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
  • 通过 FTDI 的 UART 输出

LED 指示灯

root@kitploit:~
	关于方向:USB 端口朝南:
	中间的绿灯:overflow_led

当内部缓冲区满时 overflow_led 亮起。不再解码 LPC 帧。

UART 协议

LPC 嗅探器将以 921600 波特率将帧写入 FTDI 的第二个 UART。

格式

  • 4 byte: address
  • 1 byte: data
  • 1 byte: 0-3bits: direction+type, 4-7: errorcode
  • 2 byte: '\r\n'

错误码

错误码以 4 位表示

  • 0001 - sync timeout.

内部文档

LPC 帧将:

  1. decoded by the LPC decoder
  2. saved into the internal memory
  3. padded by \r\n
  4. written onto uart

内存布局

内部存储器用作 48 位可寻址存储器。48 位恰好是一个 LPC 帧。

  • 4 byte: address
  • 1 byte: data
  • 1 byte: direction/type + error code

内部缓冲区

LPC 嗅探器使用内部缓冲区。当内部缓冲区满时,新帧将被丢弃。中间的绿灯将亮起。内部缓冲区最多可保存 2**10 个 LPC 帧(1024)。

下载工具