diff --git a/src/detecteur_crypto.py b/src/detecteur_crypto.py index 4e21e4d..cab72aa 100644 --- a/src/detecteur_crypto.py +++ b/src/detecteur_crypto.py @@ -66,7 +66,7 @@ def analyser_fichier_specifique(self, chemin_fichier_chiffre: str) -> ResultatAn try: # Vérification de l'existence du fichier - if not os.path.exists(chemin_fichier_chiffre): + if not os.path.exists(f"data/{chemin_fichier_chiffre}"): print("Erreur: Fichier non trouvé") return ResultatAnalyse("", b"", 0.0, b"", 0.0, 0) @@ -80,14 +80,14 @@ def analyser_fichier_specifique(self, chemin_fichier_chiffre: str) -> ResultatAn # Parcours des algorithmes disponibles scores_algorithmes = {} for nom_algo, analyzer in self.analyzers.items(): - score = analyzer.identifier_algo(chemin_fichier_chiffre) + score = analyzer.identifier_algo(f"data/{chemin_fichier_chiffre}") scores_algorithmes[nom_algo] = score - print(f"{nom_algo}: score {score:.2f}") + # print(f"{nom_algo}: score {score:.2f}") if score > 0.5: # Seuil de confiance algorithme_detecte = nom_algo score_probabilite = score - print(f"Algorithme détecté: {algorithme_detecte} (score: {score:.2f})") + # print(f"Algorithme détecté: {algorithme_detecte} (score: {score:.2f})") break if not algorithme_detecte: @@ -249,5 +249,4 @@ def attaque_dictionnaire_manuelle(self, chemin_fichier: str, algorithme_choisi: print(f"Erreur lors de l'attaque: {str(e)}") temps_execution = time.time() - debut_attaque return ResultatAnalyse("", b"", 0.0, b"", temps_execution, 0) - -print(DetecteurCryptoOrchestrateur().analyser_fichier_specifique(f"{os.path.abspath(os.curdir)}\\CryptoForensic-Python\\data\\mission2.enc")) +# print(DetecteurCryptoOrchestrateur().analyser_fichier_specifique('data/mission1.enc')) diff --git a/src/interface_console.py b/src/interface_console.py index a9c2adc..99446b7 100644 --- a/src/interface_console.py +++ b/src/interface_console.py @@ -36,7 +36,7 @@ def dynamiqueText(self,text,color): for char in text: self.console.print(f"[{color}]{char}[/{color}]",end='') - time.sleep(0.04) + time.sleep(0.02) self.console.print('\n') @@ -45,7 +45,7 @@ def default_menu(self): self.console.clear() self.dynamiqueText("😈​ Bienvenue sur Forensic je suis Crypto votre assitant IA minimaliste 🤖​ ","green") self.dynamiqueText("En quoi puis-je vous aider ? :","white") - time.sleep(0.04) + time.sleep(0.02) menuTag = Markdown("# Menu",style="blue") menuOption = Markdown("1. #### Analyse d'un fichier spécifique \n" \ "2. #### Mission complète automatique \n" \ @@ -54,7 +54,7 @@ def default_menu(self): "5. #### Système d'aide intégré \n" \ "6. #### Quitter") self.console.print(menuTag,menuOption) - time.sleep(0.04) + time.sleep(0.02) choix = self.prompt.ask("Veuillez choisir une option ", choices=["1","2","3","4","5","6"]) try: @@ -80,51 +80,69 @@ def menu_1(self): self.dynamiqueText("Analyse d'un fichier spécifique","green") self.dynamiqueText("Veuillez entrer le chemin du fichier","yellow") fichier = self.prompt.ask("") - time.sleep(0.04) + time.sleep(0.02) # chemin_fichier = self.prompt.ask("Veuillez entrer le chemin du fichier : ") # resultat = Analyser_fichier_uniquement(chemin_fichier) - self.console.clear() + # self.console.clear() # self.dynamiqueText("Analyse en cours...","green") - # time.sleep(0.04) + # time.sleep(0.02) # self.console.clear() self.dynamiqueText("Analyse terminée","green") - self.console.print(DetecteurCryptoOrchestrateur().analyser_fichier_specifique(fichier)) - # time.sleep(0.04) + data = DetecteurCryptoOrchestrateur().analyser_fichier_specifique(fichier) + print(f"\n[bold]Algorithme détecté[/bold] : [yellow]{data.algo}[/yellow]") + # print(data.cle) + print(f"\n[bold]Score de probabilité[/bold] : [green]{data.score_probabilite}[/green]") + # print(data.texte_dechiffre) + print(f"\n[bold]Temps d'éxécution[/bold] : [green]{round(data.temps_execution,4)}[/green] s") + esc=input("Veuillez appuyer sur la touche entrer pour retrouner au menu principal") + if esc=="": + self.default_menu() + else : self.default_menu() + # print(data.nb_tentatives) + # time.sleep(0.02) # def menu_2(self): self.console.clear() self.dynamiqueText("Mission complète automatique","green") self.dynamiqueText("Veuillez entrer le chemin du dossier :","white") - time.sleep(0.04) + time.sleep(0.02) # chemin_dossier = self.prompt.ask("Veuillez entrer le chemin du dossier : ") self.console.clear() self.dynamiqueText("Mission en cours...","green") - time.sleep(0.04) + time.sleep(0.02) self.console.clear() self.dynamiqueText("Mission terminée","green") - time.sleep(0.04) + time.sleep(0.02) self.default_menu() def menu_3(self): self.console.clear() self.dynamiqueText("Attaque par dictionnaire manuelle","green") self.dynamiqueText("Veuillez entrer le chemin du fichier :","white") - time.sleep(0.04) + time.sleep(0.02) # chemin_fichier = self.prompt.ask("Veuillez entrer le chemin du fichier : ") self.console.clear() self.dynamiqueText("Attaque en cours...","green") - time.sleep(0.04) + time.sleep(0.02) self.console.clear() self.dynamiqueText("Attaque terminée","green") - time.sleep(0.04) + time.sleep(0.02) self.default_menu() def menu_4(self): self.console.clear() self.dynamiqueText("Affichage des rapports","green") - time.sleep(0.04) - self.default_menu() + time.sleep(0.02) + f = open("rapport_mission.txt",'r') + rapports = f.read() + for rapport in rapports: + print(f"\n{rapport}") + f.close() + esc = input('Veuillez appuyez sur la touche entrer pour continuer') + if esc=='': + self.default_menu() + else: self.default_menu() def menu_5(self): self.console.clear()