Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Hardware Hacking Cheatsheet — 硬件黑客速查表 | Kitploit
工具/GitLabGitLab/myasnik/hardware-hacking-cheatsheet
嵌入式系统安全物联网安全硬件安全学习与教育精选资源固件分析
GitLabmyasnik/hardware-hacking-cheatsheet

Hardware Hacking Cheatsheet

硬件黑客速查表

查看仓库
2415年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

硬件破解速查表

[[TOC]]

免责声明

  • 我是个菜鸟,正在尝试学习这类东西,所以有些内容可能不是 100% 正确
  • 抱歉我的英语不好

备注

  • 遵循“最简单路径优先”方法论
  • 有时你需要焊接东西;这里 有一个快速简单的指南
    • 你可能需要将导线直接焊接到 PCB 过孔上(视频)
      1. 用切割刀刮擦 PCB 表面,直到你能看到焊料掩模下的闪光
      2. 用玻璃纤维笔再次刮擦表面
      3. 用一些 IPA 和棉签清洁表面
      4. 涂上一点助焊剂
      5. 给导线镀锡并焊接
    • 备注
      • 始终给烙铁头镀锡
      • 温度:250-350 C
      • 不要用手触摸 PCB

信息收集与初次交互

  1. 查看设备背面的标签,找到
    • 型号名称
    • 序列号
    • 设备品牌方(可能不是制造商)
  2. 使用刚收集到的信息在网上搜索
    • 包含信息的最佳网站
      • TechInfoDepot
      • OpenWRT
    • 搜索 ...,这通常会带来大量信息
      • FCC ID(参考网站)
      • SOC 名称
      • Flash 芯片名称和容量
      • RAM 芯片名称和容量
      • 其他可能的信息来源
  3. 打开设备
    • 搜索如何打开设备的教程
    • 有些设备可能用胶粘住以防被打开,要轻柔
    • 有时散热器会覆盖部分电路,如果可能请移除它
  4. 识别组件
    • 为了使电路名称更易读
      • 使用棉花 + 酒精,当酒精干燥后,用粉笔覆盖电路,然后清洁;现在电路名称应该可读了
      • 使用放大镜
    • 在网上搜索关于这些组件的信息和数据手册;如果找不到,尝试中文搜索引擎
      • Baidu
      • Sogou
      • Haosou
    • 重要:找到一个 VCC 和 GND 暴露良好的组件非常有用
  5. 定位 UART 接口:大致相当于一个 TTY
    • 在网上搜索
    • 在 PCB 上寻找 GND、IN 或 RX、OUT 或 TX 以及 VCC
    • 在 PCB 上寻找 3/4 个引脚
      1. 找到 GND 参考点
        • 使用之前找到的组件
        • 通常金属板处于 GND
      2. 找到 VCC 参考点
        • 使用之前找到的组件
        • 寻找电容,它们通常在 VCC 处有一个点
      3. 测试 UART 候选引脚,填写下表(下面的项目符号分别对应表格的各列)
        1. 测试 UART 引脚对 GND 的电阻(万用表转到电阻测量档,通常 200k)
        2. 测试 UART 引脚对 VCC 的电阻(万用表转到电阻测量档,通常 200kOhm)
        3. 给设备上电,测试 UART 引脚对 GND 的电压(万用表转到电压测量档,通常 20V)
        4. 给设备上电,在启动期间测试疑似 TX UART 引脚对 GND 的电压(万用表转到电压测量档,通常 20V);如果电压在振荡,那么该引脚很可能是 TX(因为它在发送数据)
        5. 给设备上电,在启动期间测试疑似 RX UART 引脚对 GND 的电压(万用表转到电压测量档,通常 20V);如果电压一直停在 0,那么该引脚很可能是 RX(因为它在等待接收数据)
        • 表格

          引脚GND 电阻VCC 电阻V备注
          1
          2
          3
          4
          • 示例

            引脚GND 电阻VCC 电阻V备注
            130kOhm0Ohm3.3VVCC
            24.7kOhm34kOhm3.3V1.6-3.3V 启动时 - TX
            3INFOhm (multimeter 1)INFOhm (multimeter 1)3.3V0V 启动时 - RX
            40Ohm30kOhm0VGND
    • 使用 Jtagulator
      1. 将它连接到电脑(波特率:115200)
      2. 重要:H 是打印帮助功能,请随处使用它
      3. 将板子的 GND 连接到 Jtagulator 的 GND,板子的引脚 1,2,3 连接到 Jtagulator 的通道 1,2,3
      4. V:设置工作电压
      5. U:进入 UART 识别菜单
      6. U:开始识别
      7. Text string to output:默认
      8. Starting channel:我们放置板子引脚 1 的通道
      9. Ending channel:我们放置板子引脚 3 的通道
      10. Ignore non-printable characters:是
      11. 完成!
    • TODO:- 使用 BurtleinaBoard + Busside
  6. 通过 UART 连接:使用串口适配器(UART -> USB)通过电脑连接到板子
    • 所选串口适配器:FT232H + Focaccia Board
    1. 选择合适的电压(3.3V 或 5V),否则板子或串口适配器会损坏
    2. 将板子的 RX 连接到适配器的 TX,板子的 TX 连接到适配器的 RX
      • 注意:通常不需要连接 VCC 引脚
    3. 将适配器连接到电脑
      1. 使用 sudo lsusb 定位适配器
      2. 使用 ls -lart /dev 定位所有设备文件;我们的设备应该是最后几个之一,通常是 ttyUSB0
      3. 要访问此设备,我们必须属于 dialout 组(或为 root),可用 groups $USER 检查我们的组
      4. 使用 screen /dev/ttyUSB0 $BAUDRATE 连接到 TTY
        • $BAUDRATE 可以是 这里 找到的其中一个
        • 最常见的 $BAUDRATE
          • 115200
          • 9600
          • 57600
          • 38400
          • 19200
        • 重要:如果我们搞砸了 $BAUDRATE,可能会看到乱码,甚至什么也没有
        • ctrl + a -> k -> y:关闭 screen
    • 如果 RX 引脚似乎不工作(你输入并按回车但什么也没发生),那可能是“回车”值不对:\r\n 还是 \n?
      • 要解决这个问题,请使用 pyserial,Python 的串行通信库,示例:
        #!/usr/bin/env python3
        
        import serial
        
        ser = serial.Serial('/dev/ttyUSB0', 115200, tmieout = 0.1)
        ser.write(b"HELLO\r\n")
        ser.write(b"HELLO\n")
        
      • 如果问题仍然存在,请使用逻辑分析仪(这里 有一个便宜的)
  7. 定位 JTAG 接口
    • 什么是 JTAG:JTAG 接口为制造商提供了一种测试芯片上引脚之间物理连接的方法。当电气工程师谈论使用 JTAG “调试”芯片时,他们所指的与传统软件调试截然不同。他们指的是确保芯片 A 上的引脚 A 物理连接到芯片 B 上的引脚 B,并且所有这些引脚都能正常工作。由于 JTAG 允许直接硬件访问设备,因此它也是安全研究的绝佳工具。
    • JTAG 特性
      • 可控性:将内部位设置为 0 或 1
      • 可观察性:检查内部位的值
      • ...因此可以读/写 EEPROM
      • 电路内调试:在电路上调试代码(例如使用 OpenOCD 和 GDB)
    • 在网上搜索
    • 在 PCB 上寻找 TCK、TDI、TDO、TMS 和 TRST(可选)
      • TCK(测试时钟):相当于鼓手或节拍器,决定控制器的速度。该引脚上的电压只是以有节奏、稳定的节拍上下脉冲。在时钟的每个“节拍”上,控制器都会执行一个动作。
      • TMS(测试模式选择):模式选择引脚上的电压控制 JTAG 执行什么操作。通过操纵该引脚上的电压,你告诉 JTAG 你希望它做什么。
      • TDI(测试数据输入):向芯片输入数据的引脚。JTAG 标准未定义通过该引脚通信的协议,这由制造商决定。就 JTAG 而言,该引脚只是让 1 和 0 进入芯片的入口。芯片如何处理这些数据与 JTAG 无关。
      • TDO(测试数据输出):用于输出芯片数据的引脚。与数据输入引脚一样,通信协议不由 JTAG 定义。
      • TRST(测试复位,可选):该信号用于将 JTAG 复位到已知的良好状态。
    • 在 PCB 上寻找一行 5/6 个引脚,或双排 10、12、14、20 个引脚
      1. 找到 GND 参考点
        • 使用之前找到的组件
        • 通常金属板处于 GND
      2. 找到 VCC 参考点
        • 使用之前找到的组件
        • 寻找电容,它们通常在 VCC 处有一个点
      3. 测试 JTAG 候选引脚,填写下表(下面的项目符号分别对应表格的各列)
        1. 测试 JTAG 引脚对 GND 的电阻(万用表转到电阻测量档,通常 200k)
        2. 测试 JTAG 引脚对 VCC 的电阻(万用表转到电阻测量档,通常 200kOhm)
        3. 给设备上电,测试 JTAG 引脚对 GND 的电压(万用表转到电压测量档,通常 20V)
        • 表格

          引脚GND 电阻VCC 电阻V备注
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          ...
          • 示例
下载工具