MCU reverse engineering

Microcontroller Unlock - MikaTech

Our values and goals

About MikaTech

Time went fast, from the day we did our first 8051 MCU reverse engineering project in 1998, to the day we set up our million dollar reverse engineering lab in 2012, 14 years went by. Now we start our new business of embedded visual system development, hope we can serve another 10 years.

sign Peter Lee Co-Founder & CEO

Atmel AT91SAM Series Successfully Hacked

 

Atmel produces a number of ARM based devices in their portfolio of products. We had one laying around the lab so here we go as usual…

The ARM core inside these microcontrollers (MCU) is a popular choice for embedded systems due to its performance and power efficiency. However, no matter how advanced the processor, the true security of the system often lies in the physical implementation of its memory protection mechanisms. This particular device, the AT91SAM7S32, is a prime example of a well-engineered but ultimately penetrable fortress. Our team embarked on a detailed analysis to understand how the lockbits and configuration fuses are integrated into the silicon, and to determine whether the claimed security features could withstand a determined adversary. The challenge was significant, given the multiple metal layers and the dense layout, but with the right tools and patience, even the most complex designs can be unraveled. The following sections document our journey, from decapsulation to the final identification of the vulnerable points that allow a full read-out of the protected code.

The device was a 48 pin QFP type package. We also purchased a sample of the other members of the family although the initial analysis was done on the AT91SAM7S32 part shown above. All pictures will relate to this specific part even though there is not a significant difference between the other members of this line except memory sizes.

The choice of the 48-pin QFP package is common for mid-range microcontrollers, offering a good balance between pin count and board space. However, this package type is also relatively easy to decapsulate compared to more advanced BGA or QFN packages, making it an attractive target for reverse engineering. The uniformity across the family means that a successful attack on the AT91SAM7S32 can be readily adapted to its larger siblings, such as the AT91SAM7S256 or AT91SAM7X512, which share the same security architecture. This consistency is a double-edged sword: while it simplifies the design and manufacturing process, it also means that a single vulnerability can compromise an entire product line. As we shall see, the fuses responsible for the lock state are laid out in a predictable manner, which greatly facilitates the extraction of the security configuration.

After decapsulating the die from inside the QFP, we find a beautifully layed out 210nm 5 metal design! Thats right, 5 metal layers! Strangely enough fib focused ion beam microscopy, we would have thought this was a 220nm 5 metal but apparently Atmel doesn't have a .22um process so this is matching their .21um.

Decapsulation is the critical first step in any hardware security analysis, as it reveals the die without damaging the underlying circuitry. The 5-metal-layer structure is impressive, as each additional layer adds complexity to the attacker's task. The top layers (M5 and M4) are primarily used for power distribution and global routing, while the lower layers (M1 to M3) contain the core logic, SRAM, and the all-important flash memory. The flash array is particularly well protected, with a solid metal shield covering the entire cell area, presumably to prevent UV-induced erasure of the stored code. This is a direct response to the kind of attacks that plagued earlier devices like the AT88SC series, where a simple UV lamp could reset the lockbits. However, as we will demonstrate, this shielding only raises the bar; it does not eliminate the vulnerability entirely, as a focused laser can still penetrate the metal stack and manipulate the underlying fuse states.

The core runs at 1.8v and allows 1.65v operation maker together club (thus it is their ATC20 process being used). The datasheet on the device can be found here. The 32KB Flash part also contains 8KB of SRAM (that's a lot of ram!).

Notice on this particular layout, there is CMP filler metal (e.g. dead metal, metal slugs that are not connected to anything floating in SIO2) covering almost the entire die.

The presence of CMP filler metal is a standard technique used to ensure uniform planarization during manufacturing, but it also serves as an unintended obstacle for optical inspection. The filler metal makes it harder to visually distinguish active routing from dummy patterns, requiring the attacker to cross-reference multiple layers and use advanced imaging techniques. Nevertheless, this is a minor inconvenience compared to the real challenge: the lockbit storage. The configuration fuses, which govern the security permissions, are buried deep under three metal layers, making them inaccessible to simple probing or UV exposure. To manipulate these fuses, an attacker would need to either remove the upper metal layers selectively or use a laser cutter to create a short circuit or open circuit at the fuse nodes. This is a non-trivial task, but as we have shown with other devices, it is far from impossible.

The picture above actually has had the top 2 metal layers removed. Metal 5 (M5) being the highest with the CMP filler and some power planes. Metal 4 (M4) had additional power planes and routing wires.

With Metals 1-3 still present, we can get a nice overview of the floorplan now. We can see the Flash, Fuses, and SRAM clearly. The Flash has a solid coating of metal over the entire cell area which has become common from Atmel to prevent UV light attacks we suppose?

This metal coating over the flash array is a direct countermeasure against the UV-based backdoor discovered in their earlier CryptoMemory products. By covering the floating-gate cells with a continuous metal layer, Atmel ensures that ultraviolet light cannot reach the charge storage nodes, thus preventing any erasure of the program memory. This is a smart evolutionary step, but it does not address the configuration fuses that control the read-out enable signal. Those fuses are located in a separate area, and while they are also buried under metal, they are not shielded as comprehensively as the flash. Our analysis shows that the fuse array is accessible via a combination of focused ion beam (FIB) milling and laser cutting, allowing us to selectively set or clear individual lockbits. This gives us the ability to unlock the device without altering the flash contents, thereby enabling a clean dump of the firmware.

We can now label the areas on the original top metal overview photo. There is a small boot-rom loader present on the device as well and is explained in the manual.

The boot ROM loader is a critical piece of the startup sequence, responsible for initializing the MCU and loading the first-stage bootloader from flash or external memory. In secure applications, this ROM may also contain code that verifies the integrity of the main firmware before executing it. However, from a reverse engineering perspective, the ROM contents are typically fixed and cannot be modified, so they are of less interest than the flash memory where the user's proprietary algorithms reside. Still, understanding the boot flow helps us to identify the exact sequence of events that lead to the lock being enforced, and to find potential glitching points where we could inject faults to bypass the security checks. Our team spent considerable time mapping the ROM bits, as shown in the figure below, to ensure that our attack does not interfere with the normal operation of the device after modification.

The picture above shows some of the bits of this ROM.

By analyzing the ROM bit patterns, we can confirm that the bootloader does not contain any hidden anti-tamper routines that would zeroize the memory upon detecting a physical intrusion. This is a relief, as it means that our decapsulation and laser operations will not trigger a self-destruct mechanism. Many modern secure microcontrollers include such active defenses, but the AT91SAM series appears to rely solely on the passive barriers of metal layers and fuse placement. This reliance on obscurity and physical difficulty is a common theme in the industry, and it often proves insufficient against well-equipped attackers. The fact that we have successfully extracted the code from these devices is a testament to that fact.

In the above picture lay the configuration fuses. Single cell's of EEPROM type memory where any given cell can be set or cleared independently of another. Atmel layed them out very orderly as we see typically. It should be noted that these fuses are buried under 3 metal layers!

These cells were actually on Metal 1 and 2 but there are connections via Metal 3 as well.

The orderly arrangement of the fuse cells is a blessing for the attacker, as it allows us to easily locate each bit and map it to its corresponding security function. The datasheet provides a high-level description of the fuse functions, but it does not specify their physical locations. However, by applying known test patterns and reading back the fuse states, we were able to correlate the physical addresses with the logical roles. In particular, we identified the master lockbit that globally enables or disables the read-out of the flash and SRAM contents. By setting this bit to the 'unlocked' state, we can perform a complete memory dump without any further authentication. This is exactly the same principle as we encountered in the older PIC devices, but here the implementation is far more sophisticated due to the multiple metal layers and the smaller feature size.

There were additional power planes across the lower area of the photo from Metal 4 and 5 that cover those fuses however this isn't buying them any security if the actual lock bits were buried there. A laser can go right through it all keeping the power-bus in tact with a hole in it.

The power planes on M4 and M5 provide a robust supply distribution network, but they also act as a physical barrier that must be pierced to reach the fuse layer. Using a pulsed laser with precise focus control, we can ablate a small hole through these planes without causing a short circuit between the power rails and the substrate. The laser beam can be tuned to selectively remove the metal layers while leaving the underlying polysilicon and diffusion structures intact. After creating the via, we can then use a conductive probe or a second laser pulse to force the fuse output to a high or low state, effectively overriding the lock. This technique, known as "laser-assisted fuse programming," is well established in the hardware hacking community and is our primary method for gaining access to the protected memory. It is worth noting that this attack does not require the device to be powered during the laser operation, which reduces the risk of triggering any power-on security checks.

Finally, the Atmel part number of this die. The CMP filler is visible in this picture too.

In summary, this is a very well secured device. firmware recovery Fuses buried in a 5 metal layer design make the Microchip DSPIC's look like a piece of cake in comparison (They are 350nm 4 metal).

Despite the impressive security measures, our team has successfully developed a repeatable procedure to unlock these devices and extract the full flash content. The process involves first performing a careful decapsulation to expose the die, followed by optical inspection to locate the fuse array and the laser entry points. Next, we use a focused ion beam (FIB) to mill through the upper metal layers, creating a small window that exposes the fuse cells. Finally, we apply a controlled laser pulse to force the master lockbit into the 'unlock' state, which then permits a full read-out of the program memory and the EEPROM data. The entire procedure takes about four hours per device, including the imaging and validation steps, making it feasible for volume extraction in a lab environment. The ability to duplicate the firmware from these microcontrollers poses a significant threat to any product that relies on the AT91SAM series for code confidentiality.

However, by the hard work of our Mikatech Team, below SAM series is now in our service list in june 2009:

AT91SAM9XE512 AT91SAM9XE256 AT91SAM9XE128 AT91SAM7S64B AT91SAM7S32B AT91SAM7SE512 AT91SAM7SE256 AT91SAM7SE32 AT91SAM7XC512 AT91SAM7XC256 AT91SAM7XC128 AT91SAM7X512 AT91SAM7X256 AT91SAM7X128 AT91SAM7S161 AT91SAM7S512 AT91SAM7S256 AT91SAM7S128 AT91SAM7S64 AT91SAM7S321 ...

The list above represents the models we have successfully tested, and we are confident that the same attack applies to any member of the SAM7 and SAM9 families that share the same security fuse architecture. The attack is independent of the flash size, as the fuse location and the laser access path remain consistent across the product line. This is a critical finding for any organization that has deployed these MCUs in security-sensitive applications, as it means that a single compromised device can be used to extract the secret code and then duplicate it into counterfeit products. The implications for intellectual property theft, product cloning, and unauthorized firmware recovery are severe, and we urge all users to consider alternative parts with more advanced anti-tamper features.

It is also important to note that while the metal layers provide good protection against UV light, they are not effective against a determined attacker with access to a laser and a FIB. The cost of such equipment is falling rapidly, and many universities and independent labs now possess these capabilities. hardware security research is to improve the overall securityTherefore, the security of the AT91SAM series cannot be taken for granted, and any new design should incorporate additional software-level protections, such as code encryption and run-time integrity checks, to mitigate the risk of physical attack. The lessons learned from this reverse engineering effort are clear: hardware security is a layered problem, and no single countermeasure is sufficient. The combination of metal shielding, buried fuses, and complex routing can slow down an attacker, but it cannot stop them entirely. As we have shown, with enough time and skill, any human-made system can be torn down.

Furthermore, the existence of this vulnerability highlights the need for independent security evaluations before selecting a microcontroller for a critical application. Datasheet promises and marketing materials are not a substitute for empirical testing. Our team encourages manufacturers to adopt a "defense in depth" approach, where even if the physical lock is bypassed, the extracted code is rendered useless through strong encryption and obfuscation. Additionally, secure boot mechanisms that verify the authenticity of the firmware at each startup can prevent the execution of tampered code, even if the original binary is exposed. These measures are not foolproof, but they raise the bar significantly and deter all but the most sophisticated adversaries.

In the context of firmware extraction, our method offers a complete read-out of the flash memory, including any protected regions that are normally inaccessible through the standard programming interface. This means that an attacker can recover the entire application code, along with any calibration constants, cryptographic keys, or configuration data stored in the on-chip EEPROM. The recovered code can then be analyzed using disassemblers and decompilers to understand its functionality and to identify further vulnerabilities that could be exploited in the field. This is a classic example of how a successful physical attack can cascade into a full compromise of the system's security posture.

Finally, we want to emphasize that our goal in publishing these results is to raise awareness and to encourage the development of more resilient hardware. By sharing our techniques and findings, we hope to contribute to the collective knowledge of the security community and to help designers avoid the mistakes that have been made in the past. The AT91SAM series is a fine family of microcontrollers, but like all complex systems, it has its weaknesses. We trust that Atmel will take note of our analysis and improve the security of future generations. In the meantime, users are advised to assume that any device in this series can be unlocked and read out, and to plan their security architecture accordingly.

  • Mikatech Atmel MCU reverse engineer list:
  • AT89xx whole series microcontroller crack: AT89C51 AT89C52 AT89S52 AT89S53 AT89S54 AT89S58 AT89S64 AT89C1051 AT89C2051 AT89C4051 AT89C55 AT89C55WD AT89C5131A AT89C51WD AT89C51ED2 AT89C51CC01 AT89S51 AT89C51CC02 AT89C51CC03 AT89C51RB2 AT89C51RC AT89C51RD2 AT89C51RD-CM AT89C51RC2 AT89C51ID2 AT87C5101 AT89C1051U AT89C2051X2 AT89C5130AM AT89C5130A AT89C5131AL AT89C5131AM AT89C51AC3 AT89C5132 AT89C51AC2 AT89C51CC03C AT89C51SND1C AT89C51CC03U AT89C51IC2 AT89C51RE2 AT89C51SND2 AT89LP2051 AT89LP2052 AT89LP213 AT89LP214 AT89LP216 AT89LP4051 AT89LP4052 AT89LP828 AT89LP428 AT89LS51 AT89LS52 AT89LV51 AT89LS53 AT89LS8252 AT89LV52 AT89LV55 AT89S2051 AT89S4051 AT89S8252 AT89S8253 ...

  • AT90xx whole series microcontroller crack: AT90S1200 AT90S2323 AT90S2343 AT90S2331 AT90S4433 AT90S8515 AT90S8535 AT90S4414 AT90S4434 AT90S2313 90S1200 90S2323 90S2343 90S2331 90S4433 90S8515 90S8535 90S4414 90S4434 90S2313 ...

  • AT90CAN/PWM/USB/xx whole series microcontroller read: AT90CAN32 AT90CAN64 AT90CAN128 AT90PWM2 AT90PWM216 AT90PWM2B AT90PWM3 AT90PWM316 AT90PWM3B AT90USB1286 AT90USB1287 AT90USB162 AT90USB646 AT90USB647 AT90USB82 ...
  • AT91SAMxx whole series microcontroller firmware crack: AT91SAM9XE512 AT91SAM9XE256 AT91SAM9XE128 AT91SAM7S64B AT91SAM7S32B AT91SAM7SE512 AT91SAM7SE256 AT91SAM7SE32 AT91SAM7XC512 AT91SAM7XC256 AT91SAM7XC128 AT91SAM7X512 AT91SAM7X256 AT91SAM7X128 AT91SAM7S161 AT91SAM7S512 AT91SAM7S256 AT91SAM7S128 AT91SAM7S64 AT91SAM7S321 ...

  • ATTinyxx whole series microcontroller firmware crack: ATtiny4 ATtiny5 ATtiny10 ATtiny11 ATtiny12 ATtiny13 ATtiny15 ATtiny20 ATtiny22 ATtiny24 ATtiny25 ATtiny26 ATtiny261 ATtiny28 ATtiny2313 ATtiny40 ATtiny4313 ATtiny43 ATtiny44 ATtiny45 ATtiny461 ATtiny48 ATtiny84 ATtiny85 ATtiny861 ATtiny87 ATtiny88 ATtiny4A ATtiny5A ATtiny10A ATtiny11A ATtiny12A ATtiny13A ATtiny15A ATtiny20A ATtiny22A ATtiny24A ATtiny25A ATtiny26A ATtiny261A ATtiny28A ATtiny2313A ATtiny40A ATtiny4313A ATtiny43A ATtiny44A ATtiny45A ATtiny461A ATtiny48A ATtiny84A ATtiny85A ATtiny861A ATtiny87A ATtiny88A ATtiny4V ATtiny5V ATtiny10V ATtiny11V ATtiny12V ATtiny13V ATtiny15V ATtiny20V ATtiny22V ATtiny24V ATtiny25V ATtiny26V ATtiny261V ATtiny28V ATtiny2313V ATtiny40V ATtiny4313V ATtiny43V ATtiny44V ATtiny45V ATtiny461V ATtiny48V ATtiny84V ATtiny85V ATtiny861V ATtiny87V ATtiny88V ...

  • ATMegaxx whole series microcontroller crack: ATmega16 ATmega162 ATmega164 ATmega165 ATmega168 ATmega169 ATmega128 ATmega1280 ATmega1281 ATmega2560 ATmega2561 ATmega328 ATmega48 ATmega32 ATmega324 ATmega325 ATmega3250 ATmega329 ATmega3290 ATmega64 ATmega640 ATmega645 ATmega6450 ATmega649 ATmega6490 ATmega8 ATmega88 ATmega8515 ATmega8535 ATmega16L ATmega162L ATmega164L ATmega165L ATmega168L ATmega169L ATmega128L ATmega1280L ATmega1281L ATmega2560L ATmega2561L ATmega328L ATmega48L ATmega32L ATmega324L ATmega325L ATmega3250L ATmega329L ATmega3290L ATmega64L ATmega640L ATmega645L ATmega6450L ATmega649L ATmega6490L ATmega8L ATmega88L ATmega8515L ATmega8535L ATmega16P ATmega162P ATmega164P ATmega165P ATmega168P ATmega169P ATmega128P ATmega1280P ATmega1281P ATmega2560P ATmega2561P ATmega328P ATmega48P ATmega32P ATmega324P ATmega325P ATmega3250P ATmega329P ATmega3290P ATmega64P ATmega640P ATmega645P ATmega6450P ATmega649P ATmega6490P ATmega8P ATmega88P ATmega16A ATmega162A ATmega164A ATmega165A ATmega168A ATmega169A ATmega128A ATmega1280A ATmega1281A ATmega2560A ATmega2561A ATmega328A ATmega48A ATmega32A ATmega324A ATmega325A ATmega3250A ATmega329A ATmega3290A ATmega64A ATmega640A ATmega645A ATmega6450A ATmega649A ATmega6490A ATmega8A ATmega88A ATmega8515A ATmega8535A ...

  • ATFxx series microcontroller crack: ATF16V8B ATF16V8BL ATF16V8BQ ATF16V8BQL ATF16LV8C ATF16LV8CEXT ATF16V8C ATF16V8CEXT ATF16V8CZ ATF20V8B ATF20V8BL ATF20V8BQ ATF20V8BQL ATF22LV10C ATF22LV10CEXT ATF22LV10CUES ATF22LV10CZ ATF22LV10CQZ ATV22V10 ATF22V10B ATF22V10BQ ATF22V10BL ATF22V10BQL ATF22V10C ATF22V10CEXT ATF22V10CUES ATF22V10CZ ATF22V10CQZ ATF22V10CZUES ATF22V10CQZUES ATF1500A ATF1500ABV ATF1500ABVL ATF1500 ATF1500L ATF1502AS ATF1502ASL ATF1502ASV ATF1502ASVL ATF1504AS ATF1504ASVL ATF1508 ATF1508AS ATF1508ASV ATF2500C ATF2500CL ATF2500CQ ATF2500CQL ATF750C ATF750CEXT ATF750CL ATF750LVC ATF750LVCCEXT ATF750LVCEXT ATF750LVCL ATV2500 ATV2500H ATV2500L ATV2500B ATV2500BL ATV2500BQL ATV5000 ATV5000L ATV750 ATV750B ATV750BL ATV750L ...

  • AT88scxx/90scxx series microcontroller crack: AT88SC0104 AT88SC0104C AT88SC0204 AT88SC0204C AT88SC0404 AT88SC0404C AT88SC0808 AT88SC0808C AT88SC1003 AT88SC101 AT88SC102 AT88SC1281 AT88SC12816C AT88SC150 AT88SC153 ...

General Questions About Microcontroller Firmware Extraction


  • Is it safe to send payment to MikaTech ?

    If MikaTech was a bad company, you could find tons of bad reputations about its service on the internet over the 28 years history

    So, the answer is YES! We are good people.

    Why choose Mikatech, please click here to find out


  • Can Mikatech break ics not listed on this site ?

    Different chip manufacturers have different part numbers, but the inner core of the chip can be make with same technology, it would be quite impossible to list all the part numbers where our technology can apply such as MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    Also by the advancing of the technology, everyday we gain more and more experience and develope new methods for reverse engineering for different Intergated Circuit parts. Full list of Integrated Circuit part numbers which is within our scope of capability is always getting bigger, please contact us to find out.

  • Will my privacy be protected ?

    Mikatech Innovative Limited understands the importance of its clients' privacy. At the moment you contact Mikatech, the personal information from you will be put under protection by our management regulations which was developed by our years of practice, Mikatech uses these information to customize its service to you, it will never disclose these information to third party out of any reason.
    Every project we did, we will delete all the data, materials, and codes 60days after deliverig the files, it iwll protect us and protect your privacy.

  • Is it legal to get service from Mikatech ?

    Yes, it is totally legal.
    Mikatech deliver its reverse engineering services for educational purposes only, it can be illegal to use above mentioned services in some coutries or regions, please check your local laws. Mikatech does not take any responsibility in relation to the use of above mentioned services that may be considered illegal.


  • I sent you an email, why there is no answer ?

    • A. Our mail server is temperally broke down, your message has not been delivered to our mailbox even the mail sent successfully message is showed on the screen, please contact us again.
    • B. Our email is recognised as junk mail email by your mail server, so our reply has been rejected by your mail server or it is diverted to your junk mailbox, please remove our account from junkmail list or check your junk mailbox, or use another email account to contact such as gmail.
    • C. Your email is recognised as junk mail email by our mail server, so your email was put to our junk mailbox, please use another email account to contact us again.

    microcontroller_hack_time

    Years

    28 +
    microcontroller hack countries

    Countries

    110 +
    microcontroller attack clients

    Clients

    5000 +
    microcontroller projects unlocked

    Projects

    60000 +