Any physical device analyzed for reverse engineering purpose. This tag is used to denote that the question is about hardware reverse engineering and not (only) about software reverse engineering.

Hardware reverse engineering differ drastically from software reverse engineering in terms of techniques and way of thinking and, last but not least, in term of budget.

Hardware reverse engineering often requires to break devices in order to understand their internal processes. And, on the contrary to software, breaking hardware devices is costly (and cannot be easily reverted) and required to get a lot of the analyzed device.

Most of the time, reversing a hardware device come together with trying to collect a lot of devices (possibly partially broken) from local reseller that collect broken devices or buy it from other individuals (mostly on Internet websites).

Another difference with software reverse engineering is that you will need to build specific devices to ease the communication with the device. A typical example is to connect a JTAG to the device to get a full memory access (and more) on it. This task is quite easy if the JTAG controller is still present on the device but quite tedious if you have to do it yourself.

Finally, hardware reverse engineering really differ in terms of knowledge and skills. Real competences in electronics (both in theory and practice), VHDL and how to set-up an FPGA, and so on, are needed to get through.

history | excerpt history