Monter un labo de hardware hacking sans cramer son budget
Le matériel qui mérite vraiment sa place sur un établi de hardware hacking, les pièges pour débutants, et les modes de défaillance que personne ne filme.
Les miniatures mentent sur le hardware hacking. Établi impeccable, oscilloscope quatre voies qui brille, un banc de chip-off qui coûte plus cher qu'une voiture d'occasion. Puis vous regardez le vrai travail et c'est un adaptateur à 9 euros, quatre fils, et quelqu'un qui plisse les yeux sur un log de boot. L'établi cher, c'est la récompense, pas le ticket d'entrée.
Commencez avec le matériel pas cher, parce que c'est là que sont les victoires. Un adaptateur USB-série, un clone d'analyseur logique 8 canaux, un multimètre que vous avez sûrement déjà, et des fils de câblage. Ce kit, moins de 30 euros au total, couvre la technique qui ouvre plus d'appareils que n'importe quelle autre : trouver l'UART, lire la console, posséder le processus de boot.
L'UART d'abord, toujours
La plupart de l'IoT grand public est paresseux avec son port série. Le fabricant a laissé une console de debug sur la carte parce qu'il en avait besoin pendant le développement et personne n'a pris la peine de la verrouiller pour la production. Vous trouvez trois ou quatre pads non peuplés près du SoC principal, vous déterminez lequel est la masse et lequel est la transmission, et soudain l'appareil vous raconte toute sa séquence de boot. Environnement U-Boot, ligne de commande du noyau, parfois un shell root sans mot de passe parce que qui irait souder sur une prise connectée.
Le workflow est ennuyeux et il marche. Multimètre en mode continuité pour trouver la masse, parce que deviner la masse, c'est comme ça qu'on laisse s'échapper la fumée magique. Analyseur logique sur les pads restants à la mise sous tension pour repérer celui qui transmet, TX est le bavard juste après le boot. Ensuite ce n'est qu'une énigme de baud rate, et c'est presque toujours 115200. Câblez, ouvrez un terminal, regardez les secrets défiler.
Quand ça ne marche pas, c'est presque toujours une de ces trois choses : vous avez croisé TX et RX (RX de l'adaptateur va vers TX de la carte, tout le monde se fait avoir), votre adaptateur est en 5V et la carte en 3,3V et vous la cuisez lentement, ou il n'y a pas d'UART là du tout et vous avez trouvé de l'I2C ou un reste de JTAG à la place. L'erreur 3,3V contre 5V est la plus chère. Vérifiez le niveau logique de votre adaptateur avant de connecter quoi que ce soit. Un adaptateur 5V sur une ligne 3,3V peut endommager la cible, et vous n'aurez pas toujours une panne nette, parfois ça marche dix minutes puis ça brique.
Ce qui est un piège
L'oscilloscope. Magnifique, vraiment utile à terme, et un gâchis complet de vos 200 premiers euros. Vous ne ferez pas d'analyse temporelle ni de caractérisation de glitch le premier mois, et un analyseur logique couvre le décodage de protocoles numériques dont vous avez réellement besoin. Achetez l'oscillo quand vous avez un problème précis qui l'exige, ce qui pour la plupart des gens n'arrive jamais ou bien plus tard qu'ils ne le croient.
La station de rework hors de prix, même histoire. Un fer régulé en température de 40 watts et un tube de flux vous feront passer chaque point de test et chaque trou traversant que vous croiserez au début. Le rework SMD à pas fin est une vraie compétence que vous développerez, pas une chose qu'on achète dès le premier jour. Entraînez-vous d'abord à détruire des cartes mortes du bac à déchets électroniques. Elles sont gratuites et vous apprenez plus en en briquant dix qu'en lisant n'importe quel guide.
Le chip-off et le reballing BGA appartiennent à une vie ultérieure. L'air chaud, le préchauffeur, le microscope, les mains stables que vous n'avez pas encore. Les gens voient une flash SPI dumpée dans une vidéo et veulent le setup complet tout de suite. Vous pouvez dumper la plupart des flash SPI SOIC-8 avec une pince à 5 euros et un programmateur bon marché, in-circuit la moitié du temps, sans rien dessouder.
Les modes de défaillance que personne ne filme
L'alimentation est le tueur silencieux. Vous croyez parler à la puce et en réalité vous la faites chuter en tension parce que votre adaptateur ne fournit pas assez de courant, et les symptômes ressemblent exactement à un problème logiciel. Vous courrez après un fantôme pendant une heure. Quand quelque chose se comporte bizarrement sur l'établi, soupçonnez l'alimentation avant la logique.
Les boucles de masse et les masses flottantes vous donneront sur l'analyseur logique du charabia qui ressemble à de vraies données corrompues. Une masse commune entre votre adaptateur, votre analyseur et la cible n'est pas optionnelle, c'est ce qui donne un sens à vos captures.
Et l'appareil se défend de façons bêtes. Des watchdogs qui redémarrent la carte toutes les 30 secondes pile au moment où vous lisez quelque chose d'intéressant. Un secure boot réellement configuré, sur le seul appareil où vous supposiez que non. Un UART en lecture seule en production, donc vous voyez la console mais ne pouvez pas y taper. Rien de tout ça n'apparaît dans un tuto propre, parce que le tuto a choisi un appareil qui coopère. Le vôtre, souvent, non, et apprendre à distinguer "je m'y suis mal pris" de "cet appareil est verrouillé" représente l'essentiel de la compétence du début.
Achetez bon marché, cassez des choses dont vous vous fichez, et laissez l'établi grandir vers les problèmes que vous rencontrez vraiment. Travailler à l'envers depuis le setup photogénique, c'est comme ça qu'on dépense 800 euros sans jamais dumper la moindre puce.