From 9fdb1c90116d9ce7aefec5c3cfa2bfc2841b1e91 Mon Sep 17 00:00:00 2001 From: Sliim Date: Sat, 4 Aug 2018 03:20:20 +0200 Subject: [PATCH] Add index option for multiple dongles --- bin/jackit | 5 +++-- jackit/mousejack.py | 10 +++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/bin/jackit b/bin/jackit index 5980d59..5794022 100755 --- a/bin/jackit +++ b/bin/jackit @@ -132,7 +132,8 @@ def confirm_root(): @click.option('--autopwn', is_flag=True, help="Automatically find and attack all targets") @click.option('--all-channels', is_flag=True, help="Send attack to all detected channels") @click.option('--keylogging', is_flag=True, help="Log keystrokes for XOR encrypted MS keyboards") -def cli(debug, script, lowpower, interval, layout, address, vendor, reset, autopwn, all_channels, keylogging): +@click.option('--index', default=0, help="Dongle index to use") +def cli(debug, script, lowpower, interval, layout, address, vendor, reset, autopwn, all_channels, keylogging, index): banner() confirm_root() @@ -172,7 +173,7 @@ def cli(debug, script, lowpower, interval, layout, address, vendor, reset, autop # Initialize the radio try: - jack = mousejack.MouseJack(lowpower, debug, reset) + jack = mousejack.MouseJack(lowpower, debug, reset, index) except Exception as e: if e.__str__() == "Cannot find USB dongle.": _print_err("Cannot find Crazy PA USB dongle.") diff --git a/jackit/mousejack.py b/jackit/mousejack.py index 0c47345..31992b6 100644 --- a/jackit/mousejack.py +++ b/jackit/mousejack.py @@ -9,14 +9,14 @@ class MouseJack(object): ''' Class for scanning, pinging and fingerprint devices ''' - def __init__(self, disable_lna=False, debug=False, reset=False): + def __init__(self, disable_lna=False, debug=False, reset=False, index=0): self.channels = range(2, 84) self.channel_index = 0 self.debug = debug self.devices = {} self.ping = [0x0f, 0x0f, 0x0f, 0x0f] self.plugins = [microsoft, microsoft_enc, logitech, amazon] - self.init_radio(disable_lna, reset) + self.init_radio(disable_lna, reset, index) def _debug(self, text): if self.debug: @@ -28,11 +28,11 @@ def from_display(self, data): def to_display(self, data): return ':'.join('{:02X}'.format(x) for x in data) - def init_radio(self, disable_lna, reset): + def init_radio(self, disable_lna, reset, index): if reset: self._debug("Resetting USB dongle") - nrf24_reset.reset_radio(0) - self.radio = nrf24.nrf24(0) + nrf24_reset.reset_radio(index) + self.radio = nrf24.nrf24(index) if not disable_lna: self._debug("Enabled LNA") self.radio.enable_lna()