I've always been super interested in reverse engineering from a young age when I first started changing application flows by breaking them down in NASM and MASM.
Since then I have always looked into variations of the technique delving into specific components and architectural pieces.
The PCB as an embedded device gives a similar field of exploration.
I'd highly recommend people do similar things, it really teaches you a heck of a lot as a software engineer.
This article is from 2017, but it seems the authors are not very familiar with how the industry already does it --- automatic probing machines can recover the netlist without needing to inspect the layers directly.
In fact, what they did, which is just image recognition, is probably one of the least time-consuming steps. Of course, it doesn't work for parts that have the markings removed either.
Yeah, and for PCB's which are worthy of reverse engineering, there is still A LOT of work to do beyond getting the netlist and components. On the other hand circuit designs, in most cases, closely follow datasheet recommendations or reference designs around the core components, so there's a lot of angles that can solve this problem.
The paper, however, seems to be motivated for goals like penetration testing and MITM attacks on hardware _without_ destroying it-- like what "Agent Q" might do in a James Bond film (after Bond is able to pocket the circuit board and deliver it to the lab in an ESD safe pouch).
The far more common and boring scenario would be reverse engineering for the purpose of knock-off products. Not very sexy. Also, do-able in many cases by just noting a few key components, extracting eeprom/flash content and then consulting datasheets.
In China, if you have a small-size, random circuit board from a electronic product, you can get the PCB layout and full semantic reverse engineered for reproduction by some firms in Shenzhen as low as 150 USD. I think the smaller firms are completely powered by underpaid human engineers...
Since then I have always looked into variations of the technique delving into specific components and architectural pieces.
The PCB as an embedded device gives a similar field of exploration.
I'd highly recommend people do similar things, it really teaches you a heck of a lot as a software engineer.