Show newer

I hope I can port some older firmware to my SDD. Everything is coming together well but the firmware was part of a development kit. I have one shot to get this firmware correct and flash it correctly. No pressure, right?

Only a little bit more Reverse Engineering work left to go. I just need to find the exact instruction set and security checks that will be bypassed.

I found an old open source project that replaced the firmware on the previous generation of drives by another manufacturer. It's not going to work perfectly as is and will require porting.

I expect that it's not going to work perfectly or reliably at first. No idea when it will be done.

CortexM3 or M4 are likely the Core with it likely running a RTOS of some variety.
The nrf52832 used the M4 Core and a Broadcom wireless chip used the M4 or M3. That's enough of this rabbit hole for now.

Show thread

SWD, newer ARM JTAG or Both? 2 marked pins(on the other side) and 18 pads. ARM JTAG is 14 or 20 pin. A pin and a pad are connected by a trace so I would assume that it is both SWD and JTAG. This should help a lot.

A 2 Pin connector and 18 pads. Would that mean a standard SWD 2 pin on ARM v 5 and up or the 20 pin connector used by ARM? Would a manufacturer make the flash only writeable through the ARM based MCU that it would be read through? Let's see how complex this MCU can be for 14x14.
It has to handle read and writes to flash and interface to SATA III. I'm fairly confident that it is ARM based, 32bit and efficient or specialized. Single or Dual core, ARMv7 or related version? Stay tuned.

Show thread

I'm wondering about data recovery on SSDs now. In theory the data would still be present on the drive even if not detected. The Phison s11 has been known to fail and rename the drive, this was due to the older firmware. The effected drives can be REFLASHED which includes FORMATTING and they will work again. The latter firmware seems to fail safe into a read only mode.

I'm wondering if there's a way to put the controller into an Engineer mode or Recovery mode so that the entire drive can be imaged. It's not perfect but some advanced forensics tools should be able to recover and reconstruct files from this. I haven't found anything regarding recovery of data on the drives apart from sending them in for data recovery.

I took apart one of my S11 drives and found a 2 pin header and several pads on the bottom. Bed of Nails testing or recovery. I'll keep looking into the hardware side as well as the code.

Harddrive firmware upgrade utilities were very impressive to me. Having seen the SSD counterpart I'd have to say that it is far more impressive and to be expected. Hardware builders can't write good firmware and a good toolkit is needed to make a drive functional again.

The SSD utility has the same simple elegance as the HDD utility. The complexity, security, capability and languages used are astonishing in the SSD utility. I have yet to get to the actual firmware but this is beautiful. It seems that large portions were actually written in ASM. It's not as cool as the time I got to mess with missile guidance code. With how well this is written, I would recommend that anyone with an S11 based SSD (A large portion of the market) upgrade to the latest firmware with the official tools provided. I'll push forward but these people have just shown me that they can build good hardware and software.

aaaaalmost there..... you're thiiiiis fucking close to it.....

I've been analyzing and reverse engineering harddrive firmware recently. I haven't had enough samples yet for a good scope of research. The firmware update utilities for HDDs have usually been very well thought out and implemented. Updates for a SSD's firmware can be easy or not worth the trouble.

I haven't had time to document the work due to two SSDs that have been troublesome. The SSDs are the same brand with the same MCU. When they were new, they were tested and grouped in the Pre Fail category. From a cold boot the recorded temperature of the SSDs was 100C.

Hopefully I will have something better in the near future. Remember to make backups.

I managed to recover my workstation and my files. Control + Alt + F3 on GNU/LINUX to get out of the gui. Log in and use the package manager. I haven't had a problem that did not fix. It even brought back a LUKS volume when the update failed. It took a week but I still have a picture of that event.

Show thread

My workstation won't boot into the OS. I don't have the internet access to download everything again to recreate it. I guess I'm going to have to try to recover it once again.

I'm glad that I have more than one project going on right now. My main project was going shockingly well until I hit the part with no documentation or information. I will continue with this project but this is the point where a slow crawl is maximum speed. It's going to be a very difficult job.

Progress so far: Information discovered by probing, rough MCU specifications, Architecture, and some capabilities. Thankfully the next part is likely encrypted and signed.
A good point to say I had to stop? Yes it is!
I'm not going to stop.

I know what I will be working on and the side projects that will be included. This is going to involve a fair amount of development and documentation. This will assist me on a project that I stopped a while back too. I don't have any idea of when I will release the work(s), or what will be included, but it is in progress.

Show thread
Show older
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.