Extract MCU IC Firmware

Extract MCU IC Firmware from encrypted or un-encrypted microcontrollers can be classified into several different conditions, as we all know the source code after being read before extract from embedded MCU IC will show FF…, FF00FF00…, 0000…, 00010203…, 001010202… or 000001010202; maybe some lines ahead of the binary data is correct, such as PIC6C54C. and if you can’t read the heximal file before extraction, hereby we would like to introduce to you all of these conditions you might encounter when extract the firmware from MCU IC:


  1. The MCU IC is totally in the status of un-encryption and after you extract the flash and Program you can check out if the configuration bits have been encrypted or not;
  2. Semi-Encryption means the firmware inside the MCU IC being encrypted for only 50% of the content and you can read this part without questions but need to extract the remaining parts, general speaking this method will bring more difficulty to extract MCU IC than first condition;
  3. MCU IC has been spoiled and now whatever the MCU IC has been encrypted or not, you need to check the verification code after extract the binary or HEX and if you found the verification code is varied each time, that means the MCU IC has been spoiled;
  4. MCU IC firmware has been encrypted and definitely need to extract but it can still read the firmware directly from MCU IC, and among them are those abnormal codes like ED0100, part of them is FF or 00, such as PIC16F873A;


Above all, according to our experience plus the conditions we mentioned above we believe there is one standard to judge if the MCU IC extraction needs to operate depends on only one rule: read the firmware and configuration bits from MCU IC directly before extract MCU IC and then program it correctly into the MCU IC, put it back to your system without any problems, debugging and if it works, means the MCU IC is without encryption, if not means the MCU IC need to extract firmware.

Tags: ,,,,,,,,,