Ingénierie inverse de MCU

Déverrouillage de microcontrôleur - MikaTech

Nos valeurs et objectifs

À propos de MikaTech

Le temps a passé vite, depuis le jour où nous avons réalisé notre premier projet d'ingénierie inverse sur MCU 8051 en 1998, jusqu'au jour où nous avons installé notre laboratoire d'ingénierie inverse d'un million de dollars en 2012, 14 années se sont écoulées. Aujourd'hui, nous lançons notre nouvelle activité de développement de systèmes de vision embarquée, avec l'espoir de servir encore 10 ans.

signature Peter Lee Co-fondateur & PDG

Hacking des séries PLD GAL PAL PALCE PEEL ATF

GAL16V8, PAL16V8, PALCE16V8, PEEL16V8 et ATF16V8 prêtent parfois à confusion ; voici les marques qui les fabriquent

 

Programmable Array Logic (PAL) est une famille de semi-conducteurs à logique programmable utilisés pour implémenter des fonctions logiques dans les circuits numériques, introduite par Monolithic Memories, Inc. (MMI) en mars 1978. MMI a obtenu une marque déposée sur le terme PAL pour l'utiliser dans des « circuits logiques programmables semi-conducteurs ». La marque est actuellement détenue par Lattice Semiconductor. Le dispositif Generic Array Logic (GAL) était une innovation du PAL et a été inventé par Lattice Semiconductor. Le GAL était une amélioration du PAL car un seul dispositif pouvait remplacer de nombreux PAL ou même offrir des fonctionnalités non couvertes par la gamme originale. Son avantage principal était cependant d'être effaçable et reprogrammable, facilitant ainsi le prototypage et les modifications de conception pour les ingénieurs. Le PEEL (programmable electrically erasable logic) a été introduit par la société International CMOS Technology (ICT). Programmable Array Logic CMOS Electrically-Erasable (PALCE), la marque est actuellement détenue par Lattice Semiconductor.

hacking de microcontrôleur Atmel

Craquage de microcontrôleur Atmel

Atmel Corporation a fabriqué deux grandes gammes de logique programmable Flash à base de mémoire électriquement effaçable : les SPLD ATF (compatibles broche à broche avec GAL/PALCE) et les CPLD ATF15xx à programmation ISP via JTAG, ainsi que les EPLD ATV à effacement UV. Atmel a été racheté par Microchip en 2016, et tous les produits PLD discrets sont abandonnés. Ce document liste tous les modèles de base de production de masse standard, à l'exclusion des SOC hybrides FPSLIC et des FPGA autonomes.

1. Famille SPLD Flash E²CMOS ATF

ATF16V8 20 broches, 8 macrocellules

ATF16V8, ATF16V8B, ATF16V8C

ATF16V8BQ, ATF16V8BQL, ATF16V8CZ

ATF16LV8, ATF16LV8C

ATF20V8 24 broches, 8 macrocellules

ATF20V8, ATF20V8B, ATF20V8C

ATF20V8BQ, ATF20V8BQL

ATF20LV8, ATF20LV8C

ATF22V10 SPLD vedette à termes variables

ATF22V10, ATF22V10B, ATF22V10C

ATF22V10CQ, ATF22V10CQZ

ATF22LV10, ATF22LV10C

SPLD étendus haute densité

ATF28V12, ATF29M16

2. CPLD à programmation ISP JTAG ATF15xx

ATF1500 32 macrocellules, CPLD d'entrée de gamme

ATF1500A, ATF1500AL

ATF1502 32 macrocellules, CPLD milieu de gamme

ATF1502AS, ATF1502ASL, ATF1502ASV, ATF1502ASVL

ATF1504 64 macrocellules, CPLD milieu de gamme

ATF1504AS, ATF1504ASL, ATF1504ASV, ATF1504ASVL

ATF1508 128 macrocellules, CPLD haute densité

ATF1508AS, ATF1508ASL, ATF1508ASV, ATF1508ASVL

CPLD vintage moyenne densité

ATF750C, ATF750CL, ATF750LVC

ATF2500C, ATF2500CL, ATF2500LVC

3. Série EPLD à effacement UV ATV

ATV750, ATV750B

ATV2500, ATV2500B

Extraction de MCU MMI

Monolithic Memories Inc. (MMI) a créé le premier PAL (Programmable Array Logic) commercial à fusibles en 1978. Avant le rachat par AMD en 1987, MMI a lancé quatre gammes principales de PLD : les PAL à fusibles standard, les AmPAL haute vitesse, les PALC CMOS à effacement UV, et les HAL (Hard Array Logic) masqués. Tous les dispositifs utilisent l'architecture de matrice AND programmable / OR fixe pour implémenter des fonctions logiques sous forme de sommes de produits. Ce document énumère tous les modèles de base de production de masse conçus et fabriqués par MMI.

1. Famille PAL standard à fusibles 20 broches

Dispositifs PAL combinatoires

PAL10H8, PAL10L8, PAL10P8

PAL12H6, PAL12L6, PAL12P6

PAL14H4, PAL14L4, PAL14P4

PAL16C1

PAL16H2, PAL16L2, PAL16P2

PAL16H4, PAL16L4, PAL16P4

PAL16H6, PAL16L6, PAL16P6

PAL16H8, PAL16L8, PAL16P8

Dispositifs PAL synchrones à registres

PAL16R4, PAL16R6, PAL16R8

PAL16RP4, PAL16RP6, PAL16RP8

Dispositifs PAL à XOR amélioré

PAL16X4, PAL16X6, PAL16X8

2. Famille PAL standard à fusibles 24 broches

PAL combinatoires 24 broches

PAL18H4, PAL18L4, PAL18P4

PAL20C1

PAL20H2, PAL20L2, PAL20P2

PAL20L8, PAL20S10

PAL22V10 (PAL 24 broches variable à fusibles d'origine)

PAL registrés 24 broches

PAL20R4, PAL20R6, PAL20R8

PAL XOR 24 broches

PAL20X4, PAL20X6, PAL20X8

PAL haute densité à bus large

PAL32R16, PAL32X16

3. Série AmPAL haute vitesse avancée

AmPAL16P8

AmPAL20L10

AmPAL22P10

AmPAL22XP1

4. PALC CMOS effaçable UV

PALC22V10 (seul PAL effaçable de MMI avant le rachat)

5. HAL (Hard Array Logic) masqué (PLD personnalisé en usine)

HAL10H8, HAL12H6, HAL14H4

HAL16C1, HAL16H2, HAL16H8, HAL16L2, HAL16L8

HAL18L4, HAL20L2, HAL20L8, HAL20L10

Attaque de microcontrôleur ICT

International CMOS Technology (ICT) était un fournisseur secondaire taïwanais de circuits logiques programmables de petite échelle. Son portefeuille PLD se composait de PAL à fusibles OTP de seconde source, de PALC CMOS effaçables UV, et de SPLD compatibles GAL à effacement électrique. ICT n'a jamais lancé de gammes CPLD ou FPGA propriétaires. Ce document liste tous les modèles de base de production de masse.

1. Série PAL OTP à fusibles TTL

PAL combinatoires 20 broches

PAL10H8, PAL10L8, PAL10P8

PAL12H6, PAL12L6, PAL12P6

PAL14H4, PAL14L4, PAL14P4

PAL16C1

PAL16H2, PAL16L2, PAL16P2

PAL16H4, PAL16L4, PAL16P4

PAL16H6, PAL16L6, PAL16P6

PAL16H8, PAL16L8, PAL16P8

PAL registrés 20 broches

PAL16R4, PAL16R6, PAL16R8

PAL16RP4, PAL16RP6, PAL16RP8

PAL XOR 20 broches

PAL16X4, PAL16X6, PAL16X8

PAL combinatoires 24 broches

PAL18H4, PAL18L4, PAL18P4

PAL20C1

PAL20H2, PAL20L2, PAL20P2

PAL20L8, PAL20S10

PAL22V10

PAL registrés 24 broches

PAL20R4, PAL20R6, PAL20R8

PAL XOR 24 broches

PAL20X4, PAL20X6, PAL20X8

PAL à bus large

PAL32R16, PAL32X16

2. Série PALC CMOS effaçable UV

Dispositifs PALC 20 broches

PALC10H8, PALC10L8

PALC12H6, PALC12L6

PALC14H4, PALC14L4

PALC16C1

PALC16H2, PALC16L2, PALC16P2

PALC16H4, PALC16L4, PALC16P4

PALC16H6, PALC16L6, PALC16P6

PALC16H8, PALC16L8, PALC16P8

PALC16R4, PALC16R6, PALC16R8

PALC16RP4, PALC16RP6, PALC16RP8

PALC16X4, PALC16X6, PALC16X8

Dispositifs PALC 24 broches

PALC18H4, PALC18L4

PALC20C1

PALC20H2, PALC20L2, PALC20P2

PALC20R4, PALC20R6, PALC20R8

PALC20X4, PALC20X6, PALC20X8

PALC20S10

PALC22V10

3. Série GAL E²CMOS électriquement reprogrammable

GAL16V8

GAL16V8, GAL16V8A, GAL16V8B, GAL16V8D

GAL20V8

GAL20V8, GAL20V8A, GAL20V8B

GAL22V10

GAL22V10, GAL22V10B

Modèles GAL spéciaux

GAL18V10, GAL20RA10, GAL26CV12

1. Série PEEL SPLD petite échelle (20/24 broches, remplaçants GAL/PALCE)

1.1 Famille PEEL18CV8 (20 broches, 8 macrocellules, remplace ATF16V8 / GAL16V8)

PEEL18CV8

PEEL18CV8Z (variante ultra-basse consommation en veille)

PEEL18LV8 (cœur 3,3V basse tension)

PEEL18LV8Z (3,3V ultra-basse consommation)

1.2 Famille PEEL20CG10 (24 broches, 8 macrocellules, remplace GAL20V8 / ATF20V8)

PEEL20CG10

PEEL20CG10A (variante vitesse améliorée)

1.3 PEEL22CV10 SPLD vedette 24 broches (10 macrocellules à termes variables, remplace GAL22V10 / ATF22V10)

PEEL22CV10

PEEL22CV10A (standard commercial)

PEEL22CV10AZ (zéro puissance, faible courant de veille)

PEEL22LV10 (3,3V basse tension)

PEEL22LV10AZ (3,3V ultra-basse consommation)

2. Série CPLD haute densité PEEL Array (multi-macrocellules ISP complexes)

2.1 PEEL153 (CPLD basse densité, compatible PLS153)

PEEL153

2.2 PEEL173 (CPLD moyenne densité, compatible PLS173 / PAL20L10)

PEEL173

2.3 PEEL253 (réseau moyenne-haute densité)

PEEL253

2.4 PEEL273 (réseau haute densité de base)

PEEL273

craquage de microcontrôleur AMD

Copie de circuit intégré AMD

PALCE16V8H PALCE16V8Q PALCE16V8Z ...
PALCE20V8H PALCE20V8Q ...
PALCE20RA10 PALCE20RA10H PALCE20RA10Q ...
PALCE22V10 PALCE22V10H PALCE22V10Q PALCE22V10Z ...
PALCE26V12H PALCE26V12H/4 ...

récupération de code source Cypress

Craquage de circuit intégré Cypress

Cypress Semiconductor a produit deux grandes catégories de circuits logiques programmables : les SPLD de petite échelle (PALC effaçables UV, PALCE électriquement reprogrammables, et PAL OTP à fusibles de seconde source) ; et les familles CPLD Flash à programmation ISP via JTAG (FLASH370i, Ultra37000, MAX340, Quantum38K, Delta39K). Ce document liste tous les modèles de base de production de masse, à l'exclusion des PSoC et des circuits intégrés sur mesure.

1. Série SPLD héritée

1.1 PALC CMOS effaçable UV

PALC 20 broches

PALC10H8, PALC10L8

PALC12H6, PALC12L6

PALC14H4, PALC14L4

PALC16C1

PALC16H2, PALC16L2, PALC16P2

PALC16H4, PALC16L4, PALC16P4

PALC16H6, PALC16L6, PALC16P6

PALC16H8, PALC16L8, PALC16P8

PALC16R4, PALC16R6, PALC16R8

PALC16RP4, PALC16RP6, PALC16RP8

PALC16X4, PALC16X6, PALC16X8

PALC 24 broches

PALC18H4, PALC18L4

PALC20C1

PALC20H2, PALC20L2, PALC20P2

PALC20R4, PALC20R6, PALC20R8

PALC20X4, PALC20X6, PALC20X8

PALC20S10

PALC22V10

1.2 PALCE effaçables électriquement

PALCE16V8, PALCE20V8, PALCE22V10, PALCE24V10, PALCE29M16

1.3 PAL OTP à fusibles TTL de seconde source

PAL10H8, PAL10L8, PAL10P8

PAL12H6, PAL12L6, PAL12P6

PAL14H4, PAL14L4, PAL14P4

PAL16C1

PAL16H2, PAL16L2, PAL16P2

PAL16H4, PAL16L4, PAL16P4

PAL16H6, PAL16L6, PAL16P6

PAL16H8, PAL16L8, PAL16P8

PAL16R4, PAL16R6, PAL16R8

PAL16RP4, PAL16RP6, PAL16RP8

PAL16X4, PAL16X6, PAL16X8

PAL18H4, PAL18L4, PAL18P4

PAL20C1, PAL20H2, PAL20L2, PAL20P2

PAL20R4, PAL20R6, PAL20R8

PAL20X4, PAL20X6, PAL20X8

PAL20S10

PAL22V10

PAL32R16, PAL32X16

2. Familles CPLD Flash ISP

Génération FLASH370i

CY7C371i, CY7C372i, CY7C373i, CY7C374i, CY7C375i

CPLD grand public Ultra37000

CY37032, CY37032V

CY37064, CY37064V

CY37128, CY37128V

CY37192, CY37192V

CY37256, CY37256V

CY37384, CY37384V

CY37512, CY37512V

CPLD bas coût MAX340

CY34032, CY34064, CY34128

CPLD haute vitesse Quantum38K

CY38K032, CY38K064, CY38K128, CY38K256

CPLD industriels grande échelle Delta39K

CY39K064, CY39K128, CY39K256, CY39K512, CY39K1000

extraction de mémoire flash chiffrée STM

Attaque du firmware des circuits intégrés STM

GAL16V8 GAL16V8A ... GAL20V8 GAL20V8A ... GAL22V10 ... GAL6001 ...

Questions générales sur l'extraction de firmware de microcontrôleur


  • Est-il sûr d'envoyer un paiement à MikaTech ?

    Si MikaTech était une mauvaise entreprise, vous pourriez trouver des tonnes de mauvaises réputations sur ses services sur Internet au cours de ses 28 ans d'histoire

    Donc, la réponse est OUI ! Nous sommes de bonnes personnes.

    Pourquoi choisir Mikatech, cliquez ici pour le découvrir


  • Mikatech peut-elle casser des circuits intégrés non répertoriés sur ce site ?

    Différents fabricants de puces utilisent des numéros de pièce différents, mais le cœur interne de la puce peut être fabriqué avec la même technologie. Il serait impossible de répertorier tous les numéros de pièce auxquels notre technologie peut s'appliquer, comme MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    Grâce à l'avancée de la technologie, nous acquérons chaque jour plus d'expérience et développons de nouvelles méthodes d'ingénierie inverse pour différents circuits intégrés. La liste complète des numéros de pièce de circuits intégrés que nous sommes capables de traiter ne cesse de s'agrandir. Contactez-nous pour en savoir plus.

  • Ma vie privée sera-t-elle protégée ?

    Mikatech Innovative Limited comprend l'importance de la confidentialité de ses clients. Dès que vous contactez Mikatech, vos informations personnelles sont protégées par notre règlement de gestion, développé au fil de nos années de pratique. Mikatech utilise ces informations pour personnaliser ses services à votre égard et ne les divulguera jamais à des tiers, quelle qu'en soit la raison.
    Pour chaque projet que nous réalisons, nous supprimons toutes les données, matériaux et codes 60 jours après la livraison des fichiers, ce qui nous protège et protège votre vie privée.

  • Est-il légal de faire appel aux services de Mikatech ?

    Oui, c'est totalement légal.
    Mikatech fournit ses services d'ingénierie inverse uniquement à des fins éducatives. L'utilisation des services mentionnés ci-dessus peut être illégale dans certains pays ou régions, veuillez vérifier les lois locales. Mikatech n'assume aucune responsabilité quant à l'utilisation des services mentionnés ci-dessus qui pourrait être considérée comme illégale.


  • Obfuscation de code et son effet sur l'ingénierie inverse des MCU

    L'obfuscation de code transforme le firmware en une forme difficile à comprendre. Le verrou MCU n'est pas directement obfusqué, mais le firmware qui interagit avec lui peut l'être. Cela rend l'ingénierie inverse plus difficile. L'attaquant qui parvient à extraire (dump) la flash et l'EEPROM obtiendra un code obfusqué. La lecture d'un processeur EEPROM donne les mêmes données obfusquées. La décapsulation et la récupération de code ne simplifieront pas le code ; l'attaquant doit le désobfusquer. La copie du contenu de la mémoire crypto est possible, mais les données sont inutiles sans désobfuscation. L'extraction du firmware est la première étape ; la suivante consiste à analyser le binaire obfusqué. Les techniques d'obfuscation incluent la substitution d'instructions, l'aplatissement du flux de contrôle et les prédicats opaques, qui augmentent la complexité de l'analyse statique. Le verrou lui-même peut être obfusqué pour masquer son fonctionnement : par exemple, l'état du verrou peut être vérifié via une série de sauts indirects. L'attaquant ne peut pas facilement déterminer la logique du verrou. L'analyse dynamique est également entravée : le code obfusqué peut inclure des astuces anti-débogage, détecter des points d'arrêt et modifier son comportement. La lecture du processeur EEPROM ne révèle pas ces astuces ; l'attaquant doit exécuter le code pour les observer. Mais le verrou MCU peut empêcher l'exécution si le code est altéré. Ainsi, l'obfuscation complète le verrou. Cependant, ce n'est pas une garantie de sécurité : des attaquants puissants peuvent utiliser l'exécution symbolique pour casser l'obfuscation, mais cela augmente le coût. Le verrou est une barrière matérielle, l'obfuscation une barrière logicielle ; ensemble, elles forment une défense en profondeur. L'attaquant doit d'abord contourner le verrou pour obtenir le code, puis le désobfusquer. Cette double difficulté est efficace. De nombreux fournisseurs de MCU fournissent des outils d'obfuscation intégrés à l'environnement de développement. Le verrou garantit que le code obfusqué ne peut pas être lu sans autorisation, mais si le verrou est cassé, l'obfuscation protège toujours la propriété intellectuelle. C'est un ajout précieux. En conclusion, l'obfuscation de code entrave l'ingénierie inverse et l'extraction de firmware. Elle n'empêche pas la lecture du processeur EEPROM ni l'extraction de la flash, mais elle rend les données extraites moins exploitables. Le verrou MCU est la première défense ; l'obfuscation est la seconde.

    temps de hacking microcontrôleur

    Années

    28 +
    pays de hacking microcontrôleur

    Pays

    110 +
    clients d'attaque microcontrôleur

    Clients

    5000 +
    projets de microcontrôleur déverrouillés

    Projets

    60000 +