资源简介
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加解密
相关资源
- 基于MFC的TCP调试助手源码95706
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- 安科瑞智能电能表MODBUS通讯程序 VC6
- 九齐单片机源码
- Qt画图工具源码(qgraphics draw)
- qt 串口助手源码
- modbus 主机源码
- usb之CDC(CDC_Standalone.rar)
- 《LINUX C编程从初学到精通》光盘源码
- OLED驱动源码
- Proteus仿真:DS1302(时钟or日历).rar
- Proteus仿真:LCD液晶屏显示.rar
- Proteus仿真:LED流水+定时器.rar
- Proteus仿真:PID算法输出.rar
- tm1650+stm32f103源码(board_tm1650.c)
- cheat engine 7.2源码
- CrySearch内存搜索器源码
- FTP客户端源码(c++)
- MFC视频播放器源码(支持avi/wma/mp3等格
- CreatBitmap图片合成源码
- vs2008 can总线通讯源码
- 宠物管理系统课程设计(源码+数据库
- Windows扩展命令程序(源码)
- c语言实现火车订票系统(控制台)源
- 鼠标连点器(附源码)
- c++ 简易贪吃蛇源码
- 杀毒软件源码
- 经典外汇智能交易程序Amazing3.1源码(
- 微型文件系统源码(FatFs)
评论
共有 条评论