首页 网络安全 安全学院 查看内容

简单暴力破解实现代码

2009-8-18 12:27 1031 0

摘要: #include <windows.h> typedef BOOL (CALLBACK *BRUTE_CALLBACK) (LPSTR pCurrent); BOOL CALLBACK...
关键词: nbsp CALLBACK szChars return iPassLen UINT pCall BRUTE pCurrent static

#include <windows.h> typedef BOOL (CALLBACK *BRUTE_CALLBACK) (LPSTR pCurrent); BOOL CALLBACK BruteCallback(LPSTR pCurrent) {  printf("%s\n",pCurrent); return FALSE; } BOOL BruteForce2(UINT iPassLen, LPCSTR szChars, BRUTE_CALLBACK pCall) { static BYTE bf[0xFF] = {0}; static BYTE out[0xFF]= {0}; static UINT i,j;  UINT iMax = strlen(szChars)-1;  if (!szChars || !pCall)  return;     for (i=0;i<=iPassLen;++i)  bf[i]=0;  (*bf)--;     while (!bf[iPassLen])     {        ++bf[0];         for (j=0;j<=iPassLen;++j) {   if (bf[j]>iMax) {    bf[j]=0;                ++bf[j+1];  }}   for (j=0;j<iPassLen;++j)   out[j]=szChars[bf[iPassLen-j-1]];   out[iPassLen]='\0';   if ((*pCall)(out)) return TRUE;     }  return FALSE;} VOID BruteForce(UINT iFrom, UINT iTo, LPCSTR szChars, BRUTE_CALLBACK pCall) {  UINT i = 0;  for (i=iFrom;i<=iTo;i++) {  if (BruteForce2(i,szChars,pCall))   return TRUE; }  return FALSE;} int main(int argc, char *argv[]) { BruteForce(6,8,"0123456789",(BRUTE_CALLBACK) &BruteCallback);}  
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部