A little bit of everything

View Original

Ask me a question


Hi,

Unfortunately, the manipulation of hard drive firmware is, most of the time, done by sending proprietary ATA commands to the drive. Those commands are never documented by the manufacturer and may change, for a given manufacturer, from a drive model to another. This can explain why such off-the-shelf tool does not exist.

In order to extract such firmware, either you are lucky and the manufacturer left the access to the JTAG port of their ASIC open or you will have to reverse engineer one of the firmware upgrade tool they may provide on their website. This can require a substantial amount of work and you will only obtain the firmware writing commands with such method. Turning that into a reading primitive may be harder than it seems and can brick your SSD in the process. Of course if you only care about extracting one firmware (i.e. not necessarily the exact one currently being run by your disk), you may be successful extracting it directly from such firmware upgrade tool. I have never done that so I cannot tell you whether or not the firmware is secured by some cryptographic primitives (e.g. if the firmware itself is sent encrypted to the drive and the disk knows how to decrypt it to finish the upgrade procedure, you may be stuck).

Also, pay attention to the laws and regulation of the country where you are currently living in: reverse engineering may be illegal or may be permitted only for a specific set of reasons.