是否可以通过软件永久损坏硬件?

时间:2012-02-15 00:47:53

标签: assembly hardware

我刚读过这个问题:Could this code damage my processor?这让我想到了。

是否可以通过软件损坏硬件?我听说“在过去的好时光”(TM),当硬盘驱动器由软件控制时,它们可能会撞到中心主轴,这会永久损坏驱动器。

还有臭名昭着的Chernobyl virus刚刚杀死BIOS并使机器无用,直到有人重新刷新它。

还有微码更新,可以闪存到CPU(我对它们了解不多)。

但今天这还有可能吗?你能用软件破坏硬件吗?执行hcf(暂停和捕捉火)指令?通过增加WLAN输出功率烧烤猫?

4 个答案:

答案 0 :(得分:12)

是的,你肯定可以。有时在实践中它比你想象的更难,有时候很容易。

比如说你有一个gpio引脚,用作输入并绑定到Vcc。使它成为一个输出并将其驱动为低电流,你通常可以吸收更多的电源,这样你可以吸收很多但是如果这是一个电压轨并且它们没有放置一些限制电阻,例如一个上电带选项,烟会出来。

即使在PC的i2c在某些地方有点吵,同样的交易你有一个错误,无意或有意,做足够的i2c让目标认为它轮到驱动数据线,但你以相反的方向驱动数据线。你可以沉沦而不是消息来源,无论谁采购都可能会减少他们的产出。

我想我听说其中一个(流行的系列)图形处理器并不能以这种时钟速率处理持续的操作。想想一下每分钟可以发射X子弹的机枪,很少有人可以持续很长时间而不会使枪管熔化。这就是他们在这里做了什么,如果你对gpus做了太多的话,你将融化芯片,而无需散热器能够做任何事情,无论你附加多少冷却到外壳。这可能是一个神话,谁知道......这样的事情发生了。通常,您将温度传感器放入芯片中,导致电源系统外部的某些东西重置芯片/电路板或将其关闭。这就是为什么当你尝试在没有CPU上的散热器的情况下启动它时你的电脑会发出惊恐的哔哔声。您可以自己尝试一下,将散热器风扇留在里面以保持转速,但不要让它碰到CPU。你可能会破坏cpu或主板,所以请自行承担风险。

一般来说,你可能在芯片内部遇到的问题,你可以做一些事情,芯片会从内部失败。我们通常不会手抄整个事情,有些工具可以做很多工作或检查工作来防止这些事情,当然不是傻瓜证明,但不太可能。虽然板设计,仍然非常手工制作,软件驱动程序通常不会尝试做坏事,如驱动gpio线对源和类似的东西。像往常一样将软盘或硬盘驱动器的头部碰到外壳的内部并不是那么容易,但是如果你可以搞砸一些设置并在盘片中挖出一个树丛,它就不会让我感到惊讶或类似的东西。很多人很难在火上看到显示器。

正如其他海报所提到的,推动和强调组件,过度计算,类似的事情。对于有软件控制冷却风扇的计算机,您可以进入并关闭自动控制系统(如果有的话)并将风扇设置为固定速度,比如......关闭...将它们全部关闭然后看看是什么发生。某些品牌的笔记本电脑存在升级BIOS的问题,并且它会降低CPU风扇的速度,从而导致硬盘故障和/或系统中的其他故障。更改BIOS设置或安装正确的BIOS并更换损坏的硬件(如果可能/实用)而不是死亡。

有一段时间,Linux在笔记本电脑上或类似的东西上过度停放硬盘驱动器磁头,导致磁盘过早出现故障。

Apple以硬件故障而闻名,这是一长串的集体诉讼。一些由软件驱动。并非其他品牌不时不会有不好的东西,但其他品牌通常不会在一个包装中控制硬件和软件,这使得分离一家公司变得更加困难,或者更糟糕的是一家公司应该知道要比破坏自己的东西更好。苹果经常喜欢在新闻中获取自己的名字,免费或廉价广告。

已经证明,或者至少我读过,你可以感染mac电池,电池在笔记本电脑中是智能的,带有病毒,这样在干净擦拭并重新安装操作系统之后电池将会用病毒重新感染系统。 (只是时间问题在任何平台上都不会发生这种情况)我想知道你还可以对现代笔记本电池固件做些什么,很容易就能抓住现代电池技术,也许你可以用软件做到这一点

您可以通过软件控制台式计算机中的光盘托盘,您可以打开和关闭它直到它失败(我看到它被固定在那里使用cdrom托盘以这种方式摇动婴儿摇篮)。

使用无风扇手持设备,智能手机,平板电脑。我敢打赌,你可以打破温度限制,压力成分产生热量,可能导致电池耗尽。

吹气扬声器很简单,只需这样做。

很多东西使用ftdi芯片将usb接口到几乎任何东西。其中一些可以将引脚从通常的任何功能,一个串行端口,软件位控制更改,它是我从顶部开始,采取应该是一个输入,使其成为输出然后开车直到某些东西融化为止。

答案 1 :(得分:11)

作为一个喜欢构建和超频计算机的人,我可以列举一些(非常极端的) 可能发生 的情况。 (我强调 可能 ,因为这种情况在今天的大多数机器中都有点不切实际。)

第一个例子是 BIOS flash 。某些主板允许您通过OS内的软件刷新(修改)BIOS。这为恶意软件打开后门,将BIOS刷新到会损坏处理器的状态。 (例如,将电压增加到2V - 和BOOM !!!)

在第二种情况下,某些主板提供超频工具,允许您在操作系统中更改CPU设置。如果病毒接管了 - 那么就像在第一个例子中那样,将CPU设置为有害的设置并将其煎炸。

在第三个例子中(可能是最现实的例子)是压力测试和密集型应用程序。例如,今天的大多数笔记本电脑都没有设计为在很长的时间内运行数字代码并且可能会过热。虽然硬件温度传感器通常会关闭一个过热到某一点的机器,但阈值往往非常高 - 在低于安全关闭阈值的温度下维持CPU是不安全的。

一些可能导致CPU过热的代码示例是我对这个微优化问题的回答:How do I achieve the theoretical maximum of 4 FLOPs per cycle?

答案 2 :(得分:5)

根据您对“损害”的定义,最终确定:

  • CPU - 使你的CPU使用率达到100%(或者更好 - 读取温度和CPU的最高温度,然后尝试平衡,)这将最终缩短它的使用寿命
  • USB驱动器 - 您可以在USB驱动器上写入数亿次,这将使其无法使用(请参阅:http://www.bress.net/blog/archives/114-How-Long-Does-a-Flash-Drive-Last.html
  • 硬盘驱动器 - 如果可能的话,通过读取驱动器几何结构并发出最糟糕的命令(即寻找与当前位置相距最远的位置),疯狂地进行搜索,写入和读取,这肯定会使它非常热很快又缩短了它的寿命
  • 监视器 - 让它进入睡眠状态并进入睡眠阶段并将分辨率更改为数十万次
  • GPU - 运行10场Battle Field 3然后煮鸡蛋
  • USB设备 - 以2秒的间隔打开和关闭电源(例如打开外部USB HDD)
  • 演讲者 - 音量达到100%然后享受一些thisthisthis(或您最喜欢的)几周:)

显然:

  • 这些是极端的
  • 这取决于组件的质量
  • 您可能会注意到这些操作中的任何一个,因此只有当您故意破坏硬件或在互联网可访问的Web服务器遭到黑客攻击时度假时,它们才可行
  • 不太可能 - 虽然这些可能会损坏大部分硬件,但要使其无法使用,您需要花费大量时间

答案 3 :(得分:2)

固件又名。微码是软件。我相信你可以通过编写糟糕的固件来销毁硬件。然而,如今大多数固件很难被意外甚至恶意修改,因为它们通常需要重新启动并重新闪存ROM。