USB hacka genom Reverse Engineering (9 / 12 steg)
Steg 9: Letat på stockar
Gör dig själv en smörgås, det är en stor fil!
Också Hämta programvaran Beagle Data Center (Mac/Win/Linux) och installera det
OK nu när du har ätit, kan öppna filen enuminit.tdc. Detta är den fullständig uppräkning och initiering.
Kom ihåg att när vi loggar data, det finns mycket av det som vi kan sedan pare ner!
Låt start genom att komma ihåg att det finns fyra enheter (NAV, kamera, mikrofon, motor) men vi behöver bara lyssna på en (motor). Klicka på fliken buss nere till höger.
Vi har ett fåtal enheter. Kan undersöka var och en
Om du klickar på okonfigurerad enhet (0) ser du att det inte blev tillfångatagen. Detta är förmodligen eftersom jag jiggled kabeln när du sätter in det så det började att skapa en enhet och sedan fick kopplas bort. Det är inte viktigt.
Klicka på < ingen > (1) enheten är en klasstyp enhet USB-hubb. Det är inre navet. Vi kan ignorera detta också.
Enhet #4 har en PID av 688, som är i decimal. Om vi konvertera den till hex får vi 0x02b0 - detta är den Motor enheten!
Nu vi kan filtrera så att endast enhetens loggar
Vår skärmen är mycket kortare nu
Du kan se att det finns vissa initiering och sedan bara två upprepande motiv: ett 1 byte budskap varvades med ett 10 byte meddelande.
För motorn att flytta efter Xboxens önskemål, måste det finnas vissa kommando som skickades från xbox till kinect. Kan filtrera lite mer för att se bara kommandon skickas till enheten
Gå till LiveFilter och välj värd-till-anordning
Nu har vi verkligen jämfört det. Det finns bara fyra kommandon skickas till kinect motorn, eftersom motorn rör sig under initieringen kan vi bara prova var och en. Låt oss titta på varje kommando
Kommandot 1 har en bRequest av 0x06 och en wValue av 4, wLength är 0 vilket innebär att inga data skrivs, kommandot hela är begäran och värde.
Kommandot #2 använder samma bRequest men med en annan wValue av 0x01
Kommandot #3 är en annan bRequest av 0x31 och en wValue av 0xffd0
Kommandot #4 är det samma bRequest och en wValue av 0xfff0
Nu vi har bestäms det finns två begäran kommandon kan vi skicka. En är 0x06 och den andra är 0x31
Dags att experimentera!