• 大小: 553KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-26
  • 语言: C/C++
  • 标签: RAR  源码  密码  

资源简介

C语言实现 , 内置源码 , 通过外部config.txt进行相关配置 , 暴力破解是基于 7z 的压缩引擎 所以文件内的 7z.exe 不可以少 . 字符集可以自定义 注意字符顺序影响着破解效率

资源截图

代码片段和文件信息

#include
#include
#include
#include 
using namespace std; 
typedef struct Config{
char unrarFile[256];
char targetFile[256]; 
int minLength;
int maxLength;
char charSet[256];
int charSetSize;
}Config; 

//获取配置文件 
Config getConfig(){
Config c;
ifstream fin(“config.txt“);
if(!fin.is_open())
{cout<<“配置文件加载失败“< while(!fin.eof()){
char cbuf[256]; 
fin.getline(cbuf255);
string sbuf = cbuf;
if(sbuf==“[解压引擎地址]“)
{
fin.getline(c.unrarFile255);
}
else if(sbuf==“[目标文件地址]“)
{
fin.getline(c.targetFile255);
}
else if(sbuf==“[最小密码长度]“)
{
fin.getline(cbuf255);
c.minLength = atoi(cbuf);
}
else if(sbuf==“[最大密码长度]“)
{
fin.getline(cbuf255);
c.maxLength = atoi(cbuf);
}
else if(sbuf==“[密码字符集]“)
{
fin.getline(c.charSet255);
sbuf = c.charSet;
c.charSetSize = sbuf.length();

else{
cout<<“配置文件内容有误:“< cout< exit(1); 
}

fin.close(); 
return c; 


//测试压缩包 
bool test(string targetFilestring passwordstring unrarFile){
string cmd = unrarFile+ “ t -P“+password+“ “+targetFile+“ >log.txt“; 
if(system(cmd.c_str()) == 0 )
return true; 
return false; 


//递归函数 
void func(Config *cstring passwordint currentint target) {
if(current==target){
system(“cls“);
cout<<“当前尝试长度: “< cout<<“当前尝试密码: “< cout<<“---------------------“< if(test(c->targetFilepasswordc->unrarFile)){
system(“cls“);
cout<<“破解成功:“< system(“pause“); 
exit(0); 
}
return; 

for(int i=0;icharSetSize;i++){
string newPassword = password + c->charSet[i]; 
func(cnewPasswordcurrent+1target); 



//开始破解 
void start(Config c){
system(“cls“); 
cout<<“开始破解..“< string password=““;
for(int i=c.minLength;i<=c.maxLength;i++){
func(&cpassword0i); 



int main(){
cout<<“正在装载配置文件...“< Config c = getConfig();
system(“cls“); 
cout<<“配置文件装载成功.....“ < <<“引擎地址: “< <<“目标地址: “< <<“最大长度: “< <<“最小长度: “< <<“字 符 集: “< cout<<“是否开始破解?“;
char i=‘N‘; 
cin>>i;
if(i==‘Y‘)
start(c); 
cout<<“破解失败请尝试扩展字符集或增加密码长度“< system(“pause“); 


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     446976  2016-10-04 22:51  RAR暴力破解\7z.exe

     文件        128  2018-02-02 17:43  RAR暴力破解\config.txt

     文件        367  2018-02-02 17:52  RAR暴力破解\log.txt

     文件       2585  2018-02-02 17:41  RAR暴力破解\unlock.cpp

     文件    2007465  2018-02-02 17:41  RAR暴力破解\unlock.exe

     目录          0  2018-02-03 20:07  RAR暴力破解

----------- ---------  ---------- -----  ----

              2457521                    6


评论

共有 条评论