三星850Pro固态硬盘数据恢复 破解SSD固件加密
三星850Pro固件门导致很多用户的数据丢失,有些选择了质保数据不要了,解密三星850Pro固件,进行固件刷写恢复重要的数据,不过在本文之前用当时的办法要救回数据,需要有一个初始固件的容量一样的850 Pro(据了解2月份买的850 Pro都已经是新固件了),这个对大多数用户来说都不太现实。因为三星在固件升级程序里进行了型号和固件判定,因此要如何跳过这些判定呢?我研究了大约2周时间,期间还问一个朋友借了块刷挂掉的850Pro进行了一些尝试,现在终于改造出了完美修复的办法,并且做成了ISO刷新镜像包,放在本文最后。
既然三星官方对自己出现的失误完全避而不谈,也不提供任何恢复数据的支持,只提供RMA换良品服务,我们只能以玩家自己的头脑和动手能力去修复,在这里顺便鄙视下高昂的旗舰价格和垃圾一样的10年保修服务。
下面我会介绍下我是如何去分析故障原因并改造这个刷新镜像的,同时会透露下研究时发现的一些细节,这就是玩家的态度。
三星在2月18日放出了850Pro的最新固件EXM02B6Q,在三星官方工具箱软件Samsung Magician里进行了固件推送,像往常一样很多用户点击进行了固件更新,不过更新后的用户发现自己的SSD型号变成了乱码,容量出现异常,数据全部丢失等现象。其中有一批用户自发的在facebook上建立群组,目前群员已经增加到285人,对此事件很多用户得到的答复是只能RMA回三星,并且换回的是良品SSD。群里带头用户给三星官方发送了正式信件,三星官方则只回了一封空白邮件并不再回复,此事已过去接近一周,大家都感觉很愤慨,为什么自己花那么多钱买回才几周的号称10年保修的旗舰SSD,因为官方的程序问题导致变砖后,官方只提供换良品,而且装聋作哑并的把这些评论从官方facebook上撤走。
我仔细观察了那些用户的故障截图和文字说明后发现,其实有些用户还是可以访问SSD的,SSD只是变成了乱码型号,但是数据和分区都不见了,有用户甚至用数据恢复软件能恢复出文件,那么换句话说SSD内部的映射表和用户数据是有效的,故障应该出在了型号定义上。为此我当时做出了如下结论:
从这几天网上反映的情况来看,感觉出问题的大多是在三星工具箱里更新导致,三星目前是禁用了工具箱固件推送,网页隐藏了下载链接(其实链接依然有效)。
初步怀疑是因为各人系统软件环境导致固件升级时候只写了固件的一部分(bootloader、fw、identify、元数据一般都是分开存放,可能是更新时有些东西没有同步好造成的),用户机器重启后激活了新版FW但是不完整导致出错,从有用户通过欺骗刷新程序热插拔强上固件恢复型号和数据或者接USB硬盘盒用恢复软件恢复数据的情况看,我个人偏向于identify区同步出错导致了这次的固件门,而元凶非常可能是三星工具箱软件,估计是工具箱凌乱了,放了不匹配的identify进去。容量,版本号,Model name等信息都在identify里面的,有些内容还是动态内容,如果与盘不匹配的话,是可以造成数据操作异常,或者是兼容性问题,从而无法认盘。
因此如果有用户数据非常重要的用户,建议接USB硬盘盒后用数据恢复软件扫描出需要的数据保存,如果手边有另一块没升级过的850Pro(同容量),也可以通过欺骗DOS下的刷新程序,在更新前的确认键Y没按下去前,热插拔接上挂掉的那块850Pro,重刷固件即可恢复。
可以说当时只有挽救部分数据的方法,却没有完美恢复SSD的办法,因为三星官方的加密。
在数据通过这些特殊方法能恢复多少就恢复多少后(大于512GB的容量型号会只识别出256GB的容量,没法恢复出所有数据),你愿意返厂换个所谓的良品么?我有个在阿德莱德的朋友也是受害人,他说不愿意! 我说那你把SSD发给我,我死马当活马医帮你看看,希望能够帮你恢复出所有的数据或者救回来。等了3天,我收到了他邮寄过来的SSD后,就抽着下班后为数不多的个人时间仔细的分析三星所谓的加密代码,因为我心里知道只要绕过了验证,就能平刷新固件恢复SSD。(此事对三星来说其实易如反掌,但是对于我们用户来说却是事倍功半。)
我首先下载了三星的ISO更新文件Samsung_SSD_850_PRO_EXM02B6Q_Win_Mac.iso。分解到最后可以看到如图这样:
DSRD.ENC为型号判定文件,已加密。
DSRD1_0.EXE为刷新程序本身。
FW目录下的EXM02B6Q.ENC为固件文件,已加密。
也就是首先需要做的就是解密DSRD.ENC这个文件看看里面究竟是什么。
耗时3天,终于见到庐山真面目。
原来是个XML的文件,三星只是加了扰码,所以ENC文件看上去都是乱码。
能解密自然就能加密回去呗,这不担心了。但是如果三星850Pro刷挂的盘型号是乱码还会变化,这里没法加进去,而且就算加进去的话刷完还是乱码有什么意义么?
想到这一层心里一下子就没了方向,又休息了2天忽然脑子有了股新的想法。看到SN那里填着ALL,何不把MOD也填ALL试试?这样的话型号是乱码也无所谓了不是么?再把CURFW那里也填ALL,这样固件是乱码也没事了呗。
想到这一层立马改完加密回去,刷新时碰到了这个情况...我又一次失败了...
提示当前固件已刷新...不刷直接跳出了。
又折腾了我3天后,一次偶然的机会我又想到了,是不是我把NEWFW故意改成EXM03B6Q,就能让刷新程序认为是新固件而刷新?我再把刷新文件换成标准的EXM02B6Q就是了。有了这个想法,我再次动手。
Yeah!!!,终于能刷了。提示刷新失败没事,mismatch肯定了,刷完后SSD型号和固件型号都恢复了能match么?重启后果然数据和型号都恢复了,再次证明了我之前的观点,映射表和数据都在,只是identify错乱。
注:由于型号和固件判定已破解,如果机器里有别的型号SSD或者HDD,请刷新前仔细确认不要刷错型号,最好只留故障的SSD在机器里进行刷新。
至此折腾完美结束,这块SSD也不需要返厂换所谓的良品了,在此我只想对三星说:"呸"。
850Pro固件门中招的用户,完美恢复ISO在此。
这次折腾后让我脑洞小开,例如是否能把OEM型号刷成零售型号呢?反正从上面的改造来看,最终SSD的型号应该还是以固件本身来判定的吧,当然目前还不确认,我手里也没OEM的三星SSD。
还有一些小发现,比如三星的型号混乱,很多时候真的很难分出OEM的型号是TLC还是MLC的SSD呢,这里就教一下吧。
三星固件的版本,首字母代表主控类型,比如470用的MAX主控,那么就是A,830用的MCX主控,那么就是C,840位MDX就是D,840Evo为MEX就是E这样。
第三个字母是M的话代表是MLC,如果是T则代表是TLC。
还有一些东西以后再透露了,本帖主要以修复固件为主。
此贴请多多转发,希望能够拯救更多850Pro用户的数据,趁着他们还没RMA前。
这就是返修回来的三星良品盘。(刚出多久的旗舰哪里来那么多的返修,不过就是把某个固件门返修的用户盘做个重量产换给另个用户罢了,如意算盘太好了,这样基本没什么损失。)
对于此事件,国内很多网站就是下面这样。
三星有钱好了不起!老用户算什么,发“违规贴”就封。 支持。三星的售后太差劲了。 数据恢复师的技术 很高啊 很崇拜。我的三星850pro挂了,现象是,前一次正常关机,过1天开机,就识别不了硬盘了,bios里也找不到。里面的数据非常重要,找了几家公司都弄不来,没有开盘,望您能帮帮我,定重谢!我的微信13818869082 厉害了 打发打发打发 willeach 发表于 2017-6-15 14:03
很崇拜。我的三星850pro挂了,现象是,前一次正常关机,过1天开机,就识别不了硬盘了,bios里也找不到。里 ...
给我一样,26号电脑开机后,win10直接蓝屏,强制重启后直接找不到硬盘,各种办法试了没用,后来朋友拿走去送修了,现在都不知道恢复过来了吗、过保一个月就出现问题了三星我是醉了 三星的售后太差劲了。 Thanks for sharing thanks for有人杀人刀 谢谢!楼主!