USB hack par Reverse Engineering (3 / 12 étapes)

Étape 3: Déterminer les descripteurs

La prochaine meilleure chose à faire après que vous avez déterminé le VID/PID consiste à identifier le descripteur de l’appareil. Un descripteur est une sorte de « palette » de ce que l’appareil peut faire et comment il veut transférer les données. En général, chaque périphérique possède un descripteur. Parfois, un appareil a plus d’un descripteur et vous pouvez choisir celui qui vous voulez mais sa pas terriblement communs si nous allons juste l’ignorer. Un moyen fantastique pour obtenir le descripteur sans avoir à écrire n’importe quel logiciel consiste à exécuter lsusb - vv sur un ordinateur linux. Nous n’avons pas trouvé d’équivalent pour Windows ou Mac, afin de trouver un ami avec un ordinateur Linux. (Essayez de l’outil « USB Prober » d’Apple pour Mac OS X).

Voici la sortie de lsusb pour le moteur de NUI

Descripteur de périphérique :
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (défini au niveau de l’Interface)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x045e Microsoft Corp.
idProduct 0x02b0
bcdDevice 1.05
iManufacturer 1 Microsoft
iProduct 2 Xbox NUI moteur
iSerial 0
bNumConfigurations 1
Descripteur de configuration :
bLength 9
bDescriptorType 2
wTotalLength 18
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Auto-alimenté
MaxPower 100mA
Descripteur de l’interface :
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 classe spécifique du vendeur
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
État du périphérique: 0 x 0000
(Alimenté par bus)
Nous allons voir ce que nous avons. Vous pouvez voir la VID et PID là-haut. Ensuite, nous regarderons bNumConfigurations (descripteurs différents combien nous avons) et heureusement pour nous le nombre est 1. Ensuite, Regardez le descripteur d’Interface en particulier, bNumEndpoints qui est 0. Autrement dit, qu'il n’y a aucun point de terminaison.

Points de terminaison sont un type d’USB « pipe de données » - il y a 4 types :

Points de terminaison en vrac sont pour transférer une grande quantité de données, comme un disque dur. C’est OK si cela prend un peu plus longtemps, mais nous voulons gros paquets. Ce point de terminaison ne va que dans un sens (donc à lire et à écrire que vous souhaiterez peut-être que deux)
Interrompre points de terminaison sont pour transférer de petites quantités de données très rapidement, comme pour une souris USB. Dans ce cas, l’appareil doit être sensible, donc nous voulons un mouvement rapide. Ce point de terminaison va seulement dans un seul sens
Points de terminaison isochrones sont pour transférer une quantité considérable de données où les données doivent apparaître dans le même temps, et si elle ne peut pas il devraient juste être supprimées. C’est pour des trucs comme l’Audio et la vidéo où le chronométrage est clé. Ce point de terminaison ne va que dans un sens (donc audio bidirectionnel pour casque et micro aurait deux EPs)
Points de terminaison de contrôle sont cette bizarre n’est pas tout à fait-un-point de sortie du Endpoint. Ils sont utilisés pour transférer de petites quantités de données pour dire mettre un appareil allumé ou éteint. Ils sont très « bon marchés » à développer, et chaque dispositif a une même si ce n’est pas mentionné.
Par exemple, un port série peut avoir deux points de terminaison d’interruption pour transférer des données dedans et dehors, puis un point de terminaison de contrôle pour le réglage du débit en bauds.

Pour plus de détails nous vraiment vous suggère de lire tout à lvr.com sur USB car c’est complexe.

Cet appareil moteur n’a aucun point de terminaison, mais qui ne signifie pas que vous ne pouvez pas communiquer avec lui. Cela signifie simplement qu’il utilise seulement un bidirectionnel de point de terminaison de contrôle. Ce n’est pas surprenant, les moteurs sont lents et ne nécessitent pas beaucoup de données au contrôle.

Comparez ceci au périphérique vidéo/caméra :

Descripteur de périphérique :
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (défini au niveau de l’Interface)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x045e Microsoft Corp.
idProduct 0x02ae
bcdDevice 1. 0 b
iManufacturer 2 Microsoft
iProduct 1 Xbox NUI Camera
iSerial 3 A00366A08793039A
bNumConfigurations 1
Descripteur de configuration :
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Auto-alimenté
MaxPower 16mA
Descripteur de l’interface :
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 classe spécifique du vendeur
bInterfaceSubClass 255 sous-classe spécifique du vendeur
bInterfaceProtocol 255 protocole spécifique du vendeur
iInterface 0
Descripteur de point de terminaison :
bLength 7
bDescriptorType 5
bEndpointAddress 0 x 81 EP 1 IN
bmAttributes 1
Type de transfert isochrone
Synch tapez aucun
Données de Type d’utilisation
wMaxPacketSize 0x0bc0 2 x 960 octets
bInterval 1
Descripteur de point de terminaison :
bLength 7
bDescriptorType 5
bEndpointAddress 0 x 82 EP 2 IN
bmAttributes 1
Type de transfert isochrone
Synch tapez aucun
Données de Type d’utilisation
wMaxPacketSize 0x0bc0 2 x 960 octets
bInterval 1
Qualificateur d’appareil (pour les autre vitesse périphérique) :
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (défini au niveau de l’Interface)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
État du périphérique: 0 x 0001
Auto-alimenté

Cet appareil possède deux points de terminaison isochrones qui sont de type (données entrant dans l’ordinateur). C’est logique : le Kinect a une IR caméra de profondeur et une caméra VGA normale. Deux caméras, deux points de terminaison. Bien sûr, il y a aussi un point de terminaison de contrôle ne pas mentionné ici, le point de terminaison de contrôle pourrait être utilisée pour définir des trucs comme ouverture, correction gamma, toute sorte de filtre intégré, etc..

Articles Liés

Construire un chargeur d’USB alimenté par batterie

Construire un chargeur d’USB alimenté par batterie

ce guide vous guidera dans la construction d'un chargeur de batterie pour n'importe quel dispositif qui recharge via une connexion USB standard, par exemple les téléphones portables, iPods, etc..Pièces nécessaires :1. pile 9V2. + 5V (. 7285) fixe le
Serveur NAS de finalement grave Bus (USB) propulsé par Raspberry Pi:)

Serveur NAS de finalement grave Bus (USB) propulsé par Raspberry Pi:)

L'histoire vraie de la vie après la mort d'une jarre à biscuitsÉtape 1: Manger des biscuits, partager le reste avec d'autres:)Etape 2: Couper un grand assez ensemble sur la face arrière, où l'on peuvent sortir de filsMalheureusement, ces boîtes en ét
Clé USB hacked

Clé USB hacked

j'ai eu un nouveau téléphone qui est Samsung Galaxy sur 7 et c'est très moins de mémoire. J'ai donc décidé d'acheter une clé USB OTG qui m'a coûté 500 roupies. Mais j'ai beaucoup de clé USB. Maintenant, ils ne sont pas d'une quelconque utilité. J'ai
USB alimenté par la lumière mystique

USB alimenté par la lumière mystique

cette instructable vous montrera comment créer facilement une Lumière mystique alimenté par USB à l'aide de pièces facilement disponibles et peu coûteux.  Non seulement est-ce facile à faire mais c'est amusant d'expérimenter et de créer des variation
XBOX 360 contrôleur USB Hack

XBOX 360 contrôleur USB Hack

je fais ce hack parce que mon fils était cassé et j'ai ne trouvé aucun fil sur Ebay.Donc j'ai souder un fil USB sur le contrôleur.Tu as besoin de:1 x USB fils1 x tournevis1 x fer à souder1 x à souder1 x colleÉtape 1: Ouvrez le contrôleur Ouvrir le co
USB alimenté par système d’éclairage Frontal vélo

USB alimenté par système d’éclairage Frontal vélo

Salutdans ce Instructable simple, je vais vous montrer comment faire votre propre frontal alimenté par USB, éclairage pour votre vélo, donc éliminer l'utilisation de piles non rechargeables et économisant environ 80€ en n'achetant ne pas une fabriqué
Gambario de rouge cerise (usb) - Acuario para camarones Con luz USB

Gambario de rouge cerise (usb) - Acuario para camarones Con luz USB

El otro día Iba caminando por la vida, cuando de repente me tope con ONU acuario. Tenían un montón de cosas, peces de todos los colores, tortugas, caracoles y algo que me llamo mucho la atención, Camarones rouge cerise.Se veían muy apenas, eran peque
Concentrateur USB, hack de puissance

Concentrateur USB, hack de puissance

pour pouvoir utiliser un disque dur externe avec le Pi vous avez besoin d'alimentation externe. Avec ce hack, vous serez en mesure d'alimenter aussi bien la Pi et le disque dur avec le concentrateur USB.Mise à jour : mise sous tension de votre ancien
Comment faire pour réveiller le PC via le port USB - Hack

Comment faire pour réveiller le PC via le port USB - Hack

La décision de quitter le circuit d'alimentation du port USB activé lorsque le système est ou non (« Dormir » / « Suspend to RAM ») est à gauche jusqu'à la carte mère BIOS/firmware.Il peut même avoir une option du BIOS, vous pouvez configurer à cet e
Haut-parleurs, avec un chargeur usb alimenté par la batterie

Haut-parleurs, avec un chargeur usb alimenté par la batterie

c'est mon premier instructable, si patient avec moi là-dessus. Je voulais construire un système d'enceintes que je serais en mesure de prendre avec moi au travail. Ainsi que ce qui permet la possibilité de charger des périphériques usb (téléphone ou
USB alimenté par Custom Logo Light

USB alimenté par Custom Logo Light

celle-ci est présentée dans le font pour apprendre les concours pour les jeunes, et il m'oblige à ajouter des questions et réponses.Voici les questions :1 - qu'avez-vous fait ?2 - Comment tu l'as fait il ?3 - où tu l'as fait il ?4 - qu'avez-vous appr
USB alimenté par la lumière du clavier

USB alimenté par la lumière du clavier

maintenant je vais vous montrer une lumière de clavier alimenté par USB multi couleur LEDÉtape 1: première Connectez maintenant ampoule LED avec câble USBÉtape 2: finale
Reverse Engineering

Reverse Engineering

beaucoup de membres ici à Instructables poser des questions sur les fiches techniques ou épingle les aboutissants d'un dispositif ou d'affichage dans les réponses, malheureusement vous ne pouvez pas toujours obtenir une feuille de données et de schém
USB alimenté par pompe à Air matelas

USB alimenté par pompe à Air matelas

Tout le monde qui a disparu camping habituellement se heurte à son problème. Vous êtes tous prêt à configurer votre camp, y compris votre tente et matelas pneumatique. Vous mettez en marche votre matelas pneumatique pompe et... Oh non ! Les piles son