
KeySweeper ist ein heimliches, auf Arduino basierendes Gerät, das als funktionierendes USB-Wandladegerät getarnt ist und drahtlos sowie passiv alle Tastatureingaben von jeder Microsoft-Funk-Tastatur in der Nähe abfängt, entschlüsselt, protokolliert und (über GSM) zurückmeldet.
KEYSWEEPER // SIGINT // SAMY.PL // REL TO ALL // APPLIED HACKING
KeySweeper ist ein heimlich arbeitendes Arduino-basiertes Gerät, das als funktionierendes USB-Wandladegerät getarnt ist und drahtlos sowie passiv alle Tastatureingaben von beliebigen Microsoft-Funkkeyboards in der Umgebung mitschneidet, entschlüsselt, protokolliert und (über GSM) zurückmeldet.
Alle Tastatureingaben werden online und lokal protokolliert. SMS-Benachrichtigungen werden bei Auslösewörtern, Benutzernamen oder URLs gesendet und legen so Passwörter offen. Wird KeySweeper vom Strom getrennt, arbeitet es über seinen internen Akku weiter und lädt sich bei erneuter Stromversorgung automatisch wieder auf. Ein webbasiertes Tool ermöglicht die Live-Überwachung der Tastatureingaben.
Live-Demonstration und vollständige Details gibt es im Video:
Kontakt: @SamyKamkar // [email protected] // http://samy.pl
Veröffentlicht: 12. Januar 2015
Quellcode / Schaltplan: https://github.com/samyk/keysweeper
Stückkosten: 10 - 80 $ je nach Betriebsart
Status: Funktionsfähig, Open Source, Open Hardware, freigegeben.
KeySweeper ist ein heimlich arbeitendes Arduino-basiertes Gerät, das als funktionierendes USB-Wandladegerät getarnt ist und drahtlos sowie passiv alle Tastatureingaben von beliebigen Microsoft-Funkkeyboards in der Umgebung mitschneidet, entschlüsselt, protokolliert und zurückmeldet (diese verwenden ein proprietäres 2,4-GHz-HF-Protokoll).
Tastatureingaben werden über einen optionalen GSM-Chip über das Internet an den KeySweeper-Betreiber gesendet. Alternativ können sie auf einem Flash-Chip gespeichert und drahtlos ausgeliefert werden, sobald ein zweites KeySweeper-Gerät in die Funkreichweite des Ziel-KeySweeper gelangt. Ein webbasiertes Tool ermöglicht die Live-Überwachung der Tastatureingaben.
KeySweeper kann SMS-Benachrichtigungen senden, sobald bestimmte Tastatureingaben erfolgen, z. B. „www.bank.com". Wird KeySweeper von der Netzspannung getrennt, scheint es sich abzuschalten, arbeitet jedoch mithilfe eines internen Akkus verdeckt weiter; dieser wird beim erneuten Anschluss an die Netzspannung automatisch wieder aufgeladen.
KeySweeper erweitert die Arbeit von Travis Goodspeed am goodfet.nrf-Projekt sowie die Arbeit von Thorsten Schröder und Max Moser vom KeyKeriki v2.0-Projekt.
3 - 30 $: Es kann ein Arduino- oder Teensy-Mikrocontroller verwendet werden. In meinem Aufbau verwende ich einen 3,3-V-Arduino-Pro-Mini wegen seines sehr flachen Profils.
1 $: Ich verwende einen 1-Dollar-nRF24L01+-HF-Chip, der über GFSK auf 2,4 GHz kommuniziert. Weitere Details finden Sie weiter unten. Diese Chips können auf eBay bereits ab etwa 1 $ erworben werden. Diese Chips können ausschließlich mit proprietären Protokollen kommunizieren und sind nicht zum Mitschneiden gedacht. Wir werden jedoch weiter unten sehen, dass sie sich auf clevere Weise zum promiskuitiven Mitschneiden einsetzen lassen.
6 $: Ich verwende ein günstiges AC-USB-Ladegerät (Gleichrichter), das Wechselstrom in 5-V-Gleichstrom umwandelt. Das hier verlinkte hat praktischerweise eine Schraube, wodurch es sich leicht öffnen lässt (ich habe beim Öffnen bereits einige andere zerstört). Bei Verwendung der GSM-Version von KeySweeper nutze ich tatsächlich zwei USB-Ladegeräte – die Innereien eines kleinen Ladegeräts (ähnlich dem eines iPhone-Ladegeräts) und das Außengehäuse eines größeren USB-Ladegeräts.
OPTIONAL (2 $): Ein optionaler SPI-Serial-Flash-Chip kann zum Speichern von Tastatureingaben verwendet werden. Wenn Sie das unten genannte FONA-GSM-Board verwenden, ist dies nicht erforderlich, da Tastatureingaben live über das Internet gespeichert werden können. Falls Sie jedoch eine kostengünstigere Option wünschen, können Sie Tastatureingaben auf diesem Chip im KeySweeper speichern und später abrufen, indem Sie sich mit einem zweiten Gerät in die 2,4-GHz-Funkreichweite des Geräts begeben, das die Tastatureingaben dann absaugt.
Die meisten Mikrocontroller haben nur sehr wenig Speicher oder EEPROM zum Ablegen von Daten – daher der Vorteil eines Flash-Chips zum Speichern dieser Tastatureingaben.
OPTIONAL (45 $): Adafruit hat ein Board namens FONA entwickelt, mit dem Sie eine 2G-SIM-Karte verwenden können, um SMS zu senden/empfangen, anzurufen und direkt vom Gerät aus auf das Internet zuzugreifen.
Damit ist kein Flash-Chip erforderlich, da Tastatureingaben sofort an einen Backend-Server zur ordnungsgemäßen Datenerfassung gesendet werden. Zusätzlich kann bei Eingabe bestimmter Schlüsselwörter durch die Ziel-Tastaturen eine SMS an eine festgelegte Nummer gesendet werden, um den Operator über diesen Umstand zu alarmieren.
OPTIONAL (3 $, nur bei Verwendung des FONA): Das FONA benötigt eine Mini-SIM-Karte (keine Micro-SIM). Ich verwende eine Prepaid-SIM-Karte von T-Mobile. Ich empfehle T-Mobile, da diese 2G unterstützen, während die meisten anderen Anbieter ihr 2G-Netz bereits abgeschafft haben oder abschaffen. Das FONA unterstützt für das Internet nur 2G. Achten Sie darauf, die richtige SIM-Kartengröße zu erhalten – weitere Details zu den FONA-SIM-Anforderungen finden Sie hier.
OPTIONAL (ab 5 $, nur bei Verwendung des FONA): Das FONA bietet ein integriertes Ladegerät für LiPo/LiOn-Akkus. Solange KeySweeper an die Netzspannung angeschlossen ist, wird der Akku geladen gehalten, ist aber dennoch erforderlich. Darüber hinaus arbeitet KeySweeper bei Trennung von der Netzspannung verdeckt weiter über den Akku und beginnt beim erneuten Anschluss an die Netzspannung wieder mit dem Aufladen.
Der vollständige Quellcode von KeySweeper ist auf meinem GitHub verfügbar: https://github.com/samyk/keysweeper
KeySweeper besteht aus mehreren Teilen. Der primäre Code wird auf dem Mikrocontroller installiert, während ein webbasiertes Backend mit jQuery und PHP alle Tastatureingaben protokolliert und eine Weboberfläche zur Live-Überwachung der Ziel-Tastaturen bereitstellt.
KeySweeper benötigt außerdem die folgenden Dateien aus der RF24-Bibliothek von maniacbug:
RF24.hnRF24L01.hRF24_config.hKopieren Sie die Dateien einfach in das Verzeichnis keysweeper_mcu_src. Sie müssen außerdem die #include-Anweisung in der Datei RF24.h von #include <RF24_config.h> in #include "RF24_config.h" ändern.
Sie sollten meine Version der Adafruit-FONA-Bibliothek verwenden, da ich eine zusätzliche Option beigefügt habe, die es dem FONA ermöglicht, uns mitzuteilen, wenn eine neue Textnachricht eintrifft. In der ursprünglichen Bibliothek müssen Sie ständig pollen, um festzustellen, ob mehr Textnachrichten vorhanden sind als erwartet. Mit meiner Version können Sie jedoch die Option fona.setSMSInterrupt(1) aktivieren, die bewirkt, dass der RI-Pin (Ring Interrupt) bei neuen SMS-Nachrichten kurz auf Low gezogen wird.
Ich habe ein Backend-Tool erstellt, mit dem Sie Tastaturen live über eine Webseite überwachen können. Das jQuery-Terminal-Plugin lässt es cooler aussehen.
Das jQuery UI Virtual Keyboard sorgt weiterhin dafür, dass das Live-Spionage-Interface-Tool von KeySweeper cool aussieht, indem Tasten auf der virtuellen Tastatur gedrückt angezeigt werden, wenn der Benutzer tatsächlich Tasten drückt.
Wenn wir eine Microsoft-Funkkeyboard in Besitz haben, können wir auf der Rückseite die FCC-ID nachschlagen. Auf meiner Tastatur lautet die FCC-ID (die in den USA für alle Geräte, die Funkfrequenzen nutzen, vorgeschrieben ist) C3K1455. Diese lässt sich leicht auf der FCC-Website suchen.
Wir entdecken sofort, dass die Tastatur laut FCC-Bericht auf 2403 - 2480 MHz kommuniziert.
Da ich nun weiß, dass es sich um ein 2,4-GHz-Gerät handelt, nehme ich an, dass es entweder ein gängiges 2,4-GHz-Protokoll wie WLAN, Bluetooth, Zigbee oder andere verwendet oder mit einem proprietären Protokoll arbeitet. Da das Gerät mit einem eigenen USB-Dongle geliefert wurde (mit eigener FCC-ID, C3K1461), handelt es sich höchstwahrscheinlich um ein proprietäres 2,4-GHz-Signal.
Da es sich wahrscheinlich um proprietäres 2,4-GHz handelt, müssen wir nun eine Methode zum Mitschneiden von 2,4-GHz-Signalen einsetzen. WLAN-Sniffer helfen nicht, da dies kein 802.11 ist (wie wir es in SkyJack verwendet haben), und auch RTL-SDR allein hilft nicht, da es bei etwa 2,2 GHz endet, sofern nicht zusätzlich ein HF-Downconverter verwendet wird (wir haben RTL-SDR in Digital Ding Dong Ditch eingesetzt). Daher möchte ich sofort den HackRF verwenden, ein leistungsfähiges und preiswertes Software Defined Radio. Doch so leistungsfähig er für seinen Preis auch ist, könnten wir möglicherweise mit günstigerer Hardware auskommen.
Aufgrund früherer Erfahrungen vermute ich, dass die Tastatur so etwas wie einen Nordic nRF24L01+, einen TI CC2500 oder einen Cypress CYRF6936 verwendet. Sicher sein werden wir jedoch erst nach einer genaueren Untersuchung.
Nachdem ich die Schrauben aus der Tastatur entfernt und sie geöffnet habe, sehen wir einen einzelnen Chip, der für alles verantwortlich ist. Er ist mit NRF 24LE1H beschriftet, was sehr nach nRF24L01 klingt (n = Nordic Semiconductor, RF = Radio Frequency, 24 = 2,4 GHz)! Eine schnelle Suche führt uns zum nRF24LE1-Chip, und wir sehen, dass er tatsächlich den nRF24L01+-HF-Chip mit einer CPU integriert (System-on-Chip/SoC). Eine schnelle Suche auf eBay zeigt, dass der nRF24L01+ für unter 1 $ zu uns geliefert werden kann.
Der nRF24LE1 integriert einen nRF24L01+-2,4-GHz-HF-Transceiver-Kern, eine erweiterte 16-MHz-8-Bit-8051-kompatible CPU, 1 kB + 256 B RAM, 16 kB eingebetteten Flash-Speicher sowie eine breite Palette von System-Peripheriegeräten.
Beim Blick in das Datenblatt des nRF24L01+ sehen wir, dass es sich um einen 2,4-GHz-HF-Chip handelt, der entweder mit 250 kbit/s/1 Mbit/s/2 Mbit/s arbeitet, GFSK (Gaussian Frequency-Shift Keying, eine digitale Frequenzmodulation/FM) verwendet und leider über keinen legitimen promiskuitiven oder direkten Modus zum Mitschneiden verfügt … oder doch?
Normalerweise würde ich so etwas wie einen HackRF oder RTL-SDR mit digitalem Downconverter herausholen (um 2,4 GHz in den RTL-SDR-Bereich zu bringen). Es wäre jedoch wirklich schön, wenn wir mit günstigerer Hardware mitschneiden könnten, denn letztendlich möchte ich alles in einem Gerät verpacken, das im Feld zurückgelassen werden kann.
Nach einer einfachen Suche stieß ich auf eine erstaunliche Seite von Travis Goodspeed, auf der er nicht nur eine ähnliche Tastatur abhört (Microsoft Comfort Desktop 5000), sondern auch zeigt, wie man den nRF24L01+ mithilfe seines GoodFET-Geräts und eines Host-Computers mit der Python-Anwendung goodfet.nrf in einen 2,4-GHz-Sniffer verwandelt.
Travis fand heraus, dass das Mitschneiden mit dem Gerät herkömmlich schwierig ist, weil man nicht nur den Kanal (Frequenz) angeben muss, auf dem gelauscht werden soll, sondern auch eine MAC-Adresse, auf die gehört wird. Der nRF-Chip liefert nur Pakete, die an diese bestimmte MAC-Adresse gesendet werden. Zusätzlich teilt der nRF-Chip die MAC-Adresse nicht mit, da man sie bereits angegeben hat (sie wird in einem unserer RX_ADDR_P[0-5]-Pipes erwartet, die im Datenblatt aufgeführt sind).
Beim Festlegen der Länge der MAC-Adresse fand Travis jedoch heraus, dass es eine Option gibt, die im Datenblatt als „illegal" gilt (SETUP_AW, 0x03 auf 00 gesetzt), die MAC-Adresse aber tatsächlich auf 2 Bytes setzt! Indem wir die MAC-Adresse auf Daten setzen, die normalerweise in der Präambel vorkommen (0x00AA oder 0x0055, binär 0000000010101010 oder 0000000001010101), können wir das Gerät austricksen, uns das Paket frühzeitig zu liefern, wodurch uns eine vollständige MAC-Adresse im Datenteil präsentiert wird! Lesen Sie seinen großartigen Artikel für alle Details.
Wir können zwar einen GoodFET, einen Computer und einen nRF24L01+ zum Mitschneiden während des Testens verwenden, aber letztendlich wollen wir das auf einem preiswerten eingebetteten Gerät haben. Wir können einen Teil von Travis' großartiger Arbeit in Python nehmen und nach eingebettetem C portieren, sodass wir es auf einen Mikrocontroller laden können, statt einen Computer plus GoodFET zu benötigen.
Darüber hinaus implementieren wir einige Verbesserungen. Goodfet.nrf bietet eine Methode zum Durchsuchen von Geräten, indem Folgendes ausgeführt wird:
Das bedeutet: Um den gesamten Frequenzbereich abzuscannen, dauert es etwa 85 Minuten, und es müssen mindestens einige Tastenanschläge erfolgen, während wir im richtigen 10-Sekunden-Zeitfenster lauschen. Nachdem ich Travis' Forschung und Tastatur, die KeyKeriki-Forschung und -Tastatur sowie meine eigene Tastatur durchgesehen habe, können wir einige Verbesserungen umsetzen:
0xAA (10101010) sein wird, weil auf die Präambel von 0xAA immer ein 1-Bit folgt (0xCD ist 11001101), um die Bits abwechselnd zu halten – halbiert unsere SucheThorsten Schröder und Max Moser präsentierten ein großartiges Gerät, den KeyKeriki, das Microsoft-Tastaturen abhören kann. Sie haben den Entschlüsselungsprozess vollständig reverse-engineered und ein Gerät dafür entwickelt. Travis weist jedoch darauf hin, dass ihr Gerät zwei Funkmodule und einen leistungsfähigen Mikrocontroller benötigt, um Pakete mit der 2-Mbit/s-Geschwindigkeit der Tastaturen zu erfassen und zu parsen. Travis' Projekt ist ebenfalls großartig, benötigt jedoch einen Host-Computer und ist für unsere verdeckte Umsetzung zu groß. Wir verbessern diese Entwürfe in diesem Szenario, indem wir nur ein preiswertes Funkmodul und einen Mikrocontroller benötigen – beide mit geringem Stromverbrauch und sehr klein, kein Computer oder ausgefallene Funkmodule erforderlich.
Thorsten und Max entdeckten, dass die Tastatureingaben einfach mit der MAC-Adresse im ECB-Modus verschlüsselt (xor'd) sind. Diese können wir mithilfe von Travis' Methode des Missbrauchs des nRF24L01+ abhören, um sowohl zu sniffern als auch die MAC-Adressen preiszugeben. Diese „Verschlüsselung" ist gleichbedeutend damit, ein Kartenspiel zu nehmen, es einmal abzuschneiden und es gemischt zu nennen.
Nach weiterer Untersuchung habe ich festgestellt, dass wir, da wir nun wissen, dass alle Microsoft-Tastaturen mit 0xCD als MAC-Adresse beginnen, die eigentliche Tastatureingabe (unten in Orange) zufällig mit dem ersten Byte der MAC-Adresse (0xCD) ausgerichtet ist. Das bedeutet: Selbst wenn wir die MAC-Adresse nicht kennen, können wir die Tastatureingabe entschlüsseln, da sich die Ausrichtung nie ändert und 0xCD immer das erste Byte der MAC ist.
Eine weitere Entdeckung: Da die Länge des Verschlüsselungsteils des Pakets 11 Bytes beträgt, die MAC 5 Bytes lang ist und die CRC jedes Byte mit einem anderen xor'd wird (vor der Verschlüsselung), passiert etwas Interessantes. Da die MAC zweimal xor'd wird, können wir die Prüfsumme auch ohne Kenntnis der MAC-Adresse berechnen. Der Grund: Die MAC-Adresse ist vollständig zweimal enthalten, und das Xoring einer Zahl mit sich selbst (bzw. das Xoring der MAC mit der MAC) hebt sich gegenseitig auf. Das 11. Byte ist wieder das erste Byte der MAC, von dem wir immer wissen, dass es 0xCD ist. Dies ermöglicht uns weitere Angriffe, etwa das Verändern der Tastatureingabe und der CRC, ebenfalls ohne Kenntnis der MAC-Adresse. Ich werde dies und einige andere unterhaltsame Demonstrationen in einem zukünftigen Projekt vorstellen.
Eine Seite aus der KeyKeriki-Präsentation zeigt den Entschlüsselungsprozess:
Unsere Entschlüsselungsmethode, implementiert im KeySweeper-Quellcode:``` // decrypt those keyboard packets! void decrypt(uint8_t* pkt) { // our encryption key is the 5-byte MAC address and // starts 4 bytes in (4-byte header is unencrypted) for (int i = 4; i < 15; i++) pkt[i] ^= mac >> (((i - 4) % 5) * 8) & 0xFF; }
# (U) Bauen / Übernehmen eines USB-Ladegeräts
**WARNUNG: Geräte, die an das Wechselstromnetz angeschlossen werden, verwenden Hochspannung, und das Gerät, das wir erstellen und an Wechselstrom anschließen, ist nicht sicher und erfüllt auch nicht die üblichen elektrischen Sicherheitsstandards. Dies ist ein gefährliches Gerät, das bei unsachgemäßer Verwendung oder Herstellung töten, Brände oder andere schwere Schäden verursachen kann. Bauen Sie kein netzbetriebenes Gerät, es sei denn, Sie wissen, was Sie tun. Wenn Sie den Bau dieses Geräts ohne Wechselstrom fortsetzen möchten, verwenden Sie einfach eine Batterie oder versorgen Sie das Gerät direkt über USB, um sicher weiterzubauen.**
KeySweeper verwendet extrem stromsparende und unauffällige Hardware, um so verdeckt wie möglich zu bleiben. KeySweeper kann über eine Batterie oder über ~3-20V Gleichstrom betrieben werden. Da wir KeySweeper zu jeder Zeit mit Strom versorgen möchten, installieren wir ihn heimlich in einem harmlosen Wand-USB-Ladegerät, von dem wir erwarten, dass es immer eingesteckt ist.
Falls das USB-Ladegerät ausgesteckt wird, setzt KeySweeper seinen Betrieb dank seiner (optionalen) internen Batterie heimlich fort. Sobald KeySweeper wieder eingesteckt wird, wechselt es zurück zur Stromversorgung über Wechselstrom und lädt gleichzeitig die Batterie wieder auf.
Wenn Sie KeySweeper einfach **ohne** das GSM-Board bauen, können Sie alles in ein typisches USB-Wandladegerät für Wechselstrom einbauen. Ich empfehle, nach einem zu suchen, das mit einer Schraube zusammengehalten wird, da die meisten anderen versiegelt sind und die Zerstörung eines Teils des Geräts erfordern, um es zu öffnen.
[](http://samy.pl/keysweeper/usbopen.jpg)
Wenn Sie sich für die Verwendung des GSM-Boards entscheiden, habe ich festgestellt, dass es zusammen mit der restlichen Elektronik nicht in diesen USB-Ladegerättyp passt. Ich habe jedoch entdeckt, dass wir durch das Öffnen eines kleineren USB-Ladegeräts (ähnlich den iPhone-USB-Ladegeräten) einen viel kleineren Gleichrichter (AC->DC) und Abwärtswandler (Hochspannung->5V) finden, der es ermöglicht, **die gesamte** Elektronik in das größere USB-Ladegerät einzubauen.
[](http://samy.pl/keysweeper/usbcharger1.jpg)
[](http://samy.pl/keysweeper/usbcharger2.jpg)
Meine Freundin Dana hat mir ihren Puppen-Lötkolben geliehen. Ich verstehe nicht ganz, wofür sie ihn verwendet, aber es ist ein Lötkolben mit einer aufsteckbaren Klinge. Das eignet sich hervorragend zum Durchschneiden von Kunststoff und, wie ich vermute, auch von Puppen. Sie nahm den Lötkolben zurück, sobald ich erklärte, was das Gerät tun würde. Offenbar unterstützt sie das nicht, obwohl ich nicht weiß, warum. Ich bin sicher, das werde ich herausfinden, sobald ich weitere Tastenanschläge von ihrer Tastatur abfange.
[](http://samy.pl/keysweeper/usbcharger3.jpg)
[](http://samy.pl/keysweeper/usbchargeropen.jpg)
**WARNUNG: Auch hier gilt: Da wir mit Wechselstrom zu tun haben, ist dies sehr gefährlich. Öffnen oder verdrahten Sie kein netzbetriebenes Gerät, es sei denn, Sie wissen, was Sie tun.** Sie können KeySweeper trotzdem bauen, indem Sie einfach alles über ein USB-Ladegerät, einen USB-Port oder eine Batterie mit Strom versorgen, ohne ein Wechselstromgerät zu modifizieren.
Außerdem ist es wichtig, unseren Arduino über den RAW-Port mit der 5v USB-Stromversorgung mit korrekter Polung zu verbinden (Minus an GND, Plus an RAW). In diesem Fall verwende ich einen 3.3v Arduino Pro Mini. Der RAW-Port nimmt ungeregelte Spannung zwischen 3.35-12v auf und verwendet einen integrierten Spannungsregler, um sie auf 3.3v herunterzuregeln. Beachten Sie, dass unser nRF24L01+ Chip 1.9-3.6v benötigt; 5v sind also **zu viel!** Wenn Sie außerdem einen SPI-Chip wie den [SST25VF016B](http://ww1.microchip.com/downloads/en/DeviceDoc/S71271_04.pdf) verwenden, benötigt dieser 2.7-3.6v – auch hier sind 5v **zu viel!** Verwenden Sie unbedingt die geregelten 3.3v vom Arduino (vom VCC-Pin eines 3.3v Arduinos oder vom 3V3-Pin eines 5v Arduinos.)
[](http://samy.pl/keysweeper/multimeter.jpg)
*Hinweis: Das neben dem Multimeter abgebildete USB-Board ist das Original, bevor ich mich entschieden hatte, es gegen ein kleineres auszutauschen, um auch das GSM-Board unterzubringen.*
Nachdem wir die gesamte Hardware zusammengestellt haben, sehen wir, dass alles mit etwas Platz in unser Ladegerät passt (vor der Verkabelung):
[](http://samy.pl/keysweeper/testingsize.jpg)
Zum Spaß habe ich die LED des Ladegeräts an Pin 6 des Arduinos angeschlossen, und obwohl die LED sich scheinbar gleich verhält, lasse ich sie tatsächlich aufblinken, wenn Tastenanschläge abgefangen werden. Das wird Ihre Tarnung wahrscheinlich auffliegen lassen, ist aber wirklich lustig anzusehen. Ich stelle außerdem sicher, dass die LED erlischt, wenn die Wechselstromversorgung ausfällt, selbst wenn der Rest des Geräts weiterhin über die interne Batterie arbeitet.
Wir möchten außerdem sicherstellen, dass der Rest des USB-Ladegeräts funktionsfähig bleibt, damit andere Geräte weiterhin über das USB-Ladegerät mit Strom versorgt werden können.

-----
# (U) Optionaler sekundärer KeySweeper
Wenn Sie auf das GSM-Board verzichten möchten, um die Kosten niedrig zu halten, können Sie ein sekundäres KeySweeper-Gerät erstellen, das lediglich einen Arduino und ein nRF24L01+ enthält. Beim Kompilieren des sekundären Geräts kommentieren Sie die Zeile `#define BACKTRACER 1` aus.
Die Funktionsweise ist: Sobald der sekundäre KeySweeper (BACKTRACER) in die Funkreichweite (unter Verwendung des 2.4GHz nRF24L01+) des ersten Geräts gelangt, erkennt er automatisch dessen Existenz, und das ursprüngliche KeySweeper-Gerät überträgt seine Logs an den BACKTRACER. Die automatische Erkennung ist in beide KeySweeper eingebaut, sodass sie einander schnell finden können – dank der Fähigkeit des nRF24L01+, mehrere RX-Pipes zu unterstützen.
Wenn Sie den BACKTRACER an einen Computer angeschlossen haben, werden die Tastenanschläge über die serielle Schnittstelle ausgegeben, und Sie können den Befehl 'E' über die serielle Schnittstelle senden, um den Inhalt des SPI-Flash-Chips des ursprünglichen KeySweeper zu löschen, sobald Sie dessen Inhalt erhalten haben. Sie können dann einfach gehen und den ursprünglichen KeySweeper weiterhin Tastenanschläge aufzeichnen lassen.
-----
# (U) Schaltplan
Klicken Sie für eine größere Version (FONA-basierter Schaltplan) oder [klicken Sie hier](http://samy.pl/keysweeper/keysweeper.fzz) für die Fritzing-Datei.
[](http://samy.pl/keysweeper/keysweeper2_schem.png)
-----
# (U) Kontakt
**Ansprechpartner:** [@SamyKamkar](https://twitter.com/samykamkar)
Mehr meiner Projekte finden Sie unter <http://samy.pl> oder Sie können mich unter <[email protected]> kontaktieren.