在对消费类硬件产品进行逆向工程时,通常可以在设备本身之外获得尽可能多的信息,包括:


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

我发现了以下来源有用的:


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

是否还有其他有用的资源来查找此类信息?

评论

这可能有点含糊。我以为我会尝试一下,看看社区的想法。

您可以将问题和答案分为两个部分。完全可以回答您自己的问题。如果您不相信我,请参阅常见问题解答:)

@ 0xC0000022L可能适用于纯软件,但硬件提出了独特的挑战。

@Cyber​​gibbons:改写我的问题:这仅与电子硬件有关吗?汽车是“消费硬件产品”,自行车或微波炉也是。

不,可以是任何硬件。我给出的示例仅扩展到机电硬件,没有任何电子设备就什么也没有。锁或保险箱将是没有电子设备的例子。

#1 楼

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

例如,某制造商定制了u-boot以使其板卡正常工作,并且在源代码中包含闪存的内存映射。

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

最后,如果一家公司对他们的设备的技术细节特别谨慎,我将搜索范围扩大到他们的商业伙伴。例如,即使没有X公司直接提供的文献也没有提及他们使用的是哪种芯片或架构,一家处理器制造商却确定其产品已用于X公司的营销材料中。

评论


我喜欢这个答案。在开源方面,我发现有些公司是偷偷摸摸的。 HID Global使用开源软件,但在邮寄CD上提供该软件要收费100美元以上。我不确定这样做是否合法。

– Cyber​​gibbons
2013年4月9日14:55

@Cyber​​gibbons:向FSF或SFLC寻求帮助。不过,还取决于许可证。我已经尝试了一年多的时间,让Zyxel为路由器的固件提供GPL源。直到上个月,我终于得到了回应。

– 0xC0000022L♦
13年4月9日在17:07



#2 楼

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


制造商并不是最有可能提供太多有用信息的人,但是始终值得阅读手册或查看其网站。
在网络上(尤其是在YouTube上)和维修网站(例如ifixit.com)上进行检查,以获取有关如何无损打开设备的说明。通常,在收集有关设备的其他信息方面已经走了很长一段路。
假设您具有可固件升级的硬件(电视,路由器等),则应查看firmware-mod-kit和相关的binwalk来查看哪些信息。可以从固件映像中检索。
即使您没有固件,但是所访问的设备具有某种网络连接性,也可以使用DHCP设置网关(我更喜欢使用Linux / Ubuntu情况)并检查ARP缓存(命令arp),该缓存将告诉您MAC地址(通常可以与包装上印刷的地址或设备本身相匹配),从而找到分发给它的IPv4地址。从那里开始nmapnetcattelnettcpdump / libpcap是您最好的朋友。如果是无线的,则可以提供一个可以记录东西并嗅探流量等的访问点。
如果您的设备插入USB等端口,并且您拥有协议分析仪(价格昂贵的东西),事情将会变得更加容易。但是有时结果不清楚,或者您只不过是一个示波器来研究协议而已。当心总线类型,例如PCMCIA和Thunderbolt,设备本身可以访问计算机的内存和其他资源。如果设备是恶意的,它可能会监视您或做其他奇怪的事情。还是我太偏执?毕竟,您说的是消费类硬件:)


在该注释上,“简单的USB鼠标”还可以充当计算机的USB键盘,也许还可以作为USB存储设备,而该键盘可以完成诸如输入命令并从存储设备中执行内容之类的精美事情。因此,除非要使用专用的测试机,否则切勿将找到的USB密钥插入其中一台设备中。很少有实际的物料清单。尽管如此,它仍然为您提供了一些线索。较旧的电视机和知名制造商的电视机通常带有非常详细的电子设备图,我是从哪里来的。
一旦您打开它,在大多数情况下,首先需要用放大镜;)


您可以找出是否存在串行UART或JTAG(标有TDI,TDO,TCK,TMS,TRST的触点很容易找到)或其他类型的“中断”可能性。如果您对硬件没有足够的知识来安全地使用边界扫描(电压等,实际上可以先油炸硬件,然后再查看结果),那么JTAG不太有用。
通常在芯片/处理器上贴上标签帮助很大,然后在您当地的业余爱好者网站上检查是否可以修补电子设备。



这就是我的意思。我的两分钱。我确定自己的搜索中没有考虑很多事情,因此我期待其他答案。


是的,使用搜索运算符可以发挥您的优势,例如在Google上使用inurlintitlefiletypesite(例如search terms intitle:index inurl:ftp)。不幸的是,似乎没有针对搜索运营商的标准,特别是元搜索引擎在这方面非常薄弱,但对于谷歌的竞争对手而言,这是可悲的。在Google上,搜索运营商也有一个警告。您可以在webapps.SE上的此问题中阅读有关它的信息。