如何用Python写一个暴力破解加密压缩包的程

如何用Python写一个暴力破解加密压缩包的程,第1张

有些时候加密rar软件经常会忘了密码,但记得密码的大概,于是指悉败乎用Python写个程序来暴力破解吧:

首先要搞清楚如何用命令行来解压缩,经研究,rar软件解压唯颤是用的unrar.exe,将这个程序拷贝到C:\windows,然后进入加密软件包所在的文件夹,用命令行运行 下面的命令:

unrar.exe e -pabcd 123.rar

程序就是先前拷到C:\windows,然后参数e是指相对路径,如果在是本文件夹下运行这个命令,则只打文件名就可以了,输入密码的方式是-p后面的字段,假定是abcd,最后面的是要解压的文件名。

下面我们解决如何用Python来运行windows下的命令行

import subprocess

command = 'unrar.exe e -n -pabcd 123.rar'

subprocess.call(command)

这样也可以完成解压,既然这样,那就开干吧,写一个暴力循环,我以4位字母为例,字母加的不全,实际使用可以视情况添加

list1=['a','b','c','d']

list2=['a','b','c','d']

list3=['a','b','c','d']

list4=['a','b','c','d']

for i1 in range(0,len(list1),1):

for i2 in range(0,len(list2),1):

for i3 in range(0, len(list3), 1):

for i4 in range(0, len(list4), 1):

password=list1[i1]+list2[i2]+list3[i3]+list4[i4]

print(password)

command = 'unrar.exe e -n -p' + password + ' 123.rar'

child = subprocess.call(command)

if child == 0:

print('解压密码是:',password)

break

child是返回值,为0表示解压成功,可以挑出循环并打印密码了,我实测,4位纯数字或者字母,只需陆扮要十多秒就出来了,非常简单

简单模式:

from hashlib import md5

def md5_file(name):

m = md5()

a_file = open(name, 'rb') #需缺塌漏要使用二进制格式读取文件内容

m.update(a_file.read())

a_file.close()

return m.hexdigest()

if __main__ == '__init__':

print md5_file('d:/test.txt')

大文件速度更快一点的方式

#!/usr/bin/衫散python

#encoding=utf-8

import io

import sys

import hashlib

import string

def printUsage():

print ('''''伏烂Usage: [python] pymd5sum.py ''')

def main():

if(sys.argv.__len__()==2):

#print(sys.argv[1])

m = hashlib.md5()

file = io.FileIO(sys.argv[1],'r')

bytes = file.read(1024)

while(bytes != b''):

m.update(bytes)

bytes = file.read(1024)

file.close()

#md5value = ""

md5value = m.hexdigest()

print(md5value+"\t"+sys.argv[1])

#dest = io.FileIO(sys.argv[1]+".CHECKSUM.md5",'w')

#dest.write(md5value)

#dest.close()

else:

printUsage()

main()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12281409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存