Projects STRLCPY aardwolf Commits 9d1620ad
🤬
  • ■ ■ ■ ■ ■ ■
    aardwolf/commons/iosettings.py
    skipped 50 lines
    51 51   # The order signifies the preference to the server but the server can decide to ignore it
    52 52   self.vnc_encodings = [2, 1, 0]
    53 53  
    54  - # file path of the ducky file (if used)
    55  - self.ducky_file = None
    56  - # ducky script start delay, None means that typing will not start automatically
    57  - self.ducky_autostart_delay = 5
  • ■ ■ ■ ■ ■ ■
    aardwolf/examples/aardpclient.py
    skipped 32 lines
    33 33   self.keyboard:int = True
    34 34   self.url:str = url
    35 35   self.iosettings:RDPIOSettings = iosettings
     36 + # file path of the ducky file (if used)
     37 + self.ducky_file = None
     38 + # ducky script start delay, None means that typing will not start automatically
     39 + self.ducky_autostart_delay = 5
    36 40   
    37 41  class RDPImage:
    38 42   def __init__(self,x,y,image,width,height):
    skipped 52 lines
    91 95   
    92 96   async def ducky_exec(self, bypass_delay = False):
    93 97   try:
     98 + if self.settings.ducky_file is None:
     99 + return
    94 100   from aardwolf.keyboard.layoutmanager import KeyboardLayoutManager
    95 101   from aardwolf.utils.ducky import DuckyExecutorBase, DuckyReaderFile
    96 102   if bypass_delay is False:
    97  - if self.settings.iosettings.ducky_autostart_delay is not None:
    98  - await asyncio.sleep(self.settings.iosettings.ducky_autostart_delay)
     103 + if self.settings.ducky_autostart_delay is not None:
     104 + await asyncio.sleep(self.settings.ducky_autostart_delay)
    99 105   else:
    100 106   return
    101 107  
    102 108   layout = KeyboardLayoutManager().get_layout_by_shortname(self.settings.iosettings.client_keyboard)
    103 109   executor = DuckyExecutorBase(layout, self.ducky_keyboard_sender, send_as_char = True if self.conn.target.dialect == RDPConnectionDialect.VNC else False)
    104  - reader = DuckyReaderFile.from_file(self.settings.iosettings.ducky_file, executor)
     110 + reader = DuckyReaderFile.from_file(self.settings.ducky_file, executor)
    105 111   await reader.parse()
    106 112   except Exception as e:
    107 113   traceback.print_exc()
    skipped 11 lines
    119 125   #asyncio.create_task(self.inputhandler())
    120 126   input_handler_thread = asyncio.get_event_loop().run_in_executor(None, self.inputhandler, asyncio.get_event_loop())
    121 127   self.loop_started_evt.set()
    122  - if self.settings.iosettings.ducky_file is not None:
     128 + if self.settings.ducky_file is not None:
    123 129   x = asyncio.create_task(self.ducky_exec())
    124 130   while not self.gui_stopped_evt.is_set():
    125 131   data = await self.conn.ext_out_queue.get()
    skipped 324 lines
    450 456   iosettings.video_bpp_max = args.bpp
    451 457   iosettings.video_out_format = VIDEO_FORMAT.QT5
    452 458   iosettings.client_keyboard = args.keyboard
    453  - iosettings.ducky_file = args.ducky
    454  - iosettings.ducky_autostart_delay = duckydelay
    455 459  
    456 460   
    457 461   settings = RDPClientConsoleSettings(args.url, iosettings)
    458 462   settings.mhover = args.no_mouse_hover
    459 463   settings.keyboard = args.no_keyboard
     464 + settings.ducky_file = args.ducky
     465 + settings.ducky_autostart_delay = duckydelay
    460 466   
    461 467   
    462 468   app = QApplication(sys.argv)
    skipped 7 lines
Please wait...
Page is in error, reload to recover