【c语言】暴力破解rar压缩文件密码

最近下载了一个rar压缩文件,下载回来后发现需要密码,手动猜解了几个密码失败后决定暴破试试,在linux下有一个暴破的工具叫作rarcrack,不过依我这种强迫症,势必是要自己亲自动手的,所以按着自己的想法做了一个暴破的工具。

程序的原理是从字典中读取密码再通过unrar来进行测试,一但测试成功也就是得到了正确的密码,所以该程序依赖unrar(没有解压工具怎么行)。
程序是多线程的,默认为8线程,可通过-t参数指定线程数,程序会根据这些线程均匀地从字典中分隔出多个部分(线程数)对应每个线程进程读取破解,所以破解的成功与否关键在于你字典的强大程度当然也要有相当的耐心和一台强大的计算机。
程序会保留破解状态,这样在未破解完成(字典没有跑完且没有得到正确密码)时退出后还可以再次运行程序接着上次破解的位置继续进行破解。
破解成功后密码会保存在执行该程序目录下的rarpsd.psd文件中。
如果想重新加载字典以及重新设置线程数,请手动删除执行该程序目录下的.rarpsd.line以及.rarpsd.save后再次执行。
密码在字典文件中按行排列(不包括空白符)如
1234
5678
abc123
…..
程序的各参数为:

-f 文件 要破解的rar文件
-t 数量 设置线程数,默认8线程
-p 文件 指定字典
-h 帮助
接着上次破解时只要在上次破解执行时的目录下再次执行该程序就可以了(不需要参数,这是因为程序会在该程序执行目录下建立.rarpsd.line和.rarpsd.save,分别用来保存上次破解的位置和上次破解的相关参数,包括线程数,文件名以及字典)。

下面是代码

–阅读次数(73)

发表评论

电子邮件地址不会被公开。

*