Skyduino:~#
Articles
projet

[Découverte] Souris logitech M195 … et son nRF24LE1 intégré !

Bonjour tout le monde !

Je vous fait un article sur un sujet totalement différent de d’habitude, mais qui fait suite à une découverte que j’ai fait il y a peu de temps.

Pour vous remettre dans le contexte :
Ma souris, une logitech M195, que j’avais payer même pas 15€ il ya déjà quelques années, est tomber de mon bureau (ça arrive au moins 4 fois par semaine >_<), mais cette fois ci la roulette ne marchait plus (Damned !) …

J'ai donc entreprit de la démonter pour la réparer, ce serait du gâchis de jeter une si bonne souris pour si peu !

Voici à quoi ressemble la bête :

(c’est une souris tout ce qui a de plus banale …)

Après avoir cherché pendant une bonne heure comment la démonter, j’ai découvert qu’il y a avait deux vis caché sous les patins inférieur …
Une fois les visses retiré la souris c’est ouvert sans aucune difficulté …

J’ai donc réparé la molette (juste un ressort qui c’était déboité, rien de bien méchant finalement) et au passage j’ai fait un petit tour d’inspection du circuit !

Et j’ai était agréablement surpris par ce que j’ai découvert !

Il y a donc :
– un module boost 5v, qui converti le 1v5 de la batterie en 5v DC
– un capteur optique série, compatible ADNS2610 (je pense, il n’y a pas de référence sur le CI) dont j’avais déja fait un hack par le passé
– un circuit de surveillance de niveau des piles

Mais il manque quelque chose 😉
C’est une souris sans fils, mais ou est la partie sans fils ?

Il suffit de retourner le pcb est …

Miracle !

Rien ne vous choque ?
Regarder bien :

nRF24LE1 … ça ne vous dis pas quelque chose ? Nordic Semiconductor ? nRF24L01 ?

Quand j’ai vu ça je me suis tout de suite dit « HO P*TAIN ! ».

J’ai donc pris le temps de regarder le datasheet du nRF24LE1 :

Et j’ai donc pu en conclure que ma souris utilise belle et bien un module nRF24L01 en interne pour transmettre les informations !!
De là mon sang n’as fait qu’un tour, arduino, breakout nRF24L01, souris …

Jolie plan, mais il reste un probléme … il y a 2^40 canaux de transmission sur les modules nRF utilisant shockburst, et il n’est pas possible de « sniffer » les données qui ne nous sont pas destiné …
Une seul solution donc, renversé les communication spi entre le cpu et le nrf24L01, sauf que probléme (encore) le cpu (compatible 8051 au passage) et le nRF24L01 sont dans le même CI !!

Si j’en crois cette page du datasheet la partie nRF24L01 est accessible via un bus spi dédié …

J’ai donc sorti le pinmapping du composant pour voir ce que je pourrai faire.

J’ai pu conclure que le module optique se trouve sur P0.5 (clock) et P0.6 (data), et que les boutons sont de toute évidence multiplexé sur P0.4 mais rien de plus.
Le circuit utilisant des pistes tellement fine que même avec une photo HD, et photoshop pour masquer les pistes, le travail de reverse engineering reste horriblement compliqué …
En plus les deux bus SPI master et slave sont utilisé, ce qui me laisse penser qu’il ne sont pas câblé sur le module nRF24L01 interne …

Autre (possible) probléme, le cpu comporte un module de calcul AES (cryptage) hardware … sous entendu que les paquets transmis pourrait être crypter … et en AES en plus !!

… Zut ! …

Du coup j’ai remonté ma souris, mon but n’étant pas de la hacker mais de la réparer.

Mais je fait quand même cet article sur le sujet, nulle doute que quelqu’un de plus doué que moi, et possédant le matériel nécessaire (analyseur logique, oscilloscope numérique, …), ainsi que le temps nécessaire serait en mesure d’utiliser cette souris avec un module nRF24L01, que ce soit avec une plateforme arduino ou autre.

J’ai pu lire un article il ya quelques temps, ou une personne avait utilisé une configuration interdite de registres du nRF24L01 pour « sniffer » les données qui ne lui était pas destiner, et utiliser ce bug pour écouter les frappes faite sur un clavier sans fils …

Étant donné le peu de temps libre dont je dispose en ce moment, et le fait que je n’est pas le matériel adéquat, je laisse tomber l’idée de renverser le hardware de la souris.
En plus j’ai besoin de ma souris pour travailler 🙂

Si jamais quelqu’un ce lance dans l’aventure et réussi à avoir un résultat (quel qu’il soit) faite le moi savoir 😉

Publicités

Discussion

4 réflexions sur “[Découverte] Souris logitech M195 … et son nRF24LE1 intégré !

  1. Yeh, j’adore les Hackers de souris !
    J’ai démonté ma Logitech wireless hier, et je tombe sur cet article aujourd’hui…
    mais je bloque aussi, tres peu d’info sur les composants, le reverse eng. la dessus necessite aussi du bon matos de labo que je n’ai pas…

    Publié par \fab\ | 18 mars 2012, 18 h 21 min
  2. Je déterre un peu : t’as regardé du côté du récepteur ?

    Publié par battooo | 6 juillet 2013, 14 h 30 min

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.