SPI

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Informations de base

SPI (Serial Peripheral Interface) est un protocole de communication série synchrone utilisé dans les systèmes embarqués pour la communication à courte distance entre les CI (Circuits Intégrés). Le protocole de communication SPI utilise l'architecture maître-esclave qui est orchestrée par le signal d'horloge et de sélection de puce. Une architecture maître-esclave se compose d'un maître (généralement un microprocesseur) qui gère les périphériques externes tels que les EEPROM, les capteurs, les dispositifs de contrôle, etc., qui sont considérés comme des esclaves.

Plusieurs esclaves peuvent être connectés à un maître mais les esclaves ne peuvent pas communiquer entre eux. Les esclaves sont administrés par deux broches, l'horloge et la sélection de puce. Comme le SPI est un protocole de communication synchrone, les broches d'entrée et de sortie suivent les signaux d'horloge. La sélection de puce est utilisée par le maître pour sélectionner un esclave et interagir avec lui. Lorsque la sélection de puce est haute, le périphérique esclave n'est pas sélectionné, tandis que lorsqu'elle est basse, la puce a été sélectionnée et le maître interagirait avec l'esclave.

Les broches MOSI (Master Out, Slave In) et MISO (Master In, Slave Out) sont responsables de l'envoi et de la réception de données. Les données sont envoyées au périphérique esclave via la broche MOSI tandis que la sélection de puce est maintenue basse. Les données d'entrée contiennent des instructions, des adresses mémoire ou des données selon la fiche technique du fournisseur du périphérique esclave. Après une entrée valide, la broche MISO est responsable de la transmission des données au maître. Les données de sortie sont envoyées exactement au cycle d'horloge suivant après la fin de l'entrée. Les broches MISO transmettent des données jusqu'à ce que les données soient entièrement transmises ou que le maître définisse la broche de sélection de puce haute (dans ce cas, l'esclave cesserait de transmettre et le maître n'écouterait plus après ce cycle d'horloge).

Dump Flash

Bus Pirate + flashrom

Notez que même si le PINOUT du Pirate Bus indique des broches pour MOSI et MISO à connecter à SPI, cependant certains SPI peuvent indiquer des broches comme DI et DO. MOSI -> DI, MISO -> DO

Sous Windows ou Linux, vous pouvez utiliser le programme flashrom pour vider le contenu de la mémoire flash en exécutant quelque chose comme :

# In this command we are indicating:
# -VV Verbose
# -c <chip> The chip (if you know it better, if not, don'tindicate it and the program might be able to find it)
# -p <programmer> In this case how to contact th chip via the Bus Pirate
# -r <file> Image to save in the filesystem
flashrom -VV -c "W25Q64.V" -p buspirate_spi:dev=COM3 -r flash_content.img
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

D'autres façons de soutenir HackTricks :

Dernière mise à jour