Infrared
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Infrarotlicht ist für Menschen unsichtbar. Die IR-Wellenlänge reicht von 0,7 bis 1000 Mikrometer. Haushaltsfernbedienungen verwenden ein IR-Signal zur Datenübertragung und arbeiten im Wellenlängenbereich von 0,75..1,4 Mikrometer. Ein Mikrocontroller in der Fernbedienung lässt eine Infrarot-LED mit einer bestimmten Frequenz blinken, wodurch das digitale Signal in ein IR-Signal umgewandelt wird.
Um IR-Signale zu empfangen, wird ein Fotoreceiver verwendet. Er wandelt IR-Licht in Spannungspulse um, die bereits digitale Signale sind. In der Regel gibt es einen Dunkellichtfilter im Empfänger, der nur die gewünschte Wellenlänge durchlässt und Rauschen herausfiltert.
IR-Protokolle unterscheiden sich in 3 Faktoren:
Bitkodierung
Datenstruktur
Trägerfrequenz — oft im Bereich von 36..38 kHz
1. Pulsabstandskodierung
Bits werden kodiert, indem die Dauer des Abstands zwischen den Pulsen moduliert wird. Die Breite des Pulses selbst ist konstant.
2. Pulsbreitenkodierung
Bits werden durch Modulation der Pulsbreite kodiert. Die Breite des Abstands nach dem Pulsstoß ist konstant.
3. Phasenkodierung
Es ist auch als Manchester-Kodierung bekannt. Der logische Wert wird durch die Polarität des Übergangs zwischen Pulsstoß und Raum definiert. "Raum zu Pulsstoß" bezeichnet Logik "0", "Pulsstoß zu Raum" bezeichnet Logik "1".
4. Kombination der vorherigen und anderer Exoten
Es gibt IR-Protokolle, die versuchen, universell für mehrere Gerätetypen zu werden. Die bekanntesten sind RC5 und NEC. Leider bedeutet das bekannteste nicht das häufigste. In meiner Umgebung habe ich nur zwei NEC-Fernbedienungen und keine RC5 gesehen.
Hersteller verwenden gerne ihre eigenen einzigartigen IR-Protokolle, selbst innerhalb derselben Geräteserie (zum Beispiel TV-Boxen). Daher können Fernbedienungen von verschiedenen Unternehmen und manchmal von verschiedenen Modellen desselben Unternehmens nicht mit anderen Geräten desselben Typs arbeiten.
Der zuverlässigste Weg, um zu sehen, wie das IR-Signal der Fernbedienung aussieht, ist die Verwendung eines Oszilloskops. Es demoduliert oder invertiert das empfangene Signal nicht, es wird einfach "so wie es ist" angezeigt. Dies ist nützlich für Tests und Debugging. Ich werde das erwartete Signal am Beispiel des NEC-IR-Protokolls zeigen.
In der Regel gibt es ein Präambel zu Beginn eines kodierten Pakets. Dies ermöglicht es dem Empfänger, den Verstärkungsgrad und den Hintergrund zu bestimmen. Es gibt auch Protokolle ohne Präambel, zum Beispiel Sharp.
Dann werden die Daten übertragen. Die Struktur, Präambel und Bitkodierungsmethode werden durch das spezifische Protokoll bestimmt.
Das NEC-IR-Protokoll enthält einen kurzen Befehl und einen Wiederholungs-Code, der gesendet wird, solange die Taste gedrückt wird. Sowohl der Befehl als auch der Wiederholungs-Code haben zu Beginn die gleiche Präambel.
Der NEC-Befehl besteht neben der Präambel aus einem Adressbyte und einem Befehlsnummernbyte, durch das das Gerät versteht, was ausgeführt werden muss. Adress- und Befehlsnummernbytes werden mit inversen Werten dupliziert, um die Integrität der Übertragung zu überprüfen. Am Ende des Befehls gibt es ein zusätzliches Stoppbit.
Der Wiederholungs-Code hat eine "1" nach der Präambel, die ein Stoppbit ist.
Für Logik "0" und "1" verwendet NEC die Pulsabstandskodierung: Zuerst wird ein Pulsstoß übertragen, nach dem eine Pause folgt, deren Länge den Wert des Bits festlegt.
Im Gegensatz zu anderen Fernbedienungen übertragen Klimaanlagen nicht nur den Code der gedrückten Taste. Sie übertragen auch alle Informationen, wenn eine Taste gedrückt wird, um sicherzustellen, dass die Klimaanlage und die Fernbedienung synchronisiert sind. Dies verhindert, dass eine auf 20ºC eingestellte Maschine auf 21ºC erhöht wird, wenn eine Fernbedienung verwendet wird, und wenn dann eine andere Fernbedienung, die die Temperatur immer noch auf 20ºC hat, verwendet wird, um die Temperatur weiter zu erhöhen, wird sie auf 21ºC "erhöht" (und nicht auf 22ºC, weil sie denkt, dass sie auf 21ºC ist).
Sie können Infrarot mit Flipper Zero angreifen:
FZ - InfraredLernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)