Restore IC Program
Manufacturers often protect their devices by securing the source code, binary files, or EEPROM data within the chip. This prevents competitors from copying or duplicating their designs. However, there are legitimate reasons to restore an IC’s program, such as:
-
Recovering lost firmware from a damaged MCU
-
Repairing devices with corrupted flash memory
-
Analyzing secured code for security research
-
Cloning legacy systems where original files are no longer available

Para chips altamente protegidos, o desencapsulamento envolve a abertura física do CI para acessar o chip de silício. Usando microprobes, os especialistas podem despejar os dados hexagonais diretamente das células de memória. Este método é frequentemente usado em engenharia reversa para recuperar firmware de MCUs obsoletos ou bloqueados. Alguns chips podem ser atacados usando análise de energia ou ataques de temporização para descriptografar dados protegidos. Ao monitorar flutuações de energia ou tempos de execução, os pesquisadores podem decodificar o firmware criptografado sem precisar da chave original. Muitos microcontroladores têm portas de depuração ocultas (JTAG, SWD) que permitem acesso direto à memória flash. Se essas interfaces não forem desabilitadas, os invasores podem despejar o arquivo binário inteiro e restaurá-lo em outro chip. Se o MCU armazenar seu programa em uma EEPROM externa ou memória flash, o chip pode ser dessoldado e lido usando um programador. Este método é comum para replicar ou clonar firmware de dispositivos mais antigos. Para firmware criptografado, ataques de força bruta ou falhas de voltagem (injeção de falha) podem ser usados para contornar a segurança e extrair o código-fonte.
Methods to Extract and Restore IC Data
To break or hack into a secured chip, engineers use various techniques:
1. Decapsulation and Microprobing
For highly protected chips, decapsulation involves physically opening the IC to access the silicon die. Using microprobes, experts can dump the heximal data directly from the memory cells. This method is often used in reverse engineering to recover firmware from obsolete or locked MCUs.
2. Side-Channel Attacks
Some chips can be attacked using power analysis or timing attacks to decrypt secured data. By monitoring power fluctuations or execution times, researchers can decode the encrypted firmware without needing the original key.
3. Firmware Dumping via Debug Interfaces
Many microcontrollers have hidden debug ports (JTAG, SWD) that allow direct access to the flash memory. If these interfaces are not disabled, attackers can dump the entire binary file and restore it to another chip.
4. EEPROM/Flash Chip Removal
If the MCU stores its program in an external EEPROM or flash memory, the chip can be desoldered and read using a programmer. This method is common for replicating or cloning firmware from older devices.

Đối với các chip được bảo vệ cao, quá trình tách vỏ liên quan đến việc mở IC vật lý để truy cập vào khuôn silicon. Sử dụng các đầu dò vi mô, các chuyên gia có thể đổ dữ liệu hex trực tiếp từ các ô nhớ. Phương pháp này thường được sử dụng trong kỹ thuật đảo ngược để khôi phục chương trình cơ sở từ các MCU đã lỗi thời hoặc bị khóa. Một số chip có thể bị tấn công bằng cách sử dụng phân tích công suất hoặc tấn công thời gian để giải mã dữ liệu được bảo mật. Bằng cách theo dõi các biến động công suất hoặc thời gian thực hiện, các nhà nghiên cứu có thể giải mã chương trình cơ sở được mã hóa mà không cần khóa gốc. Nhiều bộ vi điều khiển có các cổng gỡ lỗi ẩn (JTAG, SWD) cho phép truy cập trực tiếp vào bộ nhớ flash. Nếu các giao diện này không bị vô hiệu hóa, kẻ tấn công có thể dump toàn bộ tệp nhị phân và khôi phục nó vào một chip khác. Nếu MCU lưu trữ chương trình của mình trong EEPROM hoặc bộ nhớ flash bên ngoài, chip có thể được hàn lại và đọc bằng một bộ lập trình. Phương pháp này phổ biến để sao chép hoặc nhân bản chương trình cơ sở từ các thiết bị cũ hơn. Đối với chương trình cơ sở được mã hóa, có thể sử dụng các cuộc tấn công bằng vũ lực hoặc lỗi điện áp (tiêm lỗi) để bỏ qua bảo mật và trích xuất mã nguồn.
5. Brute-Force and Fault Injection
For encrypted firmware, brute-force attacks or voltage glitching (fault injection) can be used to bypass security and extract the source code.
Restore IC Program from its embedded flash memory and eeprom memory has to change the status of Microcontroller from encrypted to un-encrypted, then readout code from MCU memory with universal programmer;

Restore IC Program from its embedded flash memory and eeprom memory has to change the status of Microcontroller from encrypted to un-encrypted, then readout code from MCU memory with universal programmer
Semiconductor manufacturers offer valuable customers an easy way to increase the protection of their products: IC chips with custom marking on the packages instead of standard chip names. That gives the impression that the final product was designed using ASICs or full custom ICs.
‘Everyone knows’ that ASICs offer very good protection against different sorts of ic attacks and only well equipped and highly skilled ic crackers could succeed with br restore IC program from them. This may stop many potential mcu attackers fiddling with the product.
However, a determined mcu cracker could try an easy way to check whether this chip was actually an ASIC. The easy way is to note which pins are connected to power supply, ground, clock, reset, serial, and other interfaces, and to compare all this information with the database of suspect microcontrollers or other ICs.

Для высокозащищенных чипов декапсуляция подразумевает физическое открытие ИС для доступа к кремниевому кристаллу. Используя микрозонды, эксперты могут выгружать шестнадцатеричные данные непосредственно из ячеек памяти. Этот метод часто используется при обратном проектировании для восстановления прошивки устаревших или заблокированных микроконтроллеров. Некоторые чипы можно атаковать с помощью анализа питания или атак по времени для расшифровки защищенных данных. Отслеживая колебания питания или время выполнения, исследователи могут расшифровать зашифрованную прошивку без необходимости использования оригинального ключа. Многие микроконтроллеры имеют скрытые отладочные порты (JTAG, SWD), которые обеспечивают прямой доступ к флэш-памяти. Если эти интерфейсы не отключены, злоумышленники могут сбросить весь двоичный файл и восстановить его на другой чип. Если микроконтроллер хранит свою программу во внешней EEPROM или флэш-памяти, чип можно выпаять и прочитать с помощью программатора. Этот метод распространен для копирования или клонирования прошивок со старых устройств. Для зашифрованной прошивки можно использовать атаки методом подбора или сбой напряжения (внедрение неисправностей), чтобы обойти защиту и извлечь исходный код.
This works very reliably, as each microcontroller family has its own characteristic pinout. Once similarities are found the suspected microcontroller could be verified by placing it into a programming device or universal programmer and trying to read it.