MCU Reverse Engineering

Mikrocontroller-Entsperrung - MikaTech

Unsere Werte und Ziele

Über MikaTech

Die Zeit verging schnell, von dem Tag, an dem wir 1998 unser erstes 8051-MCU-Reverse-Engineering-Projekt durchführten, bis zu dem Tag, an dem wir 2012 unser millionenschweres Reverse-Engineering-Labor einrichteten, vergingen 14 Jahre. Jetzt starten wir unser neues Geschäft mit der Entwicklung eingebetteter visueller Systeme und hoffen, weitere 10 Jahre dienen zu können.

Unterschrift Peter Lee Mitgründer & CEO

Architektur und Programmierung von 8051-MCUs für Reverse Engineering 4

Kapitel 7 : Entwicklungssysteme

7.1 Am Ende – von Anfang an...

Was ist immer das Schwierigste? Sie haben den Mikrocontroller gekauft, Sie haben alles über seine Schaltungen und Register gelernt, Sie haben eine großartige Idee, wie Sie all Ihr Wissen in die Praxis umsetzen können. Aber das Schwierigste ist, anzufangen...

Der Einstieg mit einem **Mikrocontroller** (MCU) wirkt oft überwältigend, aber der Weg von einem leeren Chip zu einem funktionierenden Gerät ist unglaublich lohnend. Noch bevor Sie Ihre erste Zeile **Code** schreiben, ist es ratsam zu überlegen, wie Sie diesen **Code** nach der Bereitstellung schützen. Viele Entwickler übersehen die **Lockbit**-Funktion, bis es zu spät ist, und lassen ihre **Firmware** für unbefugtes **Auslesen** offen. In kommerziellen Produkten ist der **Sperr**mechanismus die erste Barriere gegen **Reverse-Engineering**-Versuche, die darauf abzielen, den **Flash-Speicher** auszulesen und das gesamte System zu **duplizieren**. Selbst während der Entwicklung müssen Sie möglicherweise eine **Wiederherstellung** einer früheren Version von einem gesperrten Chip durchführen, wenn Sie die Quelldateien verlieren. Das **EEPROM** auf dem AT89S8253 enthält beispielsweise Kalibrierungsdaten, die für eine **Firmware-Extraktion** in einer forensischen Analyse entscheidend sein können. Manche Angreifer nutzen die **Dekapsulation**, um das Silizium freizulegen und direkt die **Sicherungen** zu untersuchen, die den **Entsperrzustand** steuern. Aus diesem Grund geht es beim Verständnis der Programmier- und Debugging-Tools nicht nur um Bequemlichkeit – es geht um Sicherheitsbewusstsein. Der **Dump** einer kompilierten **Hex**-Datei ist das Endergebnis, aber der Erstellungsprozess umfasst viele Schritte, bei denen Fehler auftreten können. Ein gutes Entwicklungssystem hilft Ihnen, jeden E/A-Pin, Timer und Interrupt zu testen, was indirekt Ihre Verteidigung gegen Seitenkanalangriffe stärkt. Das **Lockbit** sollte ganz am Ende des Programmierzyklus gesetzt werden, um jedes externe **Auslesen** zu verhindern. Wenn Sie jedoch versehentlich den Chip **sperren**, ohne Ihren **Code** zu verifizieren, benötigen Sie möglicherweise spezielle Ausrüstung, um ihn wieder zu **entsperren**. Deshalb sind die Beispiele in den vorherigen Kapiteln so wichtig – sie vermitteln Ihnen die Grundlagen, die später die Bausteine sicherer Systeme bilden. Bewahren Sie immer ein Backup Ihrer **Firmware** und der **EEPROM**-Inhalte auf Ihrem PC auf, damit eine **Wiederherstellung** ohne physische Sondierung möglich ist. Mit diesen Gedanken im Hinterkopf wollen wir uns nun die praktischen Schritte ansehen, um Ihr erstes Programm zum Laufen zu bringen.

Wie fange ich an?

Ein Mikrocontroller ist ein gutmütiger "Flaschengeist", und es ist kein zusätzliches Wissen erforderlich, um ihn zu nutzen.

Um ein Gerät zu erstellen, das vom Mikrocontroller gesteuert wird, benötigen Sie einen einfachen PC, ein Programm zum Kompilieren und ein einfaches Gerät zum Übertragen des Codes vom PC auf den Chip selbst.

Auch wenn der gesamte Prozess recht logisch ist, gibt es oft einige Fragen, nicht weil er kompliziert ist, sondern aufgrund der zahlreichen Varianten. Schauen wir uns das an.

Programm in Assemblersprache schreiben

Um ein Programm für den Mikrocontroller zu schreiben, kann ein spezielles Programm in der Windows-Umgebung verwendet werden. Es kann, muss aber nicht... Bei Verwendung einer solchen Software gibt es zahlreiche Werkzeuge, die die Arbeit erleichtern (Simulator-Tool steht an erster Stelle), was ein offensichtlicher Vorteil ist. Aber es gibt auch andere Wege, ein Programm zu schreiben. Grundsätzlich kommt es nur auf den Text an. Jedes Textverarbeitungsprogramm kann für diesen Zweck verwendet werden. Es geht darum, alle Anweisungen in der Reihenfolge zu schreiben, in der sie vom Mikrocontroller ausgeführt werden sollen, die Regeln der Assemblersprache zu beachten und die Anweisungen genau so zu schreiben, wie sie definiert sind. Mit anderen Worten: Sie müssen nur der Programmieridee folgen. Das ist alles!

;RESET    VECTOR
          CSEG    AT      0
          JMP     XRESET           ; Reset-Vektor
 
          CSEG
          ORG     100H
 
XRESET:   ORL     WMCON,#PERIOD    ; Watchdog-Periode definieren
          ORL     WMCON,#WDTEN     ; Watchdog-Timer aktiviert
 
               

Damit der Compiler erfolgreich arbeiten kann, muss das Dokument, das dieses Programm enthält, die Erweiterung .asm im Namen haben, zum Beispiel: Programm.asm.

Bei Verwendung eines speziellen Programms (mplab) wird diese Erweiterung automatisch hinzugefügt. Wenn ein anderes Textverarbeitungsprogramm (Notepad) verwendet wird, sollte das Dokument gespeichert und umbenannt werden. Beispiel: Programm.txt -> Programm.asm. Diese Vorgehensweise ist nicht zwingend erforderlich. Das Dokument kann im Originalformat gespeichert werden, während sein Text zur weiteren Verwendung in den Programmer kopiert werden kann.

Ein Programm kompilieren

Der Mikrocontroller "versteht" Assemblersprache als solche nicht. Deshalb ist es notwendig, das Programm in Maschinensprache zu kompilieren. Das ist mehr als einfach, wenn ein spezielles Programm (mplab) verwendet wird, da ein Compiler Teil der Software ist. Ein einziger Klick auf das entsprechende Symbol löst das Problem, und ein neues Dokument mit der Erweiterung .hex erscheint. Es ist tatsächlich dasselbe Programm, nur kompiliert in Maschinensprache, die der Mikrocontroller perfekt versteht. Ein solches Dokument wird allgemein als "Hex-Code" bezeichnet und stellt scheinbar eine bedeutungslose Zahlenfolge im hexadezimalen Zahlensystem dar.

:03000000020100FA1001000075813F
7590FFB29012010D80F97A1479D40
90110003278589EAF3698E8EB25B
A585FEA2569AD96E6D8FED9FAD
AF6DD00000001FF255AFED589EA
F3698E8EB25BA585FEA2569AD96
DAC59700D00000278E6D8FED9FA
DAF6DD00000001FF255AFED8FED
9FADAF6DD000F7590FFB29013278
E6D8FED9FADAF6DD00000001FF2
55AFED589EAF3698E8EB25BA585
FEA2569AD96DAC59D9FADAF6D
D00000001FF255AFED8FED9FADA
F6DD000F7590FFB29013278E6D82
78E6D8FED9FA589EAF3698E8EB2
5BA585FEA2569AD96DAF6DD000
00001FF2DAF6DD00000001FF255A
ADAF6DD00000001FF255AFED8FE
D9FA

Falls andere Software zum Schreiben von Programmen in Assemblersprache verwendet wird, muss eine spezielle Software zum Kompilieren des Programms installiert werden und wie folgt verwendet werden – Compiler einrichten, das Dokument mit der Erweiterung .asm öffnen und kompilieren. Das Ergebnis ist dasselbe – ein neues Dokument mit der Erweiterung .hex. Das einzige Problem ist nun, dass es auf Ihrem PC gespeichert ist.

Programmieren eines Mikrocontrollers

Um einen "Hex-Code" auf den Mikrocontroller zu übertragen, benötigen Sie ein Kabel für die serielle Kommunikation und ein spezielles Gerät, den sogenannten Programmer, mit Software. Es gibt mehrere Möglichkeiten, dies zu tun.

Eine große Anzahl von Programmen und elektronischen Schaltungen für diesen Zweck finden Sie im Internet. Gehen Sie wie folgt vor: Öffnen Sie das Hex-Code-Dokument, stellen Sie einige Parameter ein und klicken Sie auf das Symbol zum Kompilieren. Nach einer Weile wird über das serielle Verbindungskabel und die Programmer-Hardware eine Folge von Nullen und Einsen in den Mikrocontroller programmiert. Übrig bleibt, den programmierten Chip in das Zielgerät einzusetzen. Falls es notwendig ist, einige Änderungen am Programm vorzunehmen, kann der vorherige Vorgang beliebig oft wiederholt werden.

Programm auf einen Mikrocontroller kopieren

Das Ende oder...?

Dieser Abschnitt beschreibt kurz die Verwendung von MPLAB und der Programmer-Software, die von Mikroelektronika entwickelt wurde. Alles ist sehr einfach...

Mikroelektronika Asm51 Konsole

Starten Sie das Programm Mikroelektronika Asm51 Console. Das Fenster erscheint...

...Öffnen Sie ein neues Dokument: Datei -> Neu. Schreiben Sie Ihr Programm oder kopieren Sie Text...

... Speichern und benennen Sie Ihr Dokument: Datei -> Speichern unter... (Der Dokumentenname ist auf 8 Zeichen beschränkt!)

Um das Programm schließlich in HEX-Code zu kompilieren, wählen Sie: Projekt -> Build oder klicken Sie auf das 'Play'-Symbol.

Wenn alles richtig funktioniert, antwortet der Computer mit einem kurzen Bericht.

Der Computer belohnt Sie mit einem Minibericht

Das Programm ist geschrieben und erfolgreich kompiliert. Es bleibt nur noch, das Programm auf den Mikrocontroller zu übertragen. Dazu benötigen Sie eine Software, die das geschriebene und kompilierte Programm übernimmt und an den Mikrocontroller weitergibt.

Starten Sie das Programm 8051 Flash_setup.exe...

8051 Flash Setup-Installation

Die Programminstallation erfolgt wie gewohnt – klicken Sie einfach auf Weiter, Akzeptieren, Weiter...

...und schließlich – Fertig!

Das Programm ist installiert und einsatzbereit. Die Einstellungen sind einfach vorzunehmen, sodass keine zusätzlichen Erklärungen erforderlich sind (Typ des Mikrocontrollers, Frequenz und Taktoszillator usw.).

  • Verbinden Sie den PC und den Programmer über ein USB-Kabel;
  • Laden Sie den HEX-Code mit dem Befehl: Datei -> HEX laden; und
  • Klicken Sie auf die Schaltfläche 'Write' und warten Sie...
USB 2.0 Programmer Software

Das ist alles! Der Mikrocontroller ist programmiert und alles ist für den Betrieb bereit. Wenn Sie nicht zufrieden sind, nehmen Sie einige Änderungen im Programm vor und wiederholen Sie den Vorgang. Bis wann? Bis Sie zufrieden sind...

Entwicklungssysteme

Easy8051A Entwicklungssystem

Ein Gerät, das in der Testphase des Programms jede Umgebung simulieren kann, wird als Entwicklungssystem bezeichnet. Neben dem Programmer, der Stromversorgung und dem Sockel für den Mikrocontroller enthält das Entwicklungssystem Elemente zur Aktivierung der Eingangspins und zur Überwachung der Ausgangspins. Die einfachste Version hat jeden Pin mit einem Taster und einer LED verbunden. Eine hochwertige Version verfügt über LED-Anzeigen, LCD-Displays, Temperatursensoren und alle anderen Elemente, die mit dem Zielgerät geliefert werden können. Diese Peripheriegeräte können über Miniatur-Jumper mit dem MCU verbunden werden. Auf diese Weise kann das gesamte Programm während seiner Entwicklung in der Praxis getestet werden, da der Mikrocontroller nicht weiß oder sich darum kümmert, ob sein Eingang durch einen Taster oder einen in einem realen Gerät eingebauten Sensor aktiviert wird.

Easy8051A Entwicklungssystem Übersicht

7.2 Easy8051A Entwicklungssystem

Das Easy8051A Entwicklungssystem ist ein hochwertiges Entwicklungssystem für die Programmierung von 8051-kompatiblen Mikrocontrollern von Atmel. Zusätzlich zur Chip-Programmierung ermöglicht dieses System das Testen aller Programmteile, da es die meisten Komponenten enthält, die normalerweise in realen Geräten verbaut sind.

Das Easy8051A Entwicklungssystem besteht aus:

  • Sockeln für Mikrocontroller (14, 16, 20 und 40-Pin-Gehäuse)
  • Anschluss für externe Stromversorgung (DC 12V)
  • USB-Programmer
  • Stromversorgungswähler (extern oder über USB-Kabel)
  • 8-MHz-Quarzkristalloszillator
  • 32 LEDs zur Anzeige des Ausgangspin-Zustands
  • 32 Taster zur Aktivierung der Eingangspins
  • Vier 7-Segment-LED-Anzeigen im Multiplex-Modus
  • Grafisches LCD-Display
  • Alphanumerisches LCD-Display (4- oder 8-Bit-Modus)
  • Anschluss und Treiber für serielle RS232-Kommunikation
  • Digitales Thermometer DS1820
  • 12-Bit-A/D-Wandler (MCP3204)
  • 12-Bit-D/A-Wandler (MCP4921)
  • Referenzspannungsquelle 4,096 V (MCP1541)
  • Mehrpolige Anschlüsse für direkten Zugriff auf die E/A-Ports

Der folgende Text beschreibt kurz einige Schaltungen innerhalb dieses Entwicklungssystems. Es dient eher zur Veranschaulichung seiner Funktionen als vollständiges Handbuch. Außerdem wird beim Kennenlernen dieses Geräts deutlich, dass Mikrocontroller und ihre Werkzeuge für jeden bestimmt sind, nicht nur für die Privilegierten.

Sockel

Easy8051A MCU-Sockel

Alle von Atmel hergestellten Mikrocontroller sind in einigen wenigen Standard-DIP-Gehäusen erhältlich. Um ihre Programmierung mit einem einzigen Gerät zu ermöglichen, werden die entsprechenden Pins (mit gleichem Namen) auf den Sockeln parallel geschaltet. Dadurch wird jeder Mikrocontroller automatisch richtig verbunden, wenn er in den passenden Sockel eingesetzt wird. Die rechte Abbildung zeigt einen Mikrocontroller im 40-Pin-Gehäuse und die Verbindung eines seiner E/A-Pins (P1.5). Wie zu sehen, kann der Pin über Steckverbinder mit einem externen Gerät (Stecker PORT1), einer LED (Mikroschalter SW2), einem Taster oder einem Widerstand verbunden werden. In den letzten beiden Fällen wird die Polarität der Spannung über Jumper auf der Platine ausgewählt.

Easy8051A MCU-Sockel Schematische Übersicht

Programmer

Easy8051A Programmer

Der Zweck des Programmers besteht darin, den HEX-Code vom PC auf die entsprechenden Pins zu übertragen und während der Chip-Programmierung für reguläre Spannungspegel zu sorgen. Bei diesem Entwicklungssystem ist der Programmer integriert und sollte über ein USB-Kabel mit dem PC verbunden werden. Nach Abschluss des Programmierprozesses sind die dafür verwendeten Pins automatisch für andere Anwendungen verfügbar.

Easy8051A Programmer Schematische Übersicht

Stromversorgung des Entwicklungssystems

Easy8051A Stromversorgung

Auf der Entwicklungsplatine befindet sich ein Anschluss für eine externe Stromversorgung (AC/DC, 8-16V). Darüber hinaus kann die für den Gerätebetrieb notwendige Spannung auch über das USB-Kabel vom PC bezogen werden. Jumper J5 dient zur Auswahl der Stromversorgung.

Easy8051A Stromversorgung Schematische Übersicht

8-MHz-Oszillator

Easy8051A 8-MHz-Oszillator

Das EASY8051A Entwicklungssystem verfügt über einen eingebauten Oszillator, der als Taktsignalgenerator dient. Die Frequenz dieses Oszillators wird durch einen 8-MHz-Quarzkristall stabilisiert. Darüber hinaus ist es auch möglich, bei der Chip-Programmierung den internen RC-Oszillator zu wählen.

Easy8051A 8-MHz-Oszillator Schematische Übersicht

LEDs zur Anzeige des Ausgangspin-Zustands

Easy8051A LEDs

Jeder E/A-Port-Pin ist mit einer LED verbunden, die eine visuelle Anzeige seines logischen Zustands ermöglicht. Falls das Vorhandensein von direkt gepolten LEDs und Serienwiderständen in einigen Anwendungen nicht akzeptabel ist, ermöglicht der DIP-Schalter SW2, sie vom Port zu trennen.

Easy8051A LED Schematische Übersicht

Taster zur Aktivierung der Eingangspins

Easy8051A Taster

Ähnlich wie bei den LEDs ist jeder E/A-Port-Pin mit einem Taster auf der Entwicklungsplatine verbunden. Dies ermöglicht eine einfache Aktivierung der Eingangspins. Jumper J6 dient zur Auswahl der Spannungspolarität (+ oder -), die durch Drücken des entsprechenden Tasters an die Pins gelegt wird.

Easy8051A Taster Schematische Übersicht

7-Segment-LED-Anzeigen

Easy8051A 7-Segment-LED-Anzeigen

Vier hochwertige LED-Anzeigen im Multiplex-Modus, die in der Industrie häufig eingesetzt werden, gehören zum Entwicklungssystem. Die Anzeigesegmente sind über Widerstände mit dem Port P0 verbunden. Die zur Aktivierung der einzelnen Ziffern verwendeten Transistortreiber sind mit den ersten vier Pins des Ports P1 verbunden. Dies ermöglicht das Testen von Programmen, die 7-Segment-Anzeigen verwenden, bei minimalem Einsatz von E/A-Ports. Ähnlich wie bei den LEDs ermöglicht der DIP-Schalter SW2, die Transistortreiber von den Mikrocontroller-Pins zu trennen.

Easy8051A 7-Segment-LED-Anzeigen Schematische Übersicht

LCD-Anzeigen

Easy8051A GLCD-Anzeigen Easy8051A LCD-Anzeigen

Das EASY8051A Entwicklungssystem bietet Anschlussmöglichkeiten für grafikfähige oder alphanumerische LCD-Anzeigen. Beide Anzeigetypen werden durch Einsetzen in den entsprechenden Steckverbinder und Umschalten der Jumper-Position J8 angeschlossen. Wenn die Anzeigen nicht verwendet werden, stehen alle für ihren Betrieb verwendeten Pins für andere Anwendungen zur Verfügung. Neben den Steckverbindern befindet sich auf der Platine auch ein Potentiometer zur Kontrastregelung.

Easy8051A GLCD/LCD-Anzeigen Schematische Übersicht

Serielle Kommunikation über RS232

Easy8051A Serielle Kommunikation

Um Programme zu testen, die serielle Kommunikation verwenden, verfügt das Entwicklungssystem über einen standardmäßigen 9-poligen SUB-D-Steckverbinder. Der MAX232 wird als Spannungsregler verwendet.

Ähnlich wie bei anderen eingebauten Schaltungen kann die die serielle Kommunikation unterstützende Elektronik über die Jumper J9 und J10 aktiviert oder deaktiviert werden.

Easy8051A Serielle Kommunikation Schematische Übersicht

DS1820 Digitales Thermometer

Easy8051A DS1820 Digitales Thermometer

Die Temperaturmessung ist eine der häufigsten Aufgaben von Geräten, die in der Industrie eingesetzt werden. Aus diesem Grund befindet sich auf dem EASY8051A Entwicklungssystem ein DS1820-Schaltkreis, der die Temperatur im Bereich von -55 bis +125 °C mit einer Genauigkeit von besser als 0,50 °C misst. Die Messergebnisse werden über serielle Kommunikation an die Pins P3.3 oder P2.7 übertragen. Jumper J7 dient zur Auswahl der Pins für den Datenempfang. Falls kein Jumper installiert ist, stehen die Port-Pins für andere Anwendungen zur Verfügung.

Easy8051A DS1820 Digitales Thermometer Schematische Übersicht

12-Bit-A/D-Wandler MCP3204

Easy8051A 12-Bit-A/D-Wandler MCP3204

Ein eingebauter 12-Bit-AD-Wandler MCP3204 verfügt über vier Eingangskanäle, die mit Steckverbindern auf der Platine verbunden sind. Der Datenaustausch mit dem Mikrocontroller erfolgt über das SPI-serielles Kommunikationssystem unter Verwendung der Pins P1.5, P1.6, P1.7 und P3.5. Wenn der A/D-Wandler nicht verwendet wird, können diese Pins für andere Anwendungen genutzt werden (DIP-Schalter SW1). Zur Funktionsprüfung befindet sich auf der Entwicklungsplatine ein Potentiometer, das als variable Spannungsquelle dient. Es kann über einen der vier Jumper J12 an die Eingangspins des Wandlers geführt werden. Als besondere Annehmlichkeit ist eine Referenzspannungsquelle MCP1541 (4,096 V) eingebaut. Jumper J11 dient zur Auswahl, ob der Wandler diese Spannung oder 5 V verwendet.

Easy8051A 12-Bit-A/D-Wandler MCP3204 Schematische Übersicht

12-Bit-D/A-Wandler MCP4921

Easy8051A 12-Bit-D/A-Wandler MCP4921

Die Digital-Analog-Wandlung (D/A) ist eine weitere Operation, die der Mikrocontroller in der Praxis häufig durchführt. Aus diesem Grund befindet sich ein spezieller Chip auf der Platine, der über das SPI-Kommunikationssystem Daten mit dem Mikrocontroller austauscht. Er kann auch eine analoge Spannung mit 12-Bit-Auflösung an seinem Ausgangspin erzeugen. Wenn er nicht verwendet wird, sind alle Mikrocontroller-Pins über den DIP-Schalter SW1 für andere Anwendungen verfügbar. Ähnlich wie beim A/D-Wandler dient Jumper J11 zur Auswahl der Referenzspannung.

Easy8051A 12-Bit-D/A-Wandler MCP4921 Schematische Übersicht

Steckverbinder für direkten Zugriff auf die E/A-Ports

Easy8051A Direkter Zugriff auf E/A-Ports

Um einen direkten Anschluss der Mikrocontroller-Ports an zusätzliche Komponenten zu ermöglichen, ist jeder von ihnen mit einem Steckverbinder auf der Platine verbunden. Außerdem sind zwei Pins jedes Steckverbinders mit der Versorgungsspannung verbunden, während jeder Pin über Widerstände mit + oder - Polarität der Spannung verbunden werden kann (Pull-up- oder Pull-down-Widerstände). Vorhandensein und Verbindung dieser Widerstände werden durch Jumper bestimmt. Jumper J3, der den Port P3 steuert, ist in der rechten Abbildung dargestellt.

Easy8051A Direkter Zugriff Schematische Übersicht

In diesem Kapitel haben wir gesehen, dass ein Entwicklungssystem nicht nur ein Programmer ist – es ist ein vollständiges Labor für Ihre **Mikrocontroller**-Projekte. Die Möglichkeit, jeden Pin, jede Anzeige und jedes Peripheriegerät zu testen, bevor Sie sich auf eine endgültige Leiterplatte festlegen, spart unzählige Stunden Debugging. Doch selbst mit den besten Werkzeugen hängt die Sicherheit Ihres Endprodukts davon ab, wie Sie das **Lockbit** und die **Sicherungen** während des Programmierschritts behandeln. Viele Ingenieure vergessen, die **Sperre** nach dem endgültigen **Dump** der **Hex**-Datei zu setzen, wodurch der **Flash**-Speicher für ein einfaches **Auslesen** über den Programmer offen bleibt. Ein entschlossener Gegner könnte dann den gesamten **Code** **auslesen** und Ihr Gerät **duplizieren**, was all Ihre harte Arbeit zunichte macht. Das **EEPROM** auf dem AT89S8253 ist besonders gefährdet, da es mit demselben Programmer gelesen werden kann, wenn die **Sperre** nicht aktiviert ist. Aus diesem Grund gibt Ihnen die Easy8051A, wie viele Entwicklungsplatinen, die volle Kontrolle über die Programmierspannung und die Sicherheitseinstellungen. Überprüfen Sie immer doppelt, ob Sie das **Lockbit** und, falls verfügbar, die **dreistufige Speichersperre** aktiviert haben, um die **Firmware-Extraktion** über die SPI-Schnittstelle zu verhindern. Falls Sie eine **Wiederherstellung** eines gesperrten Chips durchführen müssen, ermöglichen einige fortschrittliche Werkzeuge die **Dekapsulation** und Mikrosondierung, aber diese sind teuer und zerstörerisch. Daher ist es weitaus besser, ein sicheres Backup Ihres **Codes** und der Konfigurationsdaten auf Ihrem PC aufzubewahren. Der **Entsperrvorgang** ist selten erforderlich, wenn Sie einen disziplinierten Entwicklungszyklus einhalten. Wenn Sie jedoch die **Reverse-Engineering**-Techniken verstehen, die Angreifer verwenden, werden Sie ein sicherheitsbewussterer Entwickler. Beispielsweise sind die LED- und Taster-Arrays auf der Easy8051A hervorragend für Funktionstests geeignet, aber sie erinnern uns auch daran, dass jeder E/A-Pin ein potenzieller Einstiegspunkt für Glitching-Angriffe ist. Indem Sie reale Bedingungen auf der Entwicklungsplatine simulieren, können Sie testen, wie sich Ihre **Firmware** unter Belastung verhält und ob die **Sperr**mechanismen standhalten. Letztendlich ist der Weg von einem leeren Chip zu einem sicheren, fertigen Produkt ein kontinuierlicher Lernprozess – und die Easy8051A ist ein ausgezeichneter Begleiter auf diesem Weg.

   
  • W77Exx-Serie IC-Code-Extraktion: W77E51 W77E52 W77E54 W77E58 W77E058A W77E516 W77E516A W77E532 W77E532A W77E058 W77E58A W77I058A 77L058 W77L516A W77LE58 W77IE58 W77L058A W77L516A W77L532A W77LE516 W77LE532 ...

    W78Exx-Serie IC-Code-Wiederherstellung: W78E51 W78E51B W78E52 W78E52B W78E54 W78E54B W78E58 W78E58B W78E516 W78E051A W78E62 W78E65 W78E65B W78E516B W78E051B W78E051C W78E052A W78E052B W78E052C W78E054A W78E054B W78E054C W78E058A W78E058B W78E065A W78E365 W78E365A W78E378 W78E378E W78E51 W78E516B W78E51B W78E51C W78E52 W78E52B W78E52C W78E54 W78E54B W78E54C W78E58 W78E58B W78E62 W78E65 W78E858 W78ERD2 W78ERD2A W78E051DDG W78E051DFG W78E051DLG W78E051DPG W78E052DDG W78E052DFG W78E052DLG W78E052DPG W78E054DDG W78E054DFG W78E054DLG W78E054DPG W78E058DDG W78E058DFG W78E058DLG W78E058DPG W78E065 W78E354 W78E374B W78E378P W78E516DDG W78E516DFG W78E516DLG W78E516DPG W78E62B ...

    W78IExx-Serie IC-Code-Extraktion: W78IE52 W78IE54 W78IRD2 W78IRD2A W78I051DDG W78I051DFG W78I051DLG W78I051DPG W78I052 W78I052DDG W78I052DFG W78I052DLG W78I052DPG W78I054 W78I054DDG W78I054DFG W78I054DLG W78I054DPG ...
    W78Lxx-Serie IC-Code-Wiederherstellung: W78L051A W78L051C W78L052A W78L052C W78L054A W78L054C W78L058A W78L365A W78L516A W78L812A W78L051 W78L052 W78L054 W78L058 W78L365 W78L516 W78L812 ...

    W78LExx-Serie IC-Code-Extraktion: W78LE58 W78LE58B W78LE051A W78LE365 W78LE51 W78LE516 W78LE51C W78LE52 W78LE52C W78LE54 W78LE54C W78LE812 ...

    W79Exx-Serie IC-Code-Wiederherstellung: W79E201 W79E201A W79E532 W79E532A W79E533A W79E548 W79E548A W79E549 W79E549A W79E558A W79E559A W79E632 W79E632A W79E633A W79E648 W79E648A W79E649 W79E649A W79E658A W79E659A W79E801 W79E802 W79E803 W79E804 W79E821 W79E822 W79E823 W79E824 W79E825 W79E82J W79E832 W79E833 W79E834 W79E83J W79E2051 W79E216AFG W79E217AFG W79E225A W79E226A W79E227A W79E4051 W79E633 W79E83J W79E801A W79E802A W79E803A W79E804A W79E821A W79E822A W79E822B W79E823A W79E823B W79E824A W79E825A W79E831A W79E832A W79E833A W79E834A ...

    W79Lxx-Serie IC-Code-Extraktion: W79L532 W79L532A W79L548 W79L548A W79L549 W79L549A W79L558A W79L559A W79L632 W79L632A W79L633A W79L648 W79L648A W79L649 W79L649A W79L658A W79L659A W79L633 ...

    W83Lxx-Serie IC-Code-Wiederherstellung: W83L950D W83L950G W83L951D W83L951DG W83L951F W83L951FG W83L951ADG W83L951DF ...

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 tonnenweise schlechte Bewertungen über seinen Service finden

    Die Antwort lautet also JA! Wir sind gute Leute.

    Warum Mikatech wählen, bitte klicken Sie hier, um es herauszufinden


  • Kann Mikatech ICs knacken, die nicht auf dieser Site aufgeführt sind?

    Verschiedene Chip-Hersteller haben unterschiedliche Teilenummern, aber der innere Kern des Chips kann mit derselben Technologie hergestellt werden. Es wäre völlig unmöglich, alle Teilenummern aufzulisten, auf die unsere Technologie anwendbar ist, wie MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    Außerdem gewinnen wir durch den Fortschritt der Technologie täglich mehr Erfahrung und entwickeln neue Methoden für das Reverse Engineering für verschiedene integrierte Schaltungsteile. Die vollständige Liste der Teilenummern integrierter Schaltungen, die in unseren Leistungsbereich fallen, wird ständig größer. Bitte kontaktieren Sie uns, um dies herauszufinden.

  • Wird meine Privatsphäre geschützt?

    Mikatech Innovative Limited versteht die Bedeutung der Privatsphäre seiner Kunden. Sobald Sie Mikatech kontaktieren, werden Ihre persönlichen Informationen durch unsere Geschäftsordnung, die wir im Laufe unserer jahrelangen Praxis entwickelt haben, geschützt. Mikatech verwendet diese Informationen, um seinen Service für Sie zu personalisieren und wird diese Informationen niemals aus irgendeinem Grund an Dritte weitergeben.
    Bei jedem Projekt, das wir durchgeführt haben, löschen wir alle Daten, Materialien und Codes 60 Tage nach der Lieferung der Dateien. Dies schützt uns und schützt Ihre Privatsphäre.

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

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


  • Ich habe Ihnen eine E-Mail geschickt, warum gibt es keine Antwort?

    • A. Unser Mail-Server ist vorübergehend ausgefallen, Ihre Nachricht wurde nicht in unser Postfach zugestellt, obwohl die Meldung "Erfolgreich gesendet" auf dem Bildschirm angezeigt wird. Bitte kontaktieren Sie uns erneut.
    • B. Unsere E-Mail wird von Ihrem Mail-Server als Junk-Mail erkannt, daher wurde unsere Antwort von Ihrem Mail-Server abgelehnt oder in Ihren Junk-Mail-Ordner umgeleitet. Bitte entfernen Sie unser Konto aus der Junk-Mail-Liste oder überprüfen Sie Ihren Junk-Mail-Ordner oder verwenden Sie ein anderes E-Mail-Konto wie Gmail, um uns zu kontaktieren.
    • C. Ihre E-Mail wird von unserem Mail-Server als Junk-Mail erkannt, daher wurde Ihre E-Mail in unseren Junk-Mail-Ordner verschoben. Bitte verwenden Sie ein anderes E-Mail-Konto, um uns erneut zu kontaktieren.

    Mikrocontroller-Hack-Zeit

    Jahre

    28 +
    Mikrocontroller-Hack-Länder

    Länder

    110 +
    Mikrocontroller-Angriffskunden

    Kunden

    5000 +
    Entsperrte Mikrocontroller-Projekte

    Projekte

    60000 +