Skip to content

mariciucioan/archive-cracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

archive-cracker

EN

Introduction

This repository contains my Python3 class project.

Name Zipspy
Author Mariciuc Ioan (@mariciucioan)
Python Version Python 3.9
Supports .ZIP files

Frameworks

Framework Used for
Kivy Graphical User Interface
plyer File chooser for GUI app
termcolor Terminal colors
pyzipper Working with zip files
tqdm Progress bar

Requirements

Write a tool that receives as parameters a ZIP archive and searches for its password. The password must be alphanumeric and must have a maximum length of 10 characters. It must not use extern tools.

Approach

Goal Technologies/Details
☑ Create a graphic user interface (GUI) Kivy
☑ Implement the cracking algorithm Dictionary & Brute Force Attacks
☑ Implement testing unittest

Accuracy and performance

  • Dictionary attacks are faster and can break common passwords and do not grant finding the password;
  • Brute attacks are slower but grant 100% accuracy for alphanumerical passwords with length <= 10. For a better performance we can make use of multi-threading.

To do

  • Connect the GUI app to the scripts and make it functional.
  • Make a portable version of the GUI app. <- built application is too big to even care about that.
  • For the GUI app make the password cracking run in different thread so the GUI app won't get 'not responding'.
  • Check if the archive has a password.

RO

Introducere

Acest repository contine proiectul pentru laboratorul de Python3.

Nume Zipspy
Autor Mariciuc Ioan (@mariciucioan)
Versiune Python Python 3.9
Extensii suportate .ZIP files

Frameworks

Framework Folosit pentru
Kivy Interfata grafica
plyer File chooser pentru aplicatia grafica
termcolor Culori in terminal
pyzipper Lucru cu fisierele .zip
tqdm Bara de progres

Cerinta

Scrieti un tool care primeste ca paramtru o arhiva parolata ZIP si care ghiceste parola arhivei. Parola va fi alfanumerica si va avea maxim 10 caractere. Nu se pot folosi tool-uri externe.

Mod de abordare

Scop Tehnologii/Detalii
☑ Crearea unei interfete grafice pentru utilizator Kivy
☑ Implementarea algoritmului pentru spargerea parolei Dictionary & Brute Force Attacks
☑ Implementarea testelor unittest

Acuratete si performanta

  • Atacurile de tip "Dictionary Attacks" sunt mai rapide, insa nu garanteaza 100% gasirea parolei. Acest tip de atac verifica parolele intalnite in mod comun.
  • Atacurile de tip "Brute Force Attack" sunt mai incete, insa garanteaza 100% acuratete in gasirea parolelor alfanumerice mai scurte sau egale cu 10 caractere. Pentru o performanta mai buna cautarea parole s-a facut ajutandu-ma de multi-threading.

To do

  • Comunicare intre GUI app si scripturi.
  • Construirea unui executabil portabil pentru aplicatia grafica. <- aplicatia e prea mare si nu merita.
  • Pentru aplicatia grafica algoritmul pentru gasirea parolei trebuie sa fie facut sa ruleze pe alt thread pentru a nu primit 'not responding'.
  • Verifica daca fisierul are parola sau nu.

IMAGES

Terminal side

Terminal-1
Terminal-2

GUI side

GUI-1
GUI-2
GUI-3
GUI-4
GUI-5
GUI-6

Contributors

Languages