Ngày nay, định dạng .zip được coi là một trong những định dạng nén phổ biến trên máy tính cá nhân. Quá trình bẻ khóa file zip online cũng được thực hiện một cách khá đơn giản. Tuy nhiên, có thể mất một thời gian đáng kể đối với những mật khẩu phức tạp. Trong bài viết này, Techcare Đà Nẵng sẽ hướng dẫn đến các bạn cách crack password File Zip một cách đơn giản bằng ngôn ngữ lập trình Python. Mời các bạn cùng tham khảo bên dưới nhé!
1. Các thư viện cần sử dụng để crack password file zip
Để bẻ khóa file zip online, người dùng cần chuẩn bị các thư viện như sau:
- Thư viện zipfile được sử dụng để xử lí file Zip.
- Thư viện itertools được sử dụng để tạo các chuỗi password.
- Thư viện time được sử dụng để tính thời gian.
Xem thêm bài viết tương tự:
Tải phần mềm nén file: https://drive.google.com/file/d/1YGmrtSHhN3J40KApyi6ZRdvfUwL2XQ3R/view?usp=sharing
2. Coding
Để bẻ khóa file zip online bằng Python, các bạn hãy tạo một biến lưu giá trị của tất cả những kí tự ở trên bàn phím:
Tiếp theo, bạn hãy viết hàm Brute rồi sử dụng hàm extractall ở module zipfile. Như vậy để tiến hành thử giải nén file zip với password đã được tạo:
123456789 def Brute(zipFile,password):
# Thử giải nén file zip
try:
zipFile.extractall(pwd=password.encode())
print ('Password:',password)
return True
except:
pass
Sau đó, chúng ta sẽ có hàm main:
123456789101112131415161718 def main():
# File zip cần crack
zipFile = zipfile.ZipFile('filename.zip')
length = 1
start_time = time.clock()
# Lặp cho đến khi tìm ra pass
while True:
# Tạo list pass
listPass = product(CHARACTER, repeat=length)
for tryPass in listPass:
password = ''.join(tryPass)
# Nếu password đúng thì in thời gian và return
if Brute(zipFile,password):
print('Time',time.clock() - start_time,'s')
return
# Nếu list pass sai, tăng độ dài kí tự trong list lên 1
length += 1
Lúc này, chức năng product trong module itertools sẽ bắt đầu thực hiện nhiệm vụ tạo ra một danh sách pass có độ dài từ biến length. Sau đó, hàm Brute sẽ thực hiện nhiệm vụ thử giải nén mật khẩu trong danh sách này. Trong trường hợp không thành công, danh sách pass sẽ được tạo lại với độ dài của các ký tự tăng thêm 1. Quá trình này sẽ được lặp lại cho đến khi mở khóa thành công file zip online và tìm ra mật khẩu.
Toàn bộ code:
1234567891011121314151617181920212223242526272829303132333435363738import zipfile
from itertools import product
import time
CHARACTER = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()'
def Brute(zipFile,password):
# Thử giải nén file zip
try:
zipFile.extractall(pwd=password.encode())
print ('Password:',password)
return True
except:
pass
def main():
# File zip cần crack
zipFile = zipfile.ZipFile('filename.zip')
length = 1
start_time = time.clock()
# Lặp cho đến khi tìm ra pass
while True:
# Tạo list pass
listPass = product(CHARACTER, repeat=length)
for tryPass in listPass:
password = ''.join(tryPass)
# Nếu password đúng thì in thời gian và return
if Brute(zipFile,password):
print('Time',time.clock() - start_time,'s')
return
# Nếu list pass sai, tăng độ dài kí tự trong list lên 1
length += 1
if __name__ == '__main__':
main()
Xem thêm: Hướng dẫn cách nén File Zip đơn giản nhất Xem thêm: Cách xoá logo trong Video 100% hiệu quả
3. Thử nghiệm
Chúng ta sẽ tạo một file zip với tên là Takizawa Laura.zip và pass là jav.
Tiến hành chạy thử và kết quả như sau:
Lúc đầu, list pass sẽ được tạo với length = 1 có dạng là [a, b, c,...]. Sau đó, nếu không được thì tiếp tục tăng length = 2. Lúc đó, list sẽ trở thành [aa, ab, ac,...] và nếu cũng không được thì tăng lên length = 3 thì [aaa, aab,..., jav,...].
Trên đây là một phương pháp đơn giản để crack password file zip trực tuyến mà Techcare Đà Nẵng đã hướng dẫn chi tiết đến các bạn. Hy vọng đây là những thông tin hữu ích giúp các bạn bẻ khóa file zip thành công nhé!