What steps may I take to make it more expensive to reverse engineer a firmware I want to use on a cheap microcontroller?

Options I see so far:

  1. Flood it with epoxy with quartz or metal dust to make physical access or x-ray harder
  2. keep device always-on, and store important part in energy-dependent memory. Ideally a key that decrypts firmware
  3. Use detection of disasembling process, and erase firmware if triggered. For example a light sensor inside the box or conductivity test or shake sensor.
  4. Use firmware obfuscation
  5. Use a particular MC that has an option to disallow firmware read. Is there something in stm32f0 family with this property?
  6. Add physical parts and firmware code that are not actually needed
  7. Erase the text from the microcontroller's body

What points would make your life harder? What other options can you think of?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.