Windows Treiber dekompilieren/editieren (Xbox One Controller rumble deaktivieren)

Mobys

Cadet 2nd Year
Registriert
Jan. 2014
Beiträge
22
Hallo,
kurz der Sachverhalt:
Ich möchte, dass ein Xbox One Controller dauerhaft mit meinem PC (Win 8.1 x64) verbunden ist. Das ist soweit kein Problem. Leider vibriert der Controller jedes Mal kurz auf dem Tisch, wenn der Treiber geladen wird, also bei jedem Boot.
Jetzt würde ich gerne das Vibrieren unterbinden ohne den Controller jedes Mal auszustecken oder im Gerätemanager zu deaktivieren.
Ich habe mir nun überlegt den Standardtreiber einfach so zu editieren, sprich die paar Zeilen, die den Rumble beim Treiberladen verursachen, zu löschen oder zu ändern.
Mir ist klar, dass das Vorhaben relativ naiv ist und bei der Suche zum Thema Treibereditierung wurde man ausdrücklich davor gewarnt, jedoch ich würde das Risiko trotzdem gerne eingehen.

Im Treiberordner für den Controller befinden sich folgende Dateien:
  • WdfCoInstaller01011.dll
  • xb1usb.sys
    [*](xb1usb.cat)
    [*](xb1usb.inf)
    [*](xb1usb.PNF)

Die letzten 3 Dateien sollten nicht von Relevanz sein. Ob der gesuchte Code jetzt im Kernel Treiber oder in der dll ist, weiß ich nicht.

Die einzigen für mich verständlichen Infos zum Thema befassten sich mit Visual Studio + WDK und IDA/Hex Rays. Bei Visual Studio habe ich keine Möglichkeit zur Dekompilierung gefunden und an eine kostenlose x64-Variante von Hex Rays komme ich nicht ran.

Für jegliche Hilfe wäre ich sehr dankbar. :)
 
Wieso schraubst du den Controller nicht auf und deaktiviert die Motoren? :evillol:
 
Den Rumble an sich mag ich ja, nur will ich den Controller nicht jeden Tag nach dem Booten auf dem Tisch klappern hören ;)
 
Hm.. meinst du nicht, dass der anschließend gar nicht mehr vibriert bei Deaktivierung im Treiber?
 
Das weiß ich nicht. Gewollt ist es nicht. Bei folgender simpler Logik soll nur der fettmarkierte Teil weg:

If Controller connected
load driver
power on light
rumble

Die eigentliche rumble-Funktion will ich nicht anfassen, sondern nur, dass sie beim Treiberladen kurz aufgerufen wird.
 
Es muss nicht unbedingt zum Treiber gehören, dass der Motor einmal vibriert - es kann auch von der internen Firmware so gesteuert sein (als POST) - und das wird ziemlich häufig so gemacht :)

 
Das könnte auch sein. Vibriert der Controller eigentlich auch wenn er an einer Xbox startet? Habe leider keine, weiß es deshalb nicht. Würde aber schätzen, dass er es nicht tut. Könnte man nicht somit davon ausgehen, dass der Windows-Treiber für den Rumble verantwortlich ist?
 
Nein der Controller vibriert da nicht(aber auch nicht darauf geachtet), kann ich dir aber am Abend sagen wenn ich zuhause bin :)
 
Treibermodifikationen unter Windows x64 funkionieren nicht, es sei denn, du möchtest bei JEDEM Start des BS das Starten nicht signierter Treiber erlauben (ab Win7 glaube ich wurde das so rigeros von MS umgesetzt). Und nein, an einer X-Box 360 vibirieren die Pads nicht beim Starten.
 
Zurück
Oben