您使用哪些来源获取有关硬件产品的信息/情报?

逆向工程 硬件
2021-06-29 04:23:31

在对消费硬件产品进行逆向工程时,在设备本身之外获取尽可能多的信息通常会很有帮助,包括:

  • 服务手册
  • 安装/用户手册
  • 电路图/框图
  • 操作说明
  • 固件映像
  • 任何基于 PC 的实用程序
  • 内部照片

我发现以下来源很有用:

  • 制造商的站点,包括使用 google 站点搜索查找“隐藏”文档
  • 使用特定的谷歌搜索,例如限制为 PDF 文件和“工程师代码”
  • 使用谷歌搜索找到包含手册和其他文档的打开目录(“父目录”找到这些)
  • 使用FCC 数据库查找测试结果。
  • 查找任何相关专利

是否有其他有用的来源可以找到此类信息?

2个回答

并非适用于所有设备,但始终值得检查公司是否在设计中使用任何开源软件并查看提供的代码。即使大部分设备是专有的,开源代码也可能提供指向基本硬件功能或实现细节的有用指针。

一个例子可能是制造商定制了 u-boot 以与他们的板一起工作,并在源中包含闪存的内存映射。

在谷歌搜索方面,一些芯片制造商使用可以搜索到的非常可预测的文档编号格式,或者使用某些在其他地方非常不常见的短语,例如所有处理器数据表上的“专有和机密”。

最后,如果一家公司对其设备的技术细节特别吝啬,我会将搜索范围扩大到他们的业务合作伙伴。例如,一家处理器制造商在营销材料中发现 X 公司的产品中使用了他们的产品,即使没有直接来自 X 公司的文献提及他们使用的芯片或架构。

就我个人而言,我的经验几乎仅限于尝试对电子硬件进行逆向工程,因此我也将回答限制在该领域。我发现有用的是

  • 制造商并不是最有可能提供太多有用信息的,但阅读手册或查看他们的网站总是值得的。
  • 在网络上查看,尤其是在 Youtube 和ifixit.com等维修网站上查看有关如何以非破坏性方式打开设备的说明。这通常在收集有关设备的额外情报方面已经走了很长一段路。
  • 假设您有固件可升级的硬件(电视、路由器等),您应该查看firmware-mod-kit和 相关binwalk信息,看看您可以从固件映像中检索哪些信息。
  • 即使您没有固件,但您正在访问的设备具有某种网络连接,您也可以使用 DHCP 设置网关(对于这些情况,我更喜欢 Linux/Ubuntu)并检查 ARP 缓存(命令arp)会告诉您 MAC 地址(通常可以与印刷在包装上的地址或设备本身匹配),从而找到分发给它的 IPv4 地址。从那时起nmapnetcat,telnettcpdump/libpcap是您最好的朋友。如果它是无线的,您可以提供一个接入点来记录内容和嗅探流量等。
  • 如果您的设备插入 USB 等端口并且您有一个协议分析器(昂贵的东西),事情会变得更容易。但有时结果并不明确,或者您只有一台示波器来研究协议。当心设备本身可以访问计算机内存和其他资源的总线类型,例如 PCMCIA 和 Thunderbolt。如果设备是恶意的,它可能会监视您或做其他奇怪的事情。还是我太偏执了?毕竟你说的是消费硬件:)
    • 在这一点上,“简单的 USB 鼠标”也可以充当计算机的 USB 键盘,也许 USB 存储和键盘可以做一些奇特的事情,比如输入命令和执行存储中的内容。因此,除非您有专门的测试机,否则永远不要将找到的 USB 密钥插入您的设备之一。
  • 较旧的硬件通常带有 PCB 等的实际布局,但很少带有实际的物料清单。尽管如此,它还是为您提供了一些进一步的线索。较旧的电视机和那些来自信誉良好的制造商的电视机往往带有我来自哪里的非常详细的电子设备图表。
  • 一旦你设法打开它,在大多数情况下你需要的第一件事就是放大镜;)
    • 有了它,您就可以确定是否存在串行 UART 或JTAG(标记为 TDI、TDO、TCK、TMS、TRST 的触点很容易发现)或其他类型的“突破”可能性。如果您对硬件的了解不足以安全地使用边界扫描(电压等,您实际上可能会在看到结果之前炸掉您的硬件),那么 JTAG 就没有太大用处。
    • 芯片/处理器上的标签通常有很大帮助,然后在您当地的爱好者网站上查看是否对电子设备进行了修补。

这就是我的。我的两分钱。我确信在我自己的搜索中还有很多事情没有考虑过,所以我期待着其他的答案。


是的,使用搜索运算符可以工作,你的优势,比如inurlintitlefiletypesite在谷歌(如search terms intitle:index inurl:ftp)。不幸的是,搜索运营商似乎没有一个标准,尤其是元搜索引擎在这方面非常薄弱,谷歌的竞争对手也是如此,这令人难过。Google 上的搜索运营商还有一个警告。您可以在 webapps.SE 上的这个问题中阅读它