Reverse Engineering Atmel AVRs

Aus LaborWiki
Wechseln zu: Navigation, Suche

Teaser[Bearbeiten]

Wie findet man heraus, was diese kleinen Prozessoren wirklich tun? Dank der geringen Codegroesse ist es ueberschaubar, diese komplett zu disassemblen.

Abstract[Bearbeiten]

Atmel AVRs sind 8 oder 16 Bit Mikroprozessoren, die recht guenstig sind und daher recht weit verbreitet sind. Es wird anhand eines AT90S8535 demonstriert, wie eine Firmware dieses Geraetes (8KB Flash, 512 Byte EEPROM) disassembliert wurde. Wegen ihrer geringen Speicherkapazitaet werden die oft manuell in Assembler programmiert, und nicht in hoeheren Programmiersprachen. Dabei wurde sowohl ein Schaltbild der Platine angefertigt, um festzustellen, an welchem Output was passiert, als auch die Firmware mit einigen Tools analysiert. Nach einigen Wochen Arbeit waren grosse Teile des Programmcodes verstanden und konnten erfolgreich veraendert werden.