黑客字典源码

黑客字典源码
作者:未知 来源:CnXHacker.Net 加入时间:2005-6-30 阅读次数:62118

这是为了辅助破解密码才写的,在破解密码的时候需要建立个密码档,网上有很多类似的程序,但觉的功能还不完善,就用c写了这个,命令行下的东西,主要是不会vc,也不想做人机的界面,反正是自己用,各位看看思路就可以了,挺简单的东西,不要以为那都是些高手才可以做到的东西,自己不去做,就是永远的scripts boy 

/*黑客字典,可以完成生日字典,穷举,自定义,电话,手机等密码的设置,最多生成20位密码, 
功能还不是很完善,有空在完善它^_^*/ 


#include <conio.h> 
#include <stdio.h> 
#include <string.h> 
#include <dos.h> 
#include <stdlib.h> 
#define R ((T=(z==1)?m:(z==2)?0:m))       /*宏定义,参数传递用*/ 
#define Q ((P=(z==1)?(n+1):(z==2)?lh:n)) 
#define Max 100 
#define M 600 

void crack(void); 
void crack4(void); 
void crack2(void); 
void Txt2Dic(void); 
void help(void); 

char a[]={’0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’0’,’A’,’B’,’C’,’D’, 
    ’E’,’F’,’G’,’H’,’I’,’G’,’K’,’L’,’M’,’N’,’O’, 
    ’P’,’Q’,’R’,’S’,’T’,’U’,’V’,’W’,’X’,’Y’,’Z’,’a’,’b’,’c’,’d’, 
    ’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,’o’,’p’,’q’,’r’,’s’, 
    ’t’,’u’,’v’,’w’,’x’,’y’,’z’,’~’,’@’,’#’,’$’,’%’,’^’,’&’,’*’,’-’,’+’, 
      ’<’,’>’,’{’,’}’,’[’,’]’,’(’,’)’}; 


void help(void) 

  char aa[600]={"Written by W.Z.T Don’t be lazy,Just go ahead/n/n"}; 
  int i,k; 
  long int j=10000000; 
  for(i=0;i<strlen(aa);i++) 
  { 
for(k=0;k<4;k++) 
  delay(j); 
    printf("%c",aa); 
  } 


void crack(void) 

  FILE *fp; 
  int T,P,z,lh,ii,jj,i,j,k,l,o,p,q,r,s,t,u,v,m,n,kk,ll,mm,oo,pp,qq,rr,ww; 
  char ch,le[100]; 
  long int lenth=0; 
  printf("1.Brute Force/t2.Custom Range/nchoice:"); 
  scanf("%d",&z); 
  printf("password lenth(3-20):"); 
  scanf("%d",&lh); 
  fp=fopen("c://pass.dic","w+"); 
  if(z==1) 
  { 
    printf("/nInput 0-9,will be numbers/n"); 
    printf("Input 10-35,will be letters(A-Z)/n"); 
    printf("Input 36-61,will be letters(a-z)/n"); 
    printf("Input 62-89,will be other letters/n"); 
    printf("/ninput m,n:/n"); 
    scanf("%d%d",&m,&n); 
  } 
  if(z==2) 
  { 
    printf("Input chars:/n"); 
    scanf("%s",a); 
  } 
  for(i=R;i<Q;i++)     /*一个程序段,完成了两个功能,他上面宏定义用到了*/ 
  { 
    for(j=R;j<Q;j++) 
  { 
    for(k=R;k<Q;k++) 
    { 
    if(lh==3) 
    { 
        fprintf(fp,"%c%c%c/n",a,a[j],a[k]); 
        continue; 
    } 
    for(l=R;l<Q;l++) 
    { 
        if(lh==4) 
        { 
        fprintf(fp,"%c%c%c%c/n",a,a[j],a[k],a[l]); 
          continue; 
        } 
        for(o=R;o<Q;o++) 
        { 
              if(lh==5) 
        { 
          fprintf(fp,"%c%c%c%c%c/n",a,a[j],a[k],a[l],a[o]); 
          continue; 
        } 
        for(p=R;p<Q;p++) 
        { 
        if(lh==6) 
            { 
          fprintf(fp,"%c%c%c%c%c%c/n",a,a[j],a[k],a[l],a[o],a[p]); 
          continue; 
                } 
        for(q=R;q<Q;q++) 
        { 
              if(lh==7) 
          { 
            fprintf(fp,"%c%c%c%c%c%c%c/n",a,a[j],a[k],a[l],a[o],a[p],a[q]); 
            continue; 
          } 
          for(r=R;r<Q;r++) 
          { 
              if(lh==8) 
              { 
              fprintf(fp,"%c%c%c%c%c%c%c%c/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r]); 
              continue; 
              } 
              for(s=R;s<Q;s++) 
            { 
              if(lh==9) 
              { 
                        fprintf(fp,"%c%c%c%c%c%c%c%c%c/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s]); 
                continue; 
              } 
                for(t=R;t<Q;t++) 
              { 
                if(lh==10) 
                { 
                  fprintf(fp,"%c%c%c%c%c%c%c%c%c%c/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t]); 
                  continue; 
                } 
                for(u=R;u<Q;u++) 
                { 
                  if(lh==11) 
                  { 
                  fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t],a); 
                  continue; 
                    } 
                  for(v=R;v<Q;v++) 
                  { 
                  if(lh==12) 
                  { 
                        fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t],a,a[v]); 
                        continue; 
                  } 
                  for(kk=R;kk<Q;kk++) 
                  { 
                      if(lh==13) 
                        { 
                          fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t],a,a[v],a[kk]); 
                          continue; 
                                          } 
                                          for(ll=R;ll<Q;ll++) 
                        { 
                            if(lh==14) 
                            { 
                              fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t],a,a[v],a[kk],a[ll]); 
                              continue; 
                                              } 
                                              for(mm=R;mm<Q;mm++) 
                            { 
                              if(lh==15) 
                              { 
                                                    fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t],a,a[v],a[kk],a[ll],a[mm]); 
                                    continue; 
                                                } 
                                                for(oo=R;oo<Q;oo++) 
                              { 
                                  if(lh==16) 
                                    { 
                                                        fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t],a,a[v],a[kk],a[ll],a[mm],a[oo]); 
                                        continue; 
                                                    } 
                                                    for(pp=R;pp<Q;pp++) 
                                  { 
                                      if(lh==17) 
                                        { 
                                                          fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t],a,a[v],a[kk],a[ll],a[mm],a[oo],a[pp]); 
                                                    continue; 
                                                        } 
                                                        for(rr=R;rr<Q;rr++) 
                                      { 
                                          if(lh==18) 
                                            { 
                                                              fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%/n",a,a[j],a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t],a,a[v],a[kk],a[ll],a[mm],a[oo],a[pp],a[rr]); 
                                                        continue; 
                                                            } 
                                                            for(qq=R;qq<Q;qq++) 
                                          { 
                                            if(lh==19) 
                                              { 
                                                                  fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%/n",a,a[j], 
                                                                    a[k],a[l],a[o],a[p],a[q],a[r],a[s],a[t],a,a[v],a[kk],a[ll],a[mm],a[oo],a[pp],a[rr],a[qq]); 
                                                            continue; 
                                                              } 
                                                              for(ww=R;ww<Q;ww++) 
                                            { 
                                                if(lh==20) 
                                                  { 
                                                                    fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%/n",a,a[j],a[k], 
                                                                      a[l],a[o],a[p],a[q],a[r],a[s],a[t],a,a[v],a[kk],a[ll],a[mm],a[oo],a[pp],a[rr],a[qq],a[ww]); 
                                                              continue; 
                                                                  } 
                                              } 
                                            } 
                                          } 
                                          } 
                                      } 
                                    } 
                                          } 
                                      } 
                                    } 
                                } 
                            } 
                        } 
                    } 
                  } 
        } 
            } 
          } 
      } 
  } 
  } 
  rewind(fp); 
  while((ch=fgetc(fp))!=EOF) 
  { 
if(ch==’/n’) 
    ++lenth; 
  } 
  fclose(fp); 
  printf("/n"); 
  puts(a); 
  printf("Done./nThe file has %ld hang in c://pass.txt./n",lenth); 


void crack4(void) 

  FILE *fp; 
  int p,q,j,z,w=0; 
  char ch; 
  long m,n,i,lenth=0; 
  printf("1.mobile_num/t2.telphone_num/n"); 
  scanf("%d",&z); 
  fp=fopen("c://pass1.dic","w+"); 
  if(z==1) 
  { 
      printf("/nmobile phone number make:/n/n"); 
      printf("EXP:130 137 start_number end_number:/n/n"); 
      printf("Input:/n"); 
    while(1) 
    { 
      scanf("%d%d%ld%ld",&p,&q,&m,&n); 
        if(p>q||m>n) 
      { 
          printf("error,p must <= q or m <= n please input again:/n"); 
        } 
        else 
            break; 
      } 
      printf("waiting.../n/n"); 
    for(j=p;j<=q;j++) 
      for(i=m;i<=n;i++) 
        fprintf(fp,"%d%ld/n",j,i); 
      rewind(fp); 
      while((ch=fgetc(fp))!=EOF) 
      { 
        if(ch==’/n’) 
          ++lenth; 
      }  
      printf("done.the file has %ld words in c://pass1.dic/n",lenth); 
      fclose(fp);  
    } 
  if(z==2) 
  { 
      printf("/ntelnel phone number make:/n/n"); 
      printf("If the local number <=1000,don’t input 0:/n/n"); 
    printf("EXP:813 start_number end_number:/n"); 
      printf("   0476 8442132 8442159/n/n"); 
      printf("Input:/n");  
    while(1) 
    { 
        scanf("%d%ld%ld",&p,&m,&n); 
        if(m>=n) 
            printf("error.start_n must <= end_n/n"); 
        else 
            break; 
      } 
      printf("waiting.../n/n"); 
    if(p>=1000) 
    { 
        for(i=m;i<=n;i++) 
        fprintf(fp,"%d%ld/n",p,i); 
      } 
    else 
    { 
        for(i=m;i<=n;i++) 
      fprintf(fp,"%d%d%ld/n",w,p,i); 
    } 
    } 
    rewind(fp); 
    while((ch=fgetc(fp))!=EOF) 
    { 
  if(ch==’/n’) 
    ++lenth; 
    } 
    fclose(fp); 

    printf("/nDone./nThe file has %ld hang in c://pass1.txt./n",lenth); 

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


void crack2(void) 

  FILE *fp; 
  long int lenth=0; 
  int a,b,c,d,e,f,h,k,m=0; 
  char ch,ch1=’//’,ch2=’:’,ch3=’.’,ch4=’-’,ch5=’//’; 
  if((fp=fopen("c://day.txt","w+"))==NULL) 
  { 
  printf("Can’t open the file./n"); 
  exit(0); 
  } 
  printf("/nBirthday dic make:/n/n"); 
  printf("/n<Usage:Start_years month day End_year month day [opinons]:>/n"); 
  printf("EXP:1985 1 2 1989 1 2 1/n/n"); 
  printf("     85 1 2 89 1 12 1/n/n"); 
  printf("   1985 1 2 89 1 11 1/n/n"); 
  printf("[opinos]:h=1,19850102/t h=2,1985//0//02/n"); 
  printf("       h=3,1985:01:02/th=4,1985.01.02/n"); 
  printf("       h=5,1985-01-02/th=6,198512/n"); 
  printf("       h=7,1985//1//2/th=8,1985:1:2/n"); 
  printf("       h=9,1985.1.2/t h=10,1985-1-2/n"); 
  printf("       h=11,1985//1//2/th=12,1985//01//02/n"); 
  printf("Input:/n"); 
  while(1) 
  { 
    scanf("%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&h); 
    if(a>d||b<e||c>f) 
        printf("error.check it again./n"); 
    else 
        break; 
  } 
  printf("waiting.../n"); 
  while(a<=d) 
  { 
  switch(h) 
  { 
  case 1: 
      if(b<10&&c<10) 
        fprintf(fp,"%d%d%d%d%d/n",a,m,b,m,c); 
        if(b>=10&&c<10) 
        fprintf(fp,"%d%d%d%d/n",a,b,m,c); 
      if(b<10&&c>=10) 
        fprintf(fp,"%d%d%d%d/n",a,m,b,c); 
      if(b>=10&&c>=10) 
        fprintf(fp,"%d%d%d/n",a,b,c); 
    break; 
  case 2: 
    if(b<10&&c<10) 
  fprintf(fp,"%d%c%d%d%c%d%d/n",a,ch1,m,b,ch1,m,c); 
    if(b>=10&&c<10) 
  fprintf(fp,"%d%c%d%c%d%d/n",a,ch1,b,ch1,m,c); 
    if(b<10&&c>=10) 
  fprintf(fp,"%d%c%d%d%c%d/n",a,ch1,m,b,ch1,c); 
    if(b>=10&&c>=10) 
  fprintf(fp,"%d%c%d%c%d/n",a,ch1,b,ch1,c); 
  break; 
  case 3: 
    if(b<10&&c<10) 
  fprintf(fp,"%d%c%d%d%c%d%d/n",a,ch2,m,b,ch2,m,c); 
    if(b>=10&&c<10) 
  fprintf(fp,"%d%c%d%c%d%d/n",a,ch2,b,ch2,m,c); 
    if(b<10&&c>=10) 
  fprintf(fp,"%d%c%d%d%c%d/n",a,ch2,m,b,ch2,c); 
    if(b>=10&&c>=10) 
  fprintf(fp,"%d%c%d%c%d/n",a,ch2,b,ch2,c); 
  break; 
  case 4: 
    if(b<10&&c<10) 
  fprintf(fp,"%d%c%d%d%c%d%d/n",a,ch3,m,b,ch3,m,c); 
    if(b>=10&&c<10) 
  fprintf(fp,"%d%c%d%c%d%d/n",a,ch3,b,ch3,m,c); 
    if(b<10&&c>=10) 
  fprintf(fp,"%d%c%d%d%c%d/n",a,ch3,m,b,ch3,c); 
    if(b>=10&&c>=10) 
  fprintf(fp,"%d%c%d%c%d/n",a,ch3,b,ch3,c); 
    break; 
  case 5: 
    if(b<10&&c<10) 
  fprintf(fp,"%d%c%d%d%c%d%d/n",a,ch4,m,b,ch4,m,c); 
    if(b>=10&&c<10) 
  fprintf(fp,"%d%c%d%c%d%d/n",a,ch4,b,ch4,m,c); 
    if(b<10&&c>=10) 
  fprintf(fp,"%d%c%d%d%c%d/n",a,ch4,m,b,ch4,c); 
    if(b>=10&&c>=10) 
  fprintf(fp,"%d%c%d%c%d/n",a,ch4,b,ch4,c); 
    break; 
  case 6: 
    fprintf(fp,"%d%d%d/n",a,b,c); 
      break; 
  case 7: 
    fprintf(fp,"%d%c%d%c%d/n",a,ch1,b,ch1,c); 
      break; 
  case 8: 
    fprintf(fp,"%d%c%d%c%d/n",a,ch2,b,ch2,c); 
      break; 
  case 9: 
    fprintf(fp,"%d%c%d%c%d/n",a,ch3,b,ch3,c); 
      break; 
  case 10: 
    fprintf(fp,"%d%c%d%c%d/n",a,ch4,b,ch4,c); 
      break; 
  case 11: 
    fprintf(fp,"%d%c%d%c%d/n",a,ch5,b,ch5,c); 
    break; 
  case 12: 
      if(b<10&&c<10) 
  fprintf(fp,"%d%c%d%d%c%d%d/n",a,ch5,m,b,ch5,m,c); 
    if(b>=10&&c<10) 
  fprintf(fp,"%d%c%d%c%d%d/n",a,ch5,b,ch5,m,c); 
    if(b<10&&c>=10) 
  fprintf(fp,"%d%c%d%d%c%d/n",a,ch5,m,b,ch5,c); 
    if(b>=10&&c>=10) 
  fprintf(fp,"%d%c%d%c%d/n",a,ch5,b,ch5,c); 
  break; 
  } 
  c++; 
  if(a==d) 
  { 
    if(b>=e&&c>f) 
      break; 
  } 
  if(c>31) 
  { 
    b++; 
    c=1; 
    if(b>12) 
    { 
      a++; 
      b=1; 
    } 
    } 
  } 
  rewind(fp); 
  while((ch=fgetc(fp))!=EOF) 
  { 
    if(ch==’/n’) 
  lenth++; 
  } 
  fclose(fp); 
  printf("/ndone./nThe file has %ld hang in c://day.txt/n",lenth+1); 


void Txt2Dic(void) 

  return 0; 


main() 

  char choose; 
  clrscr(); 
  gotoxy(20,2); 
  printf(" Hacker Dictionary <Protype 1.0>"); 
  gotoxy(8,4); 
  printf("by W.Z.T,2005.03.06 http://www.suse.edu.cn tthacker@eyou.com"); 
  gotoxy(18,6); 
  printf("1.Violence and define/n"); 
  gotoxy(18,7); 
  printf("2.mobile or telphone/n"); 
  gotoxy(18,8); 
  printf("3.birthday/n"); 
  gotoxy(46,6); 
  printf("4.Txt2Dic./n"); 
  gotoxy(46,7); 
  printf("5.help/n"); 
  gotoxy(46,8); 
  printf("6.exit/n"); 
  while(1) 
  { 
printf("choice:"); 
scanf("%c",&choose); 
switch(choose) 

  case ’1’: 
  crack(); 
  break; 
  case ’2’: 
  crack4(); 
  break; 
  case ’3’: 
  crack2(); 
  break; 
  case ’4’: 
  Txt2Dic(); 
  break; 
  case ’5’: 
  help(); 
  break; 
  case ’6’: 
  exit(0); 
  break; 
  default: 
  printf("choice:1,2,3,4 or 5"); 
  break; 

  } 
}
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值