def __init__(self, *args): Privilege.init() PyExt.init() StdChal.init() IOLoop.configure(EvIOLoop) Server.init_socket_server() super().__init__(*args)
def main(): '''Main function.''' Privilege.init() PyExt.init() StdChal.init() IOLoop.configure(EvIOLoop) init_websocket_server() IOLoop.instance().start()
def main(): '''Main function.''' Privilege.init() PyExt.init() StdChal.init() IOLoop.configure(EvIOLoop) init_socket_server() IOLoop.instance().start()
def main(): '''Main function.''' Privilege.init() PyExt.init() StdChal.init() IOLoop.configure(EvIOLoop) app = Application([ (r'/judge', JudgeHandler), ]) app.listen(2501) IOLoop.instance().start()
def password(param): """Demande le mot de passe du compte mis dans le fichier conf.ini et élève les privilèges de l'application avec ce compte L'option uac sert à passer le contrôle uac Usage: password help password [uac] """ doc = password.__doc__ arg = docopt2.docopt(doc, argv=param, help=False) if arg['help']: print(doc) return if not var_global.domaine or var_global.domaine['login'] is None: print("Aucun domaine et login dans le fichier conf.ini") var_global.domaine['name'] = input('domaine: ') var_global.domaine['name'] = var_global.domaine['name'] or None var_global.domaine['login'] = input('login: '******'login'] = var_global.domaine['login'] or None if var_global.domaine['login'] is None: return user_pass = getpass.getpass('mot de passe pour le compte %s: ' % var_global.domaine['login']) uac = arg['uac'] # on sauvegarde le path pour le restaurer en cas d'echec de get privilege # get privilege modifie le path pour éviter des erreurs si on lance l'exe # d'un UNC path path = os.getcwd() try: Privilege.get_privilege(var_global.domaine['login'], user_pass, var_global.domaine['name'], uac) raise SystemExit(0) except OSError as o: str_resultat = Fore.LIGHTRED_EX\ + "Erreur lors de l'élevation de privilège: "\ + var_global.fix_str(o.strerror) + Fore.RESET print(str_resultat.encode("cp850", "replace").decode("cp850", "replace")) # on restaure le path pour que l'autocompletion soit cale sur le repertoire courant # et pour pouvoir lire le fichier alias.ini lors de l'initialisation os.chdir(path) os.system("pause") return
def __init__(self, *args): Privilege.init() PyExt.init() StdChal.init() super().__init__(*args)
def main(): sys.excepthook = erreur_final try: if not os.path.isdir('mac'): os.mkdir('mac') except: print(Fore.LIGHTRED_EX + "[!] Erreur lors de la création du répertoire mac" + Fore.RESET) os.system("pause") print(Fore.LIGHTGREEN_EX + '[+] Lecture de conf.ini' + Fore.RESET) ini_groupes, dom = lire_fichier_ini('conf.ini') # on initialise la variable domaine qui contient le login administrateur # du domaine var_global.domaine.update(dom) # Si le login du fichier config est différent que celui avec lequel # on est connecté, on lance la procédure délévation de privilège if var_global.domaine['login'] is not None and getpass.getuser() != var_global.domaine['login']: commandes.password([]) # Si une demande de bypasser l'uac est demandé, on lance la procédure if sys.argv[1:] and sys.argv[1] == "pass_uac": Privilege.pass_uac() raise SystemExit(0) #logger_info.info('Création des alias') print(Fore.LIGHTGREEN_EX + '[+] Création des alias' + Fore.RESET) alias_cmd = var_global.lire_alias_ini() print(Fore.LIGHTGREEN_EX + '[+] Initialisation des salles :' + Fore.RESET) init_groupes(ini_groupes) AutoComplete.init_auto_complete() # efface l'écran print('\x1b[2J', end='') commandes.select(['*']) print('-' * (os.get_terminal_size().columns - 1)) print(Fore.LIGHTGREEN_EX + "Taper help ou la touche 'enter' pour obtenir de l'aide" + Fore.RESET) print('-' * (os.get_terminal_size().columns - 1)) while True: param = input('>>>') param = _protect_quotes(param) param = param.strip() param = param.split(' ') param = _remove_protect_char(param) cmd = param[0] if cmd in alias_cmd: # permet de créer des alias avec un parametre str_replace ="" if param[1:]: str_replace = " ".join(param[1:]) param = _protect_quotes(alias_cmd[cmd].replace("$$",str_replace)) param = param.strip() param = param.split(' ') param = _remove_protect_char(param) cmd = param[0] param.remove(cmd) cmd = cmd.lower() cmd_funct = getattr(commandes, cmd, commandes.help) try: # on efface la dernière erreur avant de lancer # la prochaine commande if cmd != 'errors': for m in var_global.groupe_selected_machines: m.message_erreur = '' cmd_funct(param) # nettoie une partie de ceux qui a été laissé par les threads # de la dernière commande # contrôle l'augmentation de la mémoire pour le multithread gc.collect() # print('com-ref: ', pythoncom._GetInterfaceCount()) print('-' * (os.get_terminal_size().columns - 1)) except Warning: cmd_funct(['help']) gc.collect() # print(pythoncom._GetInterfaceCount()) print('-' * (os.get_terminal_size().columns - 1))