MCU Reverse Engineering

Mikrocontroller entsperren – MikaTech

Unsere Werte und Ziele

Über MikaTech

Die Zeit verging schnell – vom ersten MCU-Reverse-Engineering-Projekt mit einem 8051 im Jahr 1998 bis zur Einrichtung unseres Millionen-Dollar-Reverse-Engineering-Labors im Jahr 2012 vergingen 14 Jahre. Heute starten wir unser neues Geschäftsfeld der eingebetteten visuellen Systementwicklung und hoffen, weitere 10 Jahre dienen zu können.

Unterschrift Peter Lee Mitgründer & CEO

GAL PAL PALCE PEEL ATF Serie PLD-Hacking

GAL16V8 PAL16V8 PALCE16V8 PEEL16V8 und ATF16V8 – manchmal sehen sie sehr verwirrend aus. Nachfolgend sind die Marken aufgeführt, die sie herstellen.

 

Programmable Array Logic (PAL) ist eine Familie programmierbarer Logikbausteine, die zur Implementierung logischer Funktionen in digitalen Schaltungen verwendet werden. Sie wurde im März 1978 von Monolithic Memories, Inc. (MMI) eingeführt. MMI erhielt ein eingetragenes Warenzeichen für den Begriff PAL für den Einsatz in „programmierbaren Halbleiter-Logikschaltungen“. Das Warenzeichen wird derzeit von Lattice Semiconductor gehalten.

Das Generic Array Logic (GAL)-Bauelement war eine Innovation von PAL und wurde von Lattice Semiconductor erfunden. GAL stellte eine Verbesserung gegenüber PAL dar, da ein einziges Gerät viele PAL-Bauelemente ersetzen oder sogar Funktionalitäten bieten konnte, die nicht vom ursprünglichen Sortiment abgedeckt wurden. Sein Hauptvorteil war jedoch, dass es löschbar und wiederprogrammierbar war, was Prototyping und Designänderungen für Ingenieure erleichterte.

PEEL (programmable electrically erasable logic) wurde von der International CMOS Technology (ICT) Corporation eingeführt.

Programmable Array Logic CMOS Electrically-Erasable (PALCE) – das Warenzeichen wird derzeit von Lattice Semiconductor gehalten.

Atmel Mikrocontroller-Hack

Atmel Mikrocontroller-Crack

Atmel Corporation stellte zwei Hauptlinien elektrisch löschbarer Flash-basierter programmierbarer Logik her: ATF-SPLDs (pin-kompatibel mit GAL/PALCE) und ATF15xx JTAG-ISP-CPLDs sowie die älteren ATV-UV-löschbaren EPLDs. Atmel wurde 2016 von Microchip übernommen, und alle diskreten PLD-Produkte wurden eingestellt. Dieses Dokument listet alle standardmäßigen Serien-PLD-Basismodelle auf, ohne hybride FPSLIC-SOCs und eigenständige FPGAs.

1. ATF Flash E²CMOS SPLD-Familie

ATF16V8 20-Pin-8-Makrozellen-Bauelemente

ATF16V8, ATF16V8B, ATF16V8C

ATF16V8BQ, ATF16V8BQL, ATF16V8CZ

ATF16LV8, ATF16LV8C

ATF20V8 24-Pin-8-Makrozellen-Bauelemente

ATF20V8, ATF20V8B, ATF20V8C

ATF20V8BQ, ATF20V8BQL

ATF20LV8, ATF20LV8C

ATF22V10 Flaggschiff mit variablen Produkttermen

ATF22V10, ATF22V10B, ATF22V10C

ATF22V10CQ, ATF22V10CQZ

ATF22LV10, ATF22LV10C

Hochdichte erweiterte SPLDs

ATF28V12, ATF29M16

2. ATF15xx JTAG-ISP-komplexe programmierbare Logikbauelemente (CPLDs)

ATF1500 32-Makrozellen-Einsteigs-CPLD

ATF1500A, ATF1500AL

ATF1502 32-Makrozellen-Mittelklasse-CPLD

ATF1502AS, ATF1502ASL, ATF1502ASV, ATF1502ASVL

ATF1504 64-Makrozellen-Mittelklasse-CPLD

ATF1504AS, ATF1504ASL, ATF1504ASV, ATF1504ASVL

ATF1508 128-Makrozellen-Hochdichte-CPLD

ATF1508AS, ATF1508ASL, ATF1508ASV, ATF1508ASVL

Vintage-Mittelklasse-CPLDs

ATF750C, ATF750CL, ATF750LVC

ATF2500C, ATF2500CL, ATF2500LVC

3. ATV-UV-löschbare Legacy-EPLD-Serie

ATV750, ATV750B

ATV2500, ATV2500B

MMI MCU-Dump

Monolithic Memories Inc. (MMI) entwickelte 1978 das erste kommerzielle PAL (Programmable Array Logic) auf Sicherungsbasis, das einmal programmierbar war. Vor der Übernahme durch AMD im Jahr 1987 brachte MMI vier Kern-PLD-Produktlinien auf den Markt: Standard-Sicherungs-PALs, Hochgeschwindigkeits-AmPAL, UV-löschbare PALC-CMOS-PALs und maskenprogrammierte HAL-Hard-Array-Logik. Alle Bauelemente verwenden die programmierbare UND / feste ODER-Array-Architektur zur Implementierung von Sum-of-Products-Digitalschaltungen. Dieses Dokument listet alle standardmäßigen Serien-Basismodellnummern auf, die von MMI entwickelt und hergestellt wurden.

1. 20-Pin-Standard-Sicherungs-PAL-Familie

Kombinatorische PAL-Bauelemente

PAL10H8, PAL10L8, PAL10P8

PAL12H6, PAL12L6, PAL12P6

PAL14H4, PAL14L4, PAL14P4

PAL16C1

PAL16H2, PAL16L2, PAL16P2

PAL16H4, PAL16L4, PAL16P4

PAL16H6, PAL16L6, PAL16P6

PAL16H8, PAL16L8, PAL16P8

Registrierte synchrone PAL-Bauelemente

PAL16R4, PAL16R6, PAL16R8

PAL16RP4, PAL16RP6, PAL16RP8

XOR-erweiterte PAL-Bauelemente

PAL16X4, PAL16X6, PAL16X8

2. 24-Pin-Standard-Sicherungs-PAL-Familie

Kombinatorische 24-Pin-PALs

PAL18H4, PAL18L4, PAL18P4

PAL20C1

PAL20H2, PAL20L2, PAL20P2

PAL20L8, PAL20S10

PAL22V10 (ursprüngliches 24-Pin-Variable-Makrozellen-PAL auf Sicherungsbasis)

Registrierte 24-Pin-PALs

PAL20R4, PAL20R6, PAL20R8

XOR-24-Pin-PALs

PAL20X4, PAL20X6, PAL20X8

Breitbus-Hochdichte-PALs

PAL32R16, PAL32X16

3. AmPAL-Hochgeschwindigkeits-Advanced-PAL-Serie

AmPAL16P8

AmPAL20L10

AmPAL22P10

AmPAL22XP1

4. PALC-UV-löschbare CMOS-PAL

PALC22V10 (UV-Fenster-EPROM-artiges löschbares PAL, das einzige löschbare PLD von MMI vor der Übernahme)

5. HAL-maskenprogrammierte Hard-Array-Logik (kundenspezifische PLDs ab Werk)

HAL10H8, HAL12H6, HAL14H4

HAL16C1, HAL16H2, HAL16H8, HAL16L2, HAL16L8

HAL18L4, HAL20L2, HAL20L8, HAL20L10

ICT Mikrocontroller-Angriff

International CMOS Technology (ICT) war ein taiwanischer Zweithersteller von programmierbaren Logikbausteinen kleiner Stückzahl. Das gesamte PLD-Portfolio von ICT bestand aus nachgebauten Sicherungs-PAL-OTP-Chips, UV-löschbaren PALC-CMOS-PALs und elektrisch löschbaren GAL-kompatiblen SPLDs. ICT brachte nie eigene CPLD- oder FPGA-Produktlinien auf den Markt. Dieses Dokument listet alle standardmäßigen Serien-SPLD-Basismodelle auf.

1. Sicherungsbasierte OTP-TTL-PAL-Serie

20-Pin-kombinatorische PAL

PAL10H8, PAL10L8, PAL10P8

PAL12H6, PAL12L6, PAL12P6

PAL14H4, PAL14L4, PAL14P4

PAL16C1

PAL16H2, PAL16L2, PAL16P2

PAL16H4, PAL16L4, PAL16P4

PAL16H6, PAL16L6, PAL16P6

PAL16H8, PAL16L8, PAL16P8

20-Pin-registrierte PAL

PAL16R4, PAL16R6, PAL16R8

PAL16RP4, PAL16RP6, PAL16RP8

20-Pin-XOR-PAL

PAL16X4, PAL16X6, PAL16X8

24-Pin-kombinatorische PAL

PAL18H4, PAL18L4, PAL18P4

PAL20C1

PAL20H2, PAL20L2, PAL20P2

PAL20L8, PAL20S10

PAL22V10

24-Pin-registrierte PAL

PAL20R4, PAL20R6, PAL20R8

24-Pin-XOR-PAL

PAL20X4, PAL20X6, PAL20X8

Breitbus-PAL

PAL32R16, PAL32X16

2. PALC-UV-löschbare CMOS-PAL-Serie

20-Pin-PALC-Bauelemente

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

24-Pin-PALC-Bauelemente

PALC18H4, PALC18L4

PALC20C1

PALC20H2, PALC20L2, PALC20P2

PALC20R4, PALC20R6, PALC20R8

PALC20X4, PALC20X6, PALC20X8

PALC20S10

PALC22V10

3. GAL E²CMOS elektrisch reprogrammierbare SPLD-Serie

GAL16V8

GAL16V8, GAL16V8A, GAL16V8B, GAL16V8D

GAL20V8

GAL20V8, GAL20V8A, GAL20V8B

GAL22V10

GAL22V10, GAL22V10B

Spezielle GAL-Modelle

GAL18V10, GAL20RA10, GAL26CV12

1. PEEL-Klein-SPLD-Serie (20/24-Pin, GAL/PALCE-Ersatz)

1.1 PEEL18CV8-Familie (20-Pin, 8 Makrozellen, ersetzt ATF16V8 / GAL16V8)

PEEL18CV8

PEEL18CV8Z (Ultra-Niedrigenergie-Standby-Variante)

PEEL18LV8 (3,3-V-Niederspannungskern)

PEEL18LV8Z (3,3-V-Ultra-Niedrigenergie)

1.2 PEEL20CG10-Familie (24-Pin, 8 Makrozellen, ersetzt GAL20V8 / ATF20V8)

PEEL20CG10

PEEL20CG10A (verbesserte Geschwindigkeitsvariante)

1.3 PEEL22CV10 Flaggschiff-24-Pin-SPLD (10 variable Produktterm-Makrozellen, ersetzt GAL22V10 / ATF22V10)

PEEL22CV10

PEEL22CV10A (Standard-Kommerziell)

PEEL22CV10AZ (Null-Strom, niedriger Standby-Strom)

PEEL22LV10 (3,3-V-Niederspannung)

PEEL22LV10AZ (3,3-V-Ultra-Niedrigenergie)

2. PEEL-Array-Hochdichte-CPLD-Serie (Multi-Makrozellen-ISP-komplexe PLDs)

2.1 PEEL153 (Niedrigdichte-CPLD, kompatibel mit PLS153)

PEEL153

2.2 PEEL173 (Mitteldichte-CPLD, kompatibel mit PLS173 / PAL20L10)

PEEL173

2.3 PEEL253 (Mittel-hohe Dichte)

PEEL253

2.4 PEEL273 (Hochdichte-Basis-Array)

PEEL273

AMD Mikrocontroller auslesen

AMD Integrierte Schaltung (IC) Kopie

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

Cypress Quellcode-Wiederherstellung

Cypress Integrierte Schaltung (IC) Crack

Cypress Semiconductor stellte zwei Hauptkategorien programmierbarer Logikbauelemente her: Legacy-Klein-SPLDs einschließlich UV-löschbarer PALC, elektrisch reprogrammierbarer PALCE und nachgebauter Sicherungs-OTP-PALs; sowie hochdichte JTAG-In-System-programmierbare Flash-CPLD-Familien (FLASH370i, Ultra37000, MAX340, Quantum38K, Delta39K). Dieses Dokument listet alle standardmäßigen Serien-PLD-Basismodelle auf, ohne PSoC-Mixed-Signal-Embedded-Logik und kundenspezifische Masken-ICs.

1. Legacy-SPLD-Serie

1.1 PALC-UV-löschbare CMOS-PAL-Bauelemente

20-Pin-PALC

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

24-Pin-PALC

PALC18H4, PALC18L4

PALC20C1

PALC20H2, PALC20L2, PALC20P2

PALC20R4, PALC20R6, PALC20R8

PALC20X4, PALC20X6, PALC20X8

PALC20S10

PALC22V10

1.2 PALCE elektrisch löschbare SPLDs

PALCE16V8, PALCE20V8, PALCE22V10, PALCE24V10, PALCE29M16

1.3 Sicherungsbasierte OTP-TTL-PAL-Zweithersteller-Modelle

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. Flash-ISP-CPLD-Familien

FLASH370i-Generation

CY7C371i, CY7C372i, CY7C373i, CY7C374i, CY7C375i

Ultra37000-Mainstream-CPLDs

CY37032, CY37032V

CY37064, CY37064V

CY37128, CY37128V

CY37192, CY37192V

CY37256, CY37256V

CY37384, CY37384V

CY37512, CY37512V

MAX340-Kostengünstige-CPLDs

CY34032, CY34064, CY34128

Quantum38K-Hochgeschwindigkeits-CPLDs

CY38K032, CY38K064, CY38K128, CY38K256

Delta39K-Großserien-Industrie-CPLDs

CY39K064, CY39K128, CY39K256, CY39K512, CY39K1000

STM Flash-Speicher entschlüsseln

STM Integrierte Schaltung (IC) Firmware-Angriff

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

Allgemeine Fragen zur Mikrocontroller-Firmware-Extraktion


  • Ist es sicher, eine Zahlung an MikaTech zu senden?

    Wenn MikaTech ein schlechtes Unternehmen wäre, könnten Sie im Internet über die 28-jährige Geschichte hinweg jede Menge schlechter Bewertungen über den Service finden.

    Die Antwort lautet also: JA! Wir sind gute Leute.

    Warum Mikatech wählen? Hier klicken, um mehr zu erfahren


  • Kann Mikatech auch ICs knacken, die nicht auf dieser Website gelistet sind?

    Verschiedene Chiphersteller verwenden unterschiedliche Teilenummern, aber der innere Kern des Chips kann mit derselben Technologie hergestellt werden. Es wäre unmöglich, alle Teilenummern aufzulisten, bei denen unsere Technologie anwendbar ist, z. B. MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    Durch den Fortschritt der Technologie sammeln wir täglich mehr Erfahrung und entwickeln neue Methoden für das Reverse Engineering verschiedener integrierter Schaltkreise. Die vollständige Liste der Teilenummern, die in unseren Leistungsumfang fallen, wird immer größer. Bitte kontaktieren Sie uns, um dies zu klären.

  • Wird meine Privatsphäre geschützt?

    Mikatech Innovative Limited versteht die Bedeutung der Privatsphäre seiner Kunden. In dem Moment, in dem Sie Mikatech kontaktieren, werden Ihre persönlichen Daten gemäß unseren Verwaltungsrichtlinien geschützt, die wir im Laufe der Jahre entwickelt haben. Mikatech verwendet diese Informationen, um seinen Service für Sie zu personalisieren, und gibt sie niemals an Dritte weiter, aus welchem Grund auch immer.
    Bei jedem Projekt löschen wir alle Daten, Materialien und Codes 60 Tage nach der Lieferung der Dateien. Dies schützt uns und Ihre Privatsphäre.

  • Ist es legal, den Service von Mikatech in Anspruch zu nehmen?

    Ja, es ist völlig legal.
    Mikatech erbringt seine Reverse-Engineering-Dienste nur zu Bildungszwecken. Es kann illegal sein, die oben genannten Dienste in einigen Ländern oder Regionen zu nutzen. Bitte überprüfen Sie Ihre lokalen Gesetze. Mikatech übernimmt keine Verantwortung im Zusammenhang mit der Nutzung der oben genannten Dienste, die als illegal angesehen werden könnte.


  • Code-Verschleierung und ihre Auswirkung auf das MCU-Reverse-Engineering

    Code-Verschleierung wandelt die Firmware in eine schwer verständliche Form um. Der MCU-Lockbit-Lock selbst wird nicht direkt verschleiert, aber die Firmware, die mit dem Lock interagiert, kann verschleiert werden. Dies erschwert das Reverse Engineering des Mikrocontrollers. Der Angreifer, der erfolgreich Flash und EEPROM ausliest, erhält verschleierten Code. Das Auslesen eines EEPROM-Prozessors liefert dieselben verschleierten Daten. Dekapsulation und Code-Wiederherstellung vereinfachen den Code nicht. Der Angreifer muss ihn deobfuskieren. Das Kopieren von Inhalten des kryptografischen Speichers des Codes ist möglich, aber die Daten sind ohne Deobfuskierung bedeutungslos. Die Firmware-Extraktion ist der erste Schritt. Der nächste Schritt ist die Analyse des verschleierten Binärcodes. Verschleierungstechniken umfassen Befehlssubstitution, Kontrollfluss-Verebnung (Control Flow Flattening) und undurchsichtige Prädikate. Diese erhöhen die Komplexität der statischen Analyse. Der MCU-Lockbit-Lock selbst kann verschleiert sein, um seine Funktionsweise zu verbergen. Beispielsweise könnte der Lock-Status durch eine Reihe indirekter Sprünge überprüft werden. Der Angreifer kann die Lock-Logik nicht leicht bestimmen. Auch die dynamische Analyse wird behindert. Der verschleierte Code kann Anti-Debugging-Tricks enthalten. Er kann Haltepunkte erkennen und das Verhalten ändern. Das Auslesen eines EEPROM-Prozessors des Codes offenbart diese Tricks nicht. Der Angreifer muss den Code ausführen, um sie zu beobachten. Aber der MCU-Lockbit-Lock kann die Ausführung verhindern, wenn der Code manipuliert wurde. Die Verschleierung ergänzt also den Lock. Allerdings ist die Verschleierung keine Sicherheitsgarantie. Starke Angreifer können symbolische Ausführung verwenden, um die Verschleierung zu brechen. Aber sie erhöht die Kosten. Der MCU-Lockbit-Lock ist eine Hardware-Barriere. Die Verschleierung ist eine Software-Barriere. Zusammen bilden sie eine Verteidigung in der Tiefe. Der Angreifer muss zuerst den Lock umgehen, um den Code zu erhalten. Dann muss er den Code deobfuskieren. Diese doppelte Hürde ist wirksam. Viele MCU-Hersteller bieten Verschleierungstools an. Sie sind in die Entwicklungsumgebung integriert. Der Lockbit-Lock stellt sicher, dass der verschleierte Code nicht ohne Autorisierung ausgelesen werden kann. Aber wenn der Lock gebrochen ist, schützt die Verschleierung immer noch das geistige Eigentum. Sie ist also eine wertvolle Ergänzung. Zusammenfassend erschwert Code-Verschleierung das Reverse Engineering von Mikrocontrollern und die Firmware-Extraktion. Sie verhindert nicht das Auslesen eines EEPROM-Prozessors oder das Dumping von Flash und EEPROM, aber sie macht die extrahierten Daten weniger nutzbar. Der MCU-Lockbit-Lock ist die erste Verteidigung; die Verschleierung ist die zweite.

    Mikrocontroller-Hack-Zeit

    Jahre

    28 +
    Mikrocontroller-Hack-Länder

    Länder

    110 +
    Mikrocontroller-Angriff-Kunden

    Kunden

    5000 +
    Mikrocontroller-Projekte entsperrt

    Projekte

    60000 +