Abo
  • Services:

Microsoft hilft mit

Grundsätzlich kann jede ausführbare Datei mit Hilfe eines Decompilers analysiert und in eine lesbare Programmiersprache zurückübersetzt werden. Bei .NET geht es sogar einen Schritt weiter: Der ursprüngliche Quellcode lässt sich mit Ausnahme der Kommentare fast vollständig wiederherstellen.

Stellenmarkt
  1. BIM Berliner Immobilienmanagement GmbH, Berlin
  2. OHB System AG, Bremen, Oberpfaffenhofen

Ich entscheide mich, mein Glück mit dem .NET Decompiler ILSPY zu versuchen. Nach dem Öffnen der DLL in ILSPY werde ich mit einer Vielzahl an Klassen begrüßt - und lande einen Volltreffer: GridPlusControl. Das klingt nach dem, was ich suche!

  • NZXT Grid+ (Bild: Matthias Riegler)
  • Steuerplatine, Frontseite (Bild: Matthias Riegler)
  • Steuerplatine, Rückseite (Bild: Matthias Riegler)
  • ILSpy (Bild: Matthias Riegler)
ILSpy (Bild: Matthias Riegler)

Die Drehzahl steuern

Während ich den Quellcode überfliege, werde ich auf die Funktion SetGridPlusVoltage() aufmerksam. Es werden zwei Funktionen aus weiteren Klassen aufgerufen, die ich mir daraufhin anschaue. Was zunächst komplex aussieht, stellt sich als simpel heraus. Zunächst wird eine ID gesendet, darauf ein Index, gefolgt von dem Dezimalwert 192, gefolgt von zwei Null-Bytes. Warum 192 gesendet wird, ist mir nicht ganz klar, auch die beiden Null-Bytes irritieren mich. Anschließend wird eine Spannung übermittelt. Insgesamt ergibt sich also folgende Kette (hier für 12,4 Volt):


[ID, index ,192, 0, 0, 12, 40]

Die Eingangsspannung liegt in einem Intervall von 0 bis 12,4 Volt. Um diese zu übertragen, wird das vorletzte Byte auf den Wert vor dem Komma gesetzt. Das letzte Byte wird in zwei 4-Bit Blöcke unterteilt, welche die erste und zweite Nachkommastelle aufnehmen.

Die 0,01 Volt-Schritte verwerfe ich, so genau muss ich die Lüfter nicht steuern können. Sauber aufgeschrieben sieht die Prozedur in Python so aus:

  1. def set_voltage(index , voltage):
  2. vsteps = int(voltage*10)
  3. return [ID_SET_VOLTAGE, index
  4. , 192, 0, 0, (vsteps/10), ((vsteps % 10) << 4)]

Die Drehzahl auslesen

Die Drehzahl kann ich über die Spannung regeln. Wenn der Computer unter dem Schreibtisch steht, ist es mühselig, jedes Mal die Verkleidung zu öffnen und zu schauen, ob meine neuen Einstellungen übernommen wurden. Ich schaue mir wieder die Klasse an und finde die Funktion mit dem Namen GetAllRPM(). Das scheint genau das zu sein, was ich brauche. Eine zwei Byte lange Anfrage resultiert in einer fünf Byte langen Antwort.

Die Anfrage:


[ID_GET_RPM, 1]

Drei der fünf Byte scheinen fix zu sein - 60 Prozent Überschuss ist schon eine Leistung! Auswertung der Antwort:

  1. def get_rpm_cmd(index):
  2. return [138, index]
  3. def get_rpm_response(response):
  4. return (int(response[3]) << 8) + int(response[4])

 NZXT: Lüfter auch unter Linux steuernDas Programm testen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7.  


Anzeige
Top-Angebote
  1. 352,00€
  2. 69,99€
  3. (aktuell u. a. SanDisk SSD Plus 480 GB 59,90€, Goliath Games Recoil Starter Set 39,99€)
  4. (u.a. Acer Predator XB241Hbmipr, 24 Zoll 289,00€)

lespocky 04. Apr 2017

Der scheinbar komische Wert 192, der fest mitgegeben werden muss, ist vermutlich ein Byte...

captain_spaulding 27. Mär 2017

Da dieses Teil einen ganz normalen Serial Port benutzt, macht zumindest dieser Teil keine...

aha47 26. Mär 2017

Welche jetzt konkret? Stimmt, leider sind die "meisten Linux User" offenbar aus der...

scheuerseife 25. Mär 2017

Eine Alternative Java Software für das NZXT Grid+ Hat RoelGo schon 2016 unter der MIT...

1ras 24. Mär 2017

Ja, kenne ich. Von den USB nach RS-232 Wandlern gibt es leider ziemlich viele...


Folgen Sie uns
       


Commodore CDTV (1991) - Golem retro_

Das CDTV wurde in den frühen 1990er Jahren von Commodore als High-End-Multimediasystem auf den Markt gebracht. Wir beleuchten die Hintergründe seines Scheiterns und spielen Exklusivtitel.

Commodore CDTV (1991) - Golem retro_ Video aufrufen
Eden ISS: Raumfahrt-Salat für Antarktis-Bewohner
Eden ISS
Raumfahrt-Salat für Antarktis-Bewohner

Wer in der Antarktis überwintert, träumt irgendwann von frischem Grün. Bei der Station Neumayer III hat das DLR vor einem Jahr ein Gewächshaus in einem Container aufgestellt, in dem ein Forscher Salat und Gemüse angebaut hat. Das Projekt war ein Test für künftige Raumfahrtmissionen. Der verlief erfolgreich, aber nicht reibungslos.
Ein Interview von Werner Pluta

  1. Eden ISS DLR will Gewächshaus-Container am Südpol aus Bremen steuern
  2. Eu-Cropis DLR züchtet Tomaten im Weltall
  3. NGT Cargo Der Güterzug der Zukunft fährt 400 km/h

Softwareentwicklung: Agiles Arbeiten - ein Fallbeispiel
Softwareentwicklung
Agiles Arbeiten - ein Fallbeispiel

Kennen Sie Iterationen? Es klingt wie Irritationen - und genau die löst das Wort bei vielen Menschen aus, die über agiles Arbeiten lesen. Golem.de erklärt die Fachsprache und zeigt Agilität an einem konkreten Praxisbeispiel für eine agile Softwareentwicklung.
Von Marvin Engel

  1. Job-Porträt Cyber-Detektiv "Ich musste als Ermittler über 1.000 Onanie-Videos schauen"
  2. Bundesagentur für Arbeit Ausbildungsplätze in der Informatik sind knapp
  3. IT-Jobs "Jedes Unternehmen kann es besser machen"

IT-Sicherheit: 12 Lehren aus dem Politiker-Hack
IT-Sicherheit
12 Lehren aus dem Politiker-Hack

Ein polizeibekanntes Skriptkiddie hat offenbar jahrelang unbemerkt Politiker und Prominente ausspähen können und deren Daten veröffentlicht. Welche Konsequenzen sollten für die Sicherheit von Daten aus dem Datenleak gezogen werden?
Eine Analyse von Friedhelm Greis

  1. Datenleak Ermittler nehmen Verdächtigen fest
  2. Datenleak Politiker fordern Pflicht für Zwei-Faktor-Authentifizierung
  3. Politiker-Hack Wohnung in Heilbronn durchsucht

    •  /