Extracting firmware from embedded devices [pdf]
github.com
github.com
On top of that you get a lot more analog thingies including voltmeters, voltage supplies, and waveform generators.
And APIs! Python and LabVIEW...
https://store.digilentinc.com/analog-discovery-2-100msps-usb...
Cannot confirm this however, I am still on 1903 though.
Alternative solution: download and open it locally
Then you can just extract what you need with binwalk or your preferred tool.
But the required steps would be to identify how it loads the bitstream by looking at the pins which control this. Quite often this is from an external SPI device. That can simply be read out with e.g. "bus pirate" device. Otherwise, a suitable JTAG may give you access.
This catches so many new people. Bitstreams are not firmware. They are configuration.
* Chip manufacturer (Xilinx? Altera? Other?) - typically a logo on the chip.
* Chip part number (typically the first row of letters and numbers on the chip - typically the second row is the date of manufacture in the form YYww where ww is the week of manufacture - all numbers are useful)
Is there a 10 pin or 14 pin header near the chip? If so, check for power and ground on the appropriate pins for a standard JTAG pinout. https://www.google.com/search?q=jtag+connector+pinout
If the card has a clearly identifiable JTAG connector and is a common FPGA, you should be able to look up the chip part number on the manufacturer's web site and find the software tools that support that chip. You will need to figure out which JTAG interface the tool set supports - if it is a newer toolset, it probably supports a relatively inexpensive USB-attached JTAG. If it is an older toolset, it may need a specific, often expensive and likely no longer available JTAG interface.
I honestly need to stop buying old hardware before checking if someone uploaded a manual online :p
Even if you don't have the scan configuration file of a particular chip for your tool, they are very standard and easy to figure out. No desoldering required!
There were also what looked like a few different UARTs but only the one had any data coming off it. Eventually I got a little to liberal poking around with a multimeter and shorted something, killing the device.
I'm just really bad with this stuff in general I guess lol. This was just a cheapo cable modem, so if I ever want to pick up again I just have to order a new one of the same model and try to remember the tools. I do have other devices I need to investigate however, that would be expensive or near impossible to replace if I killed them. I'm mildly worried about doing much with those for the time being.
It's such an advanced piece of equipment, and I'm unable to find most of the components listed on it, plus the major processors are under epoxy blobs. I feel totally overwhelmed just looking at it and not knowing where to start.
I wish I could have an expert examine the device with me in real life and help me walk through it a bit; using random bits of online resources still leaves me feeling lost. I would love to have a resource that teaches elements of hardware hacking step-by-step by reverse engineering cheap electronics I can get my actual hands on, starting with simple and moving on to complex items.
Some smaller MCU have alternative pin functions for the SPI/JTAG pins.
For those that do know to do it it’s different. Before you blow the fuses you need to to be damn sure of your bootloader and that you will never want to debug something in the field.
A lot of companies don’t give you the time before putting it into production. Then once it’s in production you work on the next product instead of hardening the last one.
[0] https://www.wired.com/2016/03/way-go-fcc-now-manufacturers-l...
1) Flash layout https://openwrt.org/docs/techref/flash.layout
2) Bootloader https://www.denx.de/wiki/U-Boot