資源簡介
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
- 上一篇:酒店客房預定系統vc++)
- 下一篇:c++實現ECC加解密
評論
共有 條評論