From a17ba5a4b23d83adf1236b533955271c76352fde Mon Sep 17 00:00:00 2001 From: cora32 Date: Thu, 2 Apr 2015 22:07:25 +0300 Subject: [PATCH] Verbose codepage fixed. --- FileDownloader.cpp | 1 - Threader.cpp | 3 + connector_old.cpp | 1 - main.cpp | 2 +- nesca_3.qrc | 2 +- nesca_3.rc | Bin 5064 -> 5064 bytes nesca_3.ui | 479 ++++++++--- nesca_startModule.cpp | 1807 +++++++++++++++++++++-------------------- small_font.ttf | Bin 0 -> 41744 bytes version | 2 +- 10 files changed, 1281 insertions(+), 1016 deletions(-) delete mode 100644 connector_old.cpp create mode 100644 small_font.ttf diff --git a/FileDownloader.cpp b/FileDownloader.cpp index 112cf05..aaeb4d8 100644 --- a/FileDownloader.cpp +++ b/FileDownloader.cpp @@ -36,7 +36,6 @@ void checkWeb(const char *fileName, std::string *oldLM) { if(lm.compare(*oldLM) != 0) { *oldLM = lm; std::string res(buffer.substr(buffer.find("\r\n\r\n") + 4).c_str()); - //std::replace(res.begin(), res.end(), '\r', '\n'); res.erase(std::remove(res.begin(), res.end(), '\r'), res.end()); std::ofstream out(fileName); out << std::string(res); diff --git a/Threader.cpp b/Threader.cpp index 52acc10..0938e19 100644 --- a/Threader.cpp +++ b/Threader.cpp @@ -22,10 +22,13 @@ void Threader::fireThread(std::string ip, void *func(void)) { } void Threader::cleanUp() { + ready = true; + cv.notify_one(); std::unique_lock lk(m); lk.unlock(); lk.release(); threadId = 0; std::queue empty = {}; std::swap(ipQueue, empty); + ready = false; } diff --git a/connector_old.cpp b/connector_old.cpp deleted file mode 100644 index 5f28270..0000000 --- a/connector_old.cpp +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/main.cpp b/main.cpp index 5a6c20c..90ce924 100644 --- a/main.cpp +++ b/main.cpp @@ -7,7 +7,7 @@ int main(int argc, char *argv[]) QApplication a(argc, argv); QStringList list; - list << "Eurostile.ttf"; + list << "small_font.ttf"; int fontID(-1); bool fontWarningShown(false); for (QStringList::const_iterator constIterator = list.constBegin(); constIterator != list.constEnd(); ++constIterator) { diff --git a/nesca_3.qrc b/nesca_3.qrc index b9ec00b..f377a50 100644 --- a/nesca_3.qrc +++ b/nesca_3.qrc @@ -1,6 +1,6 @@ - Eurostile.ttf + small_font.ttf nesca.ico diff --git a/nesca_3.rc b/nesca_3.rc index 1980d492bf8e5ee70384d543c8e76c91ee0dab46..dcb88370fdaf0bbc2a60f256362455d222710d1d 100644 GIT binary patch delta 46 zcmX@1enNf2GA>4=$;-J68I3mI@pX|WNG1-ofZ}ThOV~ju5L$;-J684Wkz@pX|WNG1-ofZ}ThOV~ju800 + + + Small Fonts + 7 + + Qt::NoFocus @@ -77,8 +83,8 @@ - Eurostile - 10 + Small Fonts + 7 @@ -123,7 +129,8 @@ - Eurostile + Small Fonts + 7 @@ -144,8 +151,8 @@ - Eurostile - 9 + Small Fonts + 7 @@ -175,8 +182,8 @@ - Eurostile - 8 + Small Fonts + 7 @@ -203,8 +210,8 @@ - Eurostile - 9 + Small Fonts + 7 @@ -234,8 +241,8 @@ - Eurostile - 8 + Small Fonts + 7 50 false false @@ -260,8 +267,8 @@ - Eurostile - 8 + Small Fonts + 7 50 false false @@ -286,8 +293,8 @@ - Eurostile - 8 + Small Fonts + 7 50 false false @@ -312,8 +319,8 @@ - Eurostile - 8 + Small Fonts + 7 50 false false @@ -338,8 +345,8 @@ - Eurostile - 9 + Small Fonts + 7 @@ -369,8 +376,8 @@ - Eurostile - 8 + Small Fonts + 7 @@ -1446,8 +1453,8 @@ border-radius: 3px; - Eurostile - 9 + Verdana + 8 75 true false @@ -1487,6 +1494,12 @@ border-radius: 3px; 16 + + + Small Fonts + 7 + + false @@ -1509,6 +1522,12 @@ border-radius: 3px; 20 + + + Small Fonts + 7 + + background-color: rgba(0, 0, 0, 0); @@ -1527,11 +1546,12 @@ border-radius: 3px; - Eurostile - 8 + Small Fonts + 7 50 false false + true false @@ -1549,15 +1569,18 @@ border-radius: 3px; 20 - 260 + 255 61 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + true false @@ -1572,15 +1595,18 @@ border-radius: 3px; 20 - 290 + 280 71 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + true @@ -1593,9 +1619,9 @@ border-radius: 3px; - 100 + 95 230 - 331 + 394 20 @@ -1607,8 +1633,11 @@ border-radius: 3px; - Eurostile - 8 + Small Fonts + 7 + 50 + false + false @@ -1624,16 +1653,19 @@ border-radius: 3px; - 100 - 260 - 81 + 95 + 255 + 91 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + false @@ -1646,16 +1678,19 @@ border-radius: 3px; - 100 - 290 + 95 + 280 61 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + false @@ -1669,15 +1704,18 @@ border-radius: 3px; 20 - 350 + 330 61 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + true @@ -1690,16 +1728,19 @@ border-radius: 3px; - 100 - 350 + 95 + 330 106 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + false @@ -1720,8 +1761,8 @@ border-radius: 3px; - Eurostile - 8 + Small Fonts + 7 50 false false @@ -1755,7 +1796,7 @@ border-radius: 3px; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Eurostile'; font-size:8pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Small Fonts'; font-size:7pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Verdana'; font-size:6pt;"><br /></p></body></html> @@ -1775,7 +1816,7 @@ p, li { white-space: pre-wrap; } 20 - 375 + 355 73 20 @@ -1794,8 +1835,11 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 + 50 + false + true @@ -1814,16 +1858,19 @@ p, li { white-space: pre-wrap; } - 100 - 375 + 95 + 355 108 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + false @@ -1856,8 +1903,8 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 @@ -1884,8 +1931,8 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 @@ -1899,15 +1946,18 @@ p, li { white-space: pre-wrap; } 20 - 320 + 305 61 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + true @@ -1920,16 +1970,19 @@ p, li { white-space: pre-wrap; } - 100 - 320 + 95 + 305 114 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + false @@ -1951,6 +2004,12 @@ p, li { white-space: pre-wrap; } 16 + + + Small Fonts + 7 + + false @@ -1973,6 +2032,12 @@ p, li { white-space: pre-wrap; } 100 + + + Small Fonts + 7 + + background-color: rgb(26, 26,26); border: 1px solid white; @@ -1995,6 +2060,12 @@ p, li { white-space: pre-wrap; } 5 + + + Small Fonts + 7 + + background-color: red; visible: false; @@ -2011,6 +2082,12 @@ p, li { white-space: pre-wrap; } 5 + + + Small Fonts + 7 + + background-color: #52b4e5; @@ -2027,6 +2104,12 @@ p, li { white-space: pre-wrap; } 5 + + + Small Fonts + 7 + + background-color: green; @@ -2043,6 +2126,12 @@ p, li { white-space: pre-wrap; } 5 + + + Small Fonts + 7 + + background-color: blue; @@ -2059,6 +2148,12 @@ p, li { white-space: pre-wrap; } 5 + + + Small Fonts + 7 + + background-color: rgb(255, 85, 0); @@ -2075,6 +2170,12 @@ p, li { white-space: pre-wrap; } 5 + + + Small Fonts + 7 + + background-color: violet; @@ -2093,8 +2194,8 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 50 false false @@ -2128,8 +2229,8 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 50 false false @@ -2154,8 +2255,8 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 50 false false @@ -2180,8 +2281,8 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 50 false false @@ -2206,8 +2307,8 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 50 false false @@ -2232,8 +2333,8 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 50 false false @@ -2256,6 +2357,12 @@ p, li { white-space: pre-wrap; } 20 + + + Small Fonts + 7 + + border:none; background-color:black; @@ -2276,6 +2383,12 @@ p, li { white-space: pre-wrap; } 5 + + + Small Fonts + 7 + + background-color: white; @@ -2294,8 +2407,8 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 50 false false @@ -2318,6 +2431,12 @@ p, li { white-space: pre-wrap; } 100 + + + Small Fonts + 7 + + border:none;background-color: rgba(26, 26,26, 0); @@ -2345,6 +2464,7 @@ p, li { white-space: pre-wrap; } + Small Fonts 7 @@ -2366,6 +2486,7 @@ p, li { white-space: pre-wrap; } + Small Fonts 7 @@ -2385,6 +2506,12 @@ p, li { white-space: pre-wrap; } 100 + + + Small Fonts + 7 + + border:none;background-color: rgba(26, 26,26, 0); @@ -2404,6 +2531,12 @@ p, li { white-space: pre-wrap; } 100 + + + Small Fonts + 7 + + border:none;background-color: rgba(26, 26,26, 0); @@ -2424,7 +2557,7 @@ p, li { white-space: pre-wrap; } 19 - 405 + 380 73 20 @@ -2443,8 +2576,11 @@ p, li { white-space: pre-wrap; } - Eurostile - 8 + Small Fonts + 7 + 50 + false + true @@ -2463,16 +2599,19 @@ p, li { white-space: pre-wrap; } - 100 - 405 + 95 + 380 71 20 - Eurostile - 8 + Small Fonts + 7 + 50 + false + false @@ -2493,7 +2632,8 @@ p, li { white-space: pre-wrap; } - Eurostile + Small Fonts + 7 @@ -2518,8 +2658,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Eurostile'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><br /></p></body></html> +</style></head><body style=" font-family:'Small Fonts'; font-size:7pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Eurostile'; font-size:8pt;"><br /></p></body></html> 5 @@ -2540,6 +2680,12 @@ p, li { white-space: pre-wrap; } 205 + + + Small Fonts + 7 + + Brute activity @@ -2578,8 +2724,8 @@ background-color: #000000; - Eurostile - 8 + Small Fonts + 7 @@ -2604,6 +2750,12 @@ background-color: #000000; 16 + + + Small Fonts + 7 + + border:1px solid white;background-color: rgba(26, 26,26, 0); @@ -2629,6 +2781,12 @@ background-color: #000000; 16 + + + Small Fonts + 7 + + border:none;background-color: rgba(26, 26,26, 0); @@ -2654,6 +2812,12 @@ background-color: #000000; 181 + + + Small Fonts + 7 + + border:none;background-color: rgba(26, 26,26, 0); @@ -2681,6 +2845,7 @@ background-color: #000000; + Small Fonts 7 @@ -2700,6 +2865,12 @@ background-color: #000000; 100 + + + Small Fonts + 7 + + border:1px white solid;background-color: rgba(26, 26,26, 0); @@ -2727,6 +2898,7 @@ background-color: #000000; + Small Fonts 7 @@ -2752,6 +2924,12 @@ background-color: #000000; 8 + + + Small Fonts + 7 + + border: 0.5px solid #313131; background-color:qlineargradient(spread:pad, x1:0.511, y1:0.477727, x2:0.512, y2:0, stop:0 rgba(0, 0, 0, 255), stop:0.0113636 rgba(83, 83, 83, 255), stop:0.0568182 rgba(98, 98, 98, 255), stop:0.0625 rgba(167, 0, 0, 255), stop:1 rgba(255, 0, 0, 255)) @@ -2768,6 +2946,12 @@ background-color: #000000; 8 + + + Small Fonts + 7 + + border: 0.5px solid #313131; background-color:qlineargradient(spread:pad, x1:0.511, y1:0.477727, x2:0.512, y2:0, stop:0 rgba(0, 0, 0, 255), stop:0.0113636 rgba(83, 83, 83, 255), stop:0.0568182 rgba(98, 98, 98, 255), stop:0.0625 rgba(167, 0, 0, 255), stop:1 rgba(255, 0, 0, 255)) @@ -2784,6 +2968,12 @@ background-color: #000000; 8 + + + Small Fonts + 7 + + border: 0.5px solid #313131; background-color:qlineargradient(spread:pad, x1:0.511, y1:0.477727, x2:0.512, y2:0, stop:0 rgba(0, 0, 0, 255), stop:0.0113636 rgba(83, 83, 83, 255), stop:0.0568182 rgba(98, 98, 98, 255), stop:0.0625 rgba(167, 0, 0, 255), stop:1 rgba(255, 0, 0, 255)) @@ -2800,6 +2990,12 @@ background-color: #000000; 8 + + + Small Fonts + 7 + + border: 0.5px solid #313131; background-color:qlineargradient(spread:pad, x1:0.511, y1:0.477727, x2:0.512, y2:0, stop:0 rgba(0, 0, 0, 255), stop:0.0113636 rgba(83, 83, 83, 255), stop:0.0568182 rgba(98, 98, 98, 255), stop:0.0625 rgba(167, 0, 0, 255), stop:1 rgba(255, 0, 0, 255)) @@ -2816,6 +3012,12 @@ background-color: #000000; 8 + + + Small Fonts + 7 + + border: 0.5px solid #313131; background-color:qlineargradient(spread:pad, x1:0.511, y1:0.477727, x2:0.512, y2:0, stop:0 rgba(0, 0, 0, 255), stop:0.0113636 rgba(83, 83, 83, 255), stop:0.0568182 rgba(98, 98, 98, 255), stop:0.0625 rgba(167, 0, 0, 255), stop:1 rgba(255, 0, 0, 255)) @@ -2832,6 +3034,12 @@ background-color: #000000; 8 + + + Small Fonts + 7 + + border: 0.5px solid #313131; background-color:qlineargradient(spread:pad, x1:0.511, y1:0.477727, x2:0.512, y2:0, stop:0 rgba(0, 0, 0, 255), stop:0.0113636 rgba(83, 83, 83, 255), stop:0.0568182 rgba(98, 98, 98, 255), stop:0.0625 rgba(167, 0, 0, 255), stop:1 rgba(255, 0, 0, 255)) @@ -2848,6 +3056,12 @@ background-color: #000000; 8 + + + Small Fonts + 7 + + border: 0.5px solid #313131; background-color:qlineargradient(spread:pad, x1:0.511, y1:0.477727, x2:0.512, y2:0, stop:0 rgba(0, 0, 0, 255), stop:0.0113636 rgba(83, 83, 83, 255), stop:0.0568182 rgba(98, 98, 98, 255), stop:0.0625 rgba(167, 0, 0, 255), stop:1 rgba(255, 0, 0, 255)) @@ -2864,6 +3078,12 @@ background-color: #000000; 8 + + + Small Fonts + 7 + + border: 0.5px solid #313131; background-color:qlineargradient(spread:pad, x1:0.511, y1:0.477727, x2:0.512, y2:0, stop:0 rgba(0, 0, 0, 255), stop:0.0113636 rgba(83, 83, 83, 255), stop:0.0568182 rgba(98, 98, 98, 255), stop:0.0625 rgba(167, 0, 0, 255), stop:1 rgba(255, 0, 0, 255)) @@ -2894,8 +3114,8 @@ background-color: #000000; - Eurostile - 8 + Small Fonts + 7 @@ -2922,6 +3142,7 @@ background-color: #000000; + Small Fonts 7 @@ -2941,6 +3162,12 @@ background-color: #000000; 20 + + + Small Fonts + 7 + + background-color: rgba(0, 0, 0, 0); @@ -2957,6 +3184,12 @@ background-color: #000000; 5 + + + Small Fonts + 7 + + background-color: rgb(85, 0, 0); @@ -2975,8 +3208,8 @@ background-color: #000000; - Eurostile - 8 + Small Fonts + 7 50 false false @@ -3016,8 +3249,8 @@ background-color: #000000; - Eurostile - 8 + Small Fonts + 7 @@ -3045,6 +3278,12 @@ background-color: #000000; 8 + + + Small Fonts + 7 + + background-color: black; border: 1px solid white; @@ -3129,6 +3368,12 @@ background-color: #000000; 730 + + + Small Fonts + 7 + + 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)); @@ -3141,6 +3386,12 @@ background-color: #000000; 41 + + + Small Fonts + 7 + + Qt::ScrollBarAlwaysOff @@ -3157,6 +3408,12 @@ background-color: #000000; 296 + + + Small Fonts + 7 + + @@ -3167,6 +3424,12 @@ background-color: #000000; 296 + + + Small Fonts + 7 + + @@ -3180,8 +3443,8 @@ background-color: #000000; - Eurostile - 8 + Small Fonts + 7 @@ -3208,8 +3471,8 @@ background-color: #000000; - Eurostile - 8 + Small Fonts + 7 diff --git a/nesca_startModule.cpp b/nesca_startModule.cpp index b43df10..ee6655b 100644 --- a/nesca_startModule.cpp +++ b/nesca_startModule.cpp @@ -12,7 +12,7 @@ QJsonArray *jsonArr = new QJsonArray(); bool gShuffle = true; bool __savingBackUpFile = false; bool horLineFlag = false; -static int portArr[65536] = {0}; +static int portArr[65536] = { 0 }; int gThreadDelay = 10; int gC = 0; int gTimeOut = 3; @@ -23,8 +23,8 @@ int ipCounter = 0; int found = 0, indexIP = 1; int gMode; int MaxPass = 0, MaxLogin = 0, MaxTags = 0, MaxWFLogin = 0, MaxWFPass = 0, MaxSSHPass = 0; -int ipsstart[4], ipsend[4], - overallPorts, flCounter, octet[4]; +int ipsstart[4], ipsend[4], +overallPorts, flCounter, octet[4]; int BA = 0; int gPingTimeout = 1; int gMaxBrutingThreads = 50; @@ -36,20 +36,20 @@ char **GlobalNegatives = 0; char **loginLst, **passLst; char **wfLoginLst, **wfPassLst; char **sshlpLst; -char saveEndIP[128] = {0}; -char gRange[128] = {0}; -char gTLD[128] = {0}; -char gPorts[65536] = {0}; -char metaRange[256] = {0}; -char metaPercent[256] = {0}; -char metaIPS[256] = {0}; -char metaTargets[256] = {0}; -char metaETA[256] = {0}; -char metaOffline[256] = {0}; +char saveEndIP[128] = { 0 }; +char gRange[128] = { 0 }; +char gTLD[128] = { 0 }; +char gPorts[65536] = { 0 }; +char metaRange[256] = { 0 }; +char metaPercent[256] = { 0 }; +char metaIPS[256] = { 0 }; +char metaTargets[256] = { 0 }; +char metaETA[256] = { 0 }; +char metaOffline[256] = { 0 }; -char currentIP[MAX_ADDR_LEN] = {0}; -char currentMask[128] = {0}; -char finalIP[32] = {0}; +char currentIP[MAX_ADDR_LEN] = { 0 }; +char currentMask[128] = { 0 }; +char finalIP[32] = { 0 }; bool ErrLogFirstTime = true; bool gPingNScan = false; @@ -61,40 +61,41 @@ volatile int threads = 20; unsigned char tl(unsigned char d) { - if(d >= 192 && d <= 223) - { - return (unsigned char)(d + 32); - } - else - { - return tolower(d); - }; + if (d >= 192 && d <= 223) + { + return (unsigned char)(d + 32); + } + else + { + return tolower(d); + }; } std::string toLowerStr(const char *str) { - if(str != NULL) { - int tsz = strlen(str); - char *strr = new char[tsz+1]; - ZeroMemory(strr, tsz); + if (str != NULL) { + int tsz = strlen(str); + char *strr = new char[tsz + 1]; + ZeroMemory(strr, tsz); - for (int i = 0; i < tsz; i++) - { - strr[i] = tl(str[i]); - }; + for (int i = 0; i < tsz; i++) + { + strr[i] = tl(str[i]); + }; - memset(strr + tsz, '\0', 1); + memset(strr + tsz, '\0', 1); - std::string tstr = std::string(strr); - delete []strr; - return tstr; - } else return ""; + std::string tstr = std::string(strr); + delete[]strr; + return tstr; + } + else return ""; } void SaveErrorLog(char *sender, char *MesSent, char *ReplRecv) { FILE *errFile = fopen("./logs/ns-track_errors.html", "r"); - if(errFile != NULL) + if (errFile != NULL) { fclose(errFile); }; @@ -108,21 +109,21 @@ void SaveErrorLog(char *sender, char *MesSent, char *ReplRecv) #endif time_t rtime; time(&rtime); - char cdate[32] = {0}; - strcpy (cdate, ctime (&rtime)); + char cdate[32] = { 0 }; + strcpy(cdate, ctime(&rtime)); char *totalErrLog = NULL; - char stylePart[] = {""}; - char firstPart[] = {"
"}; - char secondPart[] = {"
Message sent:
"};
-	char thirdPart[] = {"
Reply received:
"}; - - int sz = strlen(stylePart) + strlen(firstPart) + strlen(secondPart) + strlen(thirdPart) + strlen(forthPart) + strlen(QByteArray(MesSent).replace("\r\n", "\n").data()) + (strlen(ReplRecv) + 50*strlen(ReplRecv)/100) + strlen(cdate) + strlen(sender); + char stylePart[] = { "" }; + char firstPart[] = { "
" }; + char secondPart[] = { "
Message sent:
" };
+	char thirdPart[] = { "
Reply received:
" }; + + int sz = strlen(stylePart) + strlen(firstPart) + strlen(secondPart) + strlen(thirdPart) + strlen(forthPart) + strlen(QByteArray(MesSent).replace("\r\n", "\n").data()) + (strlen(ReplRecv) + 50 * strlen(ReplRecv) / 100) + strlen(cdate) + strlen(sender); totalErrLog = new char[sz + 4]; ZeroMemory(totalErrLog, sz); - if(ErrLogFirstTime) strcat(totalErrLog, stylePart); + if (ErrLogFirstTime) strcat(totalErrLog, stylePart); strcat(totalErrLog, firstPart); strcat(totalErrLog, sender); strcat(totalErrLog, " - "); @@ -135,7 +136,7 @@ void SaveErrorLog(char *sender, char *MesSent, char *ReplRecv) memset(totalErrLog + sz, '\0', 1); errFile = fopen("./logs/ns-track_errors.html", "a"); - if(errFile != NULL) + if (errFile != NULL) { fwrite(totalErrLog, sz, 1, errFile); fclose(errFile); @@ -144,22 +145,22 @@ void SaveErrorLog(char *sender, char *MesSent, char *ReplRecv) { stt->doEmitionRedFoundData("[Log] -Cant open log file!"); }; - if(totalErrLog != NULL) + if (totalErrLog != NULL) { - delete []totalErrLog; + delete[]totalErrLog; totalErrLog = NULL; }; } QString GetNSErrorDefinition(const char *str, const char *elem) { - const char *temp = strstr(str, elem); + const char *temp = strstr(str, elem); - if(temp != NULL) + if (temp != NULL) { - char definition[128] = {0}; - const char *firstComma = strstr(temp + strlen(elem) + 1, "\""); - const char *lastComma = strstr(firstComma + 1, "\""); + char definition[128] = { 0 }; + const char *firstComma = strstr(temp + strlen(elem) + 1, "\""); + const char *lastComma = strstr(firstComma + 1, "\""); int sz = lastComma - firstComma - 1; @@ -172,34 +173,34 @@ QString GetNSErrorDefinition(const char *str, const char *elem) void _SaveBackupToFile() { - char saveStr[512] = {0}; - char saveBuffer[4096] = {0}; - char endStr[128] = {0}; + char saveStr[512] = { 0 }; + char saveBuffer[4096] = { 0 }; + char endStr[128] = { 0 }; - if(gMode == 0 || gMode == 1) - { - if(gMode == 1) - { - strcpy(endStr, currentMask); - } - else + if (gMode == 0 || gMode == 1) + { + if (gMode == 1) { - sprintf(endStr, "%s-%s", currentIP, finalIP); + strcpy(endStr, currentMask); + } + else + { + sprintf(endStr, "%s-%s", currentIP, finalIP); }; - if(strlen(endStr) > 0) + if (strlen(endStr) > 0) { - sprintf(saveStr, "[SESSION]:%d %s %s %d %s\n", - gMode, endStr, gTLD, gThreads, gPorts); + sprintf(saveStr, "[SESSION]:%d %s %s %d %s\n", + gMode, endStr, gTLD, gThreads, gPorts); strcat(saveBuffer, saveStr); ZeroMemory(saveStr, sizeof(saveStr)); }; } - else if(gMode == -1) - { - char ipRange[128] = {0}; + else if (gMode == -1) + { + char ipRange[128] = { 0 }; - if(flCounter > 0) + if (flCounter > 0) { FILE *savingFile = fopen("tempIPLst.bk", "w"); if (savingFile != NULL) @@ -210,105 +211,105 @@ void _SaveBackupToFile() fputs(ipRange, savingFile); ZeroMemory(ipRange, sizeof(ipRange)); - for(int tCounter = gC + 1; tCounter < flCounter; ++tCounter) - { - sprintf(ipRange, "%d.%d.%d.%d-%d.%d.%d.%d\n", + for (int tCounter = gC + 1; tCounter < flCounter; ++tCounter) + { + sprintf(ipRange, "%d.%d.%d.%d-%d.%d.%d.%d\n", ipsstartfl[tCounter][0], ipsstartfl[tCounter][1], ipsstartfl[tCounter][2], ipsstartfl[tCounter][3], ipsendfl[tCounter][0], ipsendfl[tCounter][1], ipsendfl[tCounter][2], ipsendfl[tCounter][3]); fputs(ipRange, savingFile); - ZeroMemory(ipRange, sizeof(ipRange)); + ZeroMemory(ipRange, sizeof(ipRange)); }; fclose(savingFile); } else stt->doEmitionRedFoundData("[_saver] Cannot open file."); }; - sprintf(saveStr, "[SESSION]:%d RESTORE_IMPORT_SESSION %d %s\n", gMode, gThreads, gPorts); + sprintf(saveStr, "[SESSION]:%d RESTORE_IMPORT_SESSION %d %s\n", gMode, gThreads, gPorts); strcat(saveBuffer, saveStr); ZeroMemory(saveStr, sizeof(saveStr)); }; - sprintf(saveStr, "[NDBSERVER]:%s\n", trcSrv); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[NDBSERVER]:%s\n", trcSrv); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[NDBSCRIPT]:%s\n", trcScr); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[NDBSCRIPT]:%s\n", trcScr); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[NDBPORT]:%s\n", trcSrvPortLine); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[NDBPORT]:%s\n", trcSrvPortLine); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[PROXY]:%s\n", trcProxy); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[PROXY]:%s\n", trcProxy); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[PROXYPORT]:%s\n", trcPort); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[PROXYPORT]:%s\n", trcPort); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[PING]:%s\n", gPingNScan ? "true" : "false"); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[PING]:%s\n", gPingNScan ? "true" : "false"); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[SHUFFLE]:%s\n", gShuffle ? "true" : "false"); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[SHUFFLE]:%s\n", gShuffle ? "true" : "false"); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[NSTRACK]:%s\n", trackerOK ? "true" : "false"); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[NSTRACK]:%s\n", trackerOK ? "true" : "false"); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[PING_TO]: %d\n", gPingTimeout); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[PING_TO]: %d\n", gPingTimeout); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[THREAD_DELAY]: %d\n", gThreadDelay); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[THREAD_DELAY]: %d\n", gThreadDelay); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[TIMEOUT]: %d\n", gTimeOut); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[TIMEOUT]: %d\n", gTimeOut); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[MAXBTHR]: %d\n", gMaxBrutingThreads); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[MAXBTHR]: %d\n", gMaxBrutingThreads); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[SYSTEMPROXYIP]: %s\n", gProxyIP); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[SYSTEMPROXYIP]: %s\n", gProxyIP); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - sprintf(saveStr, "[SYSTEMPROXYPORT]: %s\n", gProxyPort); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); + sprintf(saveStr, "[SYSTEMPROXYPORT]: %s\n", gProxyPort); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - strcpy(saveStr, "[PERSKEY]:"); - strncat(saveStr, trcPersKey, 32); - strcat(saveStr, "\n"); - strcat(saveBuffer, saveStr); - ZeroMemory(saveStr, sizeof(saveStr)); - - FILE *savingFile = fopen("restore", "w"); + strcpy(saveStr, "[PERSKEY]:"); + strncat(saveStr, trcPersKey, 32); + strcat(saveStr, "\n"); + strcat(saveBuffer, saveStr); + ZeroMemory(saveStr, sizeof(saveStr)); - if (savingFile != NULL) - { - fputs(saveBuffer, savingFile); - fclose(savingFile); - } - else stt->doEmitionRedFoundData("[_saver] Cannot open file."); + FILE *savingFile = fopen("restore", "w"); - ZeroMemory(saveStr, strlen(saveStr)); - ZeroMemory(saveBuffer, strlen(saveBuffer)); + if (savingFile != NULL) + { + fputs(saveBuffer, savingFile); + fclose(savingFile); + } + else stt->doEmitionRedFoundData("[_saver] Cannot open file."); + + ZeroMemory(saveStr, strlen(saveStr)); + ZeroMemory(saveBuffer, strlen(saveBuffer)); } -void _saver() +void _saver() { - Sleep(1000); - while(globalScanFlag) + Sleep(1000); + while (globalScanFlag) { __savingBackUpFile = true; _SaveBackupToFile(); @@ -318,397 +319,397 @@ void _saver() } void _timer() { - char dbuffer[32] = {0}, timeLeft[64] = {0}, b[32] = {0}; + char dbuffer[32] = { 0 }, timeLeft[64] = { 0 }, b[32] = { 0 }; int ticks = 0; int ovrlIPs = 0; ips = 1; Sleep(50); - while(globalScanFlag) + while (globalScanFlag) { ++ticks; ovrlIPs += ipCounter; ipCounter = 0; - ips = ovrlIPs/ticks; + ips = ovrlIPs / ticks; strncpy(b, QString::number(ips).toLocal8Bit().data(), 5); strcpy(metaIPS, b); strcat(timeLeft, b); 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"); strcpy(metaETA, dbuffer); strcat(dbuffer, "d)"); - strcat(timeLeft, (strcmp(dbuffer, "1.$d)") == 0 ? "INF)" : dbuffer)); + strcat(timeLeft, (strcmp(dbuffer, "1.$d)") == 0 ? "INF)" : dbuffer)); - stt->doEmitionIPS(QString(timeLeft)); + stt->doEmitionIPS(QString(timeLeft)); ZeroMemory(timeLeft, sizeof(timeLeft)); ZeroMemory(dbuffer, sizeof(dbuffer)); - Sleep(1000); + Sleep(1000); }; } void _tracker() { - while(true) { - while(!trackerOK) Sleep(1000); + while (true) { + while (!trackerOK) Sleep(1000); - if(!globalScanFlag && jsonArr->size() == 0) break; - char rBuffT[250000] = {0}; - char *msg = new char[4096]; - ZeroMemory(msg, sizeof(*msg)); - char ndbServer[64] = {0}; - char ndbScriptT[64] = {0}; - char ndbScript[64] = {0}; + if (!globalScanFlag && jsonArr->size() == 0) break; + char rBuffT[250000] = { 0 }; + char *msg = new char[4096]; + ZeroMemory(msg, sizeof(*msg)); + char ndbServer[64] = { 0 }; + char ndbScriptT[64] = { 0 }; + char ndbScript[64] = { 0 }; - sockaddr_in sockAddr; - sockAddr.sin_family = AF_INET; - sockAddr.sin_port = htons(atoi(trcSrvPortLine)); + sockaddr_in sockAddr; + sockAddr.sin_family = AF_INET; + sockAddr.sin_port = htons(atoi(trcSrvPortLine)); - strcpy(msg, "GET /"); - strcat(msg, trcScr); - strcat(msg, " HTTP/1.1\r\nHost: "); - strcat(msg, trcSrv); - strcat(msg, "\r\nX-Nescav3: True\r\nContent-Type: application/x-www-form-urlencoded\r\nConnection: close\r\n\r\n"); + strcpy(msg, "GET /"); + strcat(msg, trcScr); + strcat(msg, " HTTP/1.1\r\nHost: "); + strcat(msg, trcSrv); + strcat(msg, "\r\nX-Nescav3: True\r\nContent-Type: application/x-www-form-urlencoded\r\nConnection: close\r\n\r\n"); - HOSTENT *host; + HOSTENT *host; #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) - if(inet_addr(trcSrv) != INADDR_NONE) sockAddr.sin_addr.S_un.S_addr = inet_addr(trcSrv); - else if(host=gethostbyname (trcSrv)) ((unsigned long*) &sockAddr.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0]; + if (inet_addr(trcSrv) != INADDR_NONE) sockAddr.sin_addr.S_un.S_addr = inet_addr(trcSrv); + else if (host = gethostbyname(trcSrv)) ((unsigned long*)&sockAddr.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0]; #else - if(inet_addr(trcSrv) != INADDR_NONE) sockAddr.sin_addr.s_addr = inet_addr(trcSrv); - else if(host=gethostbyname (trcSrv)) ((unsigned long*) &sockAddr.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0]; + if(inet_addr(trcSrv) != INADDR_NONE) sockAddr.sin_addr.s_addr = inet_addr(trcSrv); + else if(host=gethostbyname (trcSrv)) ((unsigned long*) &sockAddr.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0]; #endif - SOCKET sock = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); + SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - if(connect(sock, (sockaddr*)&sockAddr, sizeof(sockAddr)) == -1) - { - CSSOCKET(sock); + if (connect(sock, (sockaddr*)&sockAddr, sizeof(sockAddr)) == -1) + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -Cannot connect to balancer! " + QString::number(WSAGetLastError()) + "."); + stt->doEmitionRedFoundData("[NS-Track] -Cannot connect to balancer! " + QString::number(WSAGetLastError()) + "."); - continue; - }; + continue; + }; - if(send(sock, msg, strlen(msg), 0) == -1) - { - CSSOCKET(sock); + if (send(sock, msg, strlen(msg), 0) == -1) + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -Cannot send to balancer! " + QString::number(WSAGetLastError()) + "."); + stt->doEmitionRedFoundData("[NS-Track] -Cannot send to balancer! " + QString::number(WSAGetLastError()) + "."); - continue; - }; + continue; + }; - ZeroMemory(rBuffT, sizeof(rBuffT)); - char rBuff[512] = {0}; - int test = recv(sock, rBuff, sizeof(rBuff), 0); - strcpy(rBuffT, rBuff); + ZeroMemory(rBuffT, sizeof(rBuffT)); + char rBuff[512] = { 0 }; + int test = recv(sock, rBuff, sizeof(rBuff), 0); + strcpy(rBuffT, rBuff); - while((test = recv(sock, rBuff, sizeof(rBuff), 0)) != 0) - { - if(strlen(rBuffT) > 200000) - { - stt->doEmitionRedFoundData("[NS-Track] (Outer) -Large error received from server (>200000b) " + QString::number(WSAGetLastError()) + "."); - SaveErrorLog("NS-Track", msg, rBuffT); - break; - }; - strcat(rBuffT, rBuff); - }; + while ((test = recv(sock, rBuff, sizeof(rBuff), 0)) != 0) + { + if (strlen(rBuffT) > 200000) + { + stt->doEmitionRedFoundData("[NS-Track] (Outer) -Large error received from server (>200000b) " + QString::number(WSAGetLastError()) + "."); + SaveErrorLog("NS-Track", msg, rBuffT); + break; + }; + strcat(rBuffT, rBuff); + }; - if(test == -1) - { - CSSOCKET(sock); + if (test == -1) + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -Cannot recv from balancer! " + QString::number(WSAGetLastError()) + "."); + stt->doEmitionRedFoundData("[NS-Track] -Cannot recv from balancer! " + QString::number(WSAGetLastError()) + "."); - continue; - }; + continue; + }; - char *t1; - char *t2; - if(strstr(rBuffT, "http://") != NULL) - { - t1 = strstr(rBuffT, "http://"); - if(strstr((char*)(t1 + 7), "/") != NULL) - { - t2 = strstr((char*)(t1 + 7), "/"); - int ln = t2 - t1 - 7; - if(ln > 64) - { - CSSOCKET(sock); + char *t1; + char *t2; + if (strstr(rBuffT, "http://") != NULL) + { + t1 = strstr(rBuffT, "http://"); + if (strstr((char*)(t1 + 7), "/") != NULL) + { + t2 = strstr((char*)(t1 + 7), "/"); + int ln = t2 - t1 - 7; + if (ln > 64) + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -Received server string is not valid!"); - SaveErrorLog("NS-Track", msg, rBuffT); + stt->doEmitionRedFoundData("[NS-Track] -Received server string is not valid!"); + SaveErrorLog("NS-Track", msg, rBuffT); - continue; - } - else strncpy(ndbServer, (char*)(t1 + 7), ln); + continue; + } + else strncpy(ndbServer, (char*)(t1 + 7), ln); - if(strlen(t2) > 64) - { + if (strlen(t2) > 64) + { - stt->doEmitionYellowFoundData("[NS-Track] -Fragmentation detected!"); + stt->doEmitionYellowFoundData("[NS-Track] -Fragmentation detected!"); - if(strstr(t2, "\r\n") != NULL) - { - char *t3 = strstr(t2, "\r\n"); - int y = (int)(t3 - t2); + if (strstr(t2, "\r\n") != NULL) + { + char *t3 = strstr(t2, "\r\n"); + int y = (int)(t3 - t2); - if(y > 64) - { - CSSOCKET(sock); + if (y > 64) + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -Received server string is not valid!"); + stt->doEmitionRedFoundData("[NS-Track] -Received server string is not valid!"); - SaveErrorLog("NS-Track", msg, rBuffT); - continue; - } - else - { - strncpy(ndbScriptT, t2, y); - CSSOCKET(sock); + SaveErrorLog("NS-Track", msg, rBuffT); + continue; + } + else + { + strncpy(ndbScriptT, t2, y); + CSSOCKET(sock); - stt->doEmitionGreenFoundData("[NS-Track] -OK! -Fragmented server string aquired! Starting NS-Track loop..."); + stt->doEmitionGreenFoundData("[NS-Track] -OK! -Fragmented server string aquired! Starting NS-Track loop..."); - strncpy(ndbScript, ndbScriptT, strlen(ndbScriptT) ); - }; - } - else - { - CSSOCKET(sock); + strncpy(ndbScript, ndbScriptT, strlen(ndbScriptT)); + }; + } + else + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -Received server string is not valid!"); + stt->doEmitionRedFoundData("[NS-Track] -Received server string is not valid!"); - SaveErrorLog("NS-Track", msg, rBuffT); - continue; - }; - } - else - { - strcpy(ndbScriptT, t2); + SaveErrorLog("NS-Track", msg, rBuffT); + continue; + }; + } + else + { + strcpy(ndbScriptT, t2); - stt->doEmitionGreenFoundData("[NS-Track] -OK! -Server string aquired! Starting NS-Track loop..."); + stt->doEmitionGreenFoundData("[NS-Track] -OK! -Server string aquired! Starting NS-Track loop..."); - CSSOCKET(sock); - strncpy(ndbScript, ndbScriptT, strlen(ndbScriptT) - 2 ); - }; - } - else - { - CSSOCKET(sock); + CSSOCKET(sock); + strncpy(ndbScript, ndbScriptT, strlen(ndbScriptT) - 2); + }; + } + else + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -Cannot receive script value!"); + stt->doEmitionRedFoundData("[NS-Track] -Cannot receive script value!"); - continue; - }; + continue; + }; - ZeroMemory(rBuffT, sizeof(rBuffT)); - CSSOCKET(sock); + ZeroMemory(rBuffT, sizeof(rBuffT)); + CSSOCKET(sock); - while(true) - { - if(!globalScanFlag && jsonArr->size() == 0) break; - if(!trackerOK) { - Sleep(1000); - continue; - }; + while (true) + { + if (!globalScanFlag && jsonArr->size() == 0) break; + if (!trackerOK) { + Sleep(1000); + continue; + }; - if(jsonArr->size() > 0) - { - QJsonObject jsonKey; - if(jsonArr == NULL) jsonArr = new QJsonArray(); + if (jsonArr->size() > 0) + { + QJsonObject jsonKey; + if (jsonArr == NULL) jsonArr = new QJsonArray(); - QJsonObject jsonMeta; - if(gMode == 0) jsonMeta.insert("mode", QJsonValue(QString("IP"))); // + QJsonObject jsonMeta; + if (gMode == 0) jsonMeta.insert("mode", QJsonValue(QString("IP"))); // else if (gMode == 1) jsonMeta.insert("mode", QJsonValue(QString("DNS"))); //Mode else if (gMode == -1) jsonMeta.insert("mode", QJsonValue(QString("Import"))); // - jsonMeta.insert("range", QJsonValue(QString(metaRange)) ); - jsonMeta.insert("current", QJsonValue(QString(currentIP)) ); + jsonMeta.insert("range", QJsonValue(QString(metaRange))); + jsonMeta.insert("current", QJsonValue(QString(currentIP))); if (gMode == 1) jsonMeta.insert("tld", QJsonValue(QString(gTLD))); //TLD - jsonMeta.insert("targets", QJsonValue(QString(metaTargets)) ); - jsonMeta.insert("percent", QJsonValue(QString(metaPercent)) ); - jsonMeta.insert("saved", QJsonValue(QString::number(saved)) ); - jsonMeta.insert("found", QJsonValue(QString::number(found)) ); - jsonMeta.insert("speed", QJsonValue(QString(metaIPS)) ); - jsonMeta.insert("eta", QJsonValue(QString(metaETA)) ); - jsonMeta.insert("threads", QJsonValue(QString::number(cons) + "/" + QString::number(gThreads)) ); - jsonMeta.insert("bads", QJsonValue(QString::number(offlines)) ); - jsonMeta.insert("version", QJsonValue(QString(gVER)) ); + jsonMeta.insert("targets", QJsonValue(QString(metaTargets))); + jsonMeta.insert("percent", QJsonValue(QString(metaPercent))); + jsonMeta.insert("saved", QJsonValue(QString::number(saved))); + jsonMeta.insert("found", QJsonValue(QString::number(found))); + jsonMeta.insert("speed", QJsonValue(QString(metaIPS))); + jsonMeta.insert("eta", QJsonValue(QString(metaETA))); + jsonMeta.insert("threads", QJsonValue(QString::number(cons) + "/" + QString::number(gThreads))); + jsonMeta.insert("bads", QJsonValue(QString::number(offlines))); + jsonMeta.insert("version", QJsonValue(QString(gVER))); - jsonArr->push_front(QJsonValue(jsonMeta) ); - memset(trcPersKey + 32, '\0', 1); - jsonKey.insert("key", QJsonValue(QString(trcPersKey)) ); - jsonArr->push_front(jsonKey); + jsonArr->push_front(QJsonValue(jsonMeta)); + memset(trcPersKey + 32, '\0', 1); + jsonKey.insert("key", QJsonValue(QString(trcPersKey))); + jsonArr->push_front(jsonKey); - QJsonDocument js; - js.setArray(*jsonArr); - QByteArray r = js.toJson(); + QJsonDocument js; + js.setArray(*jsonArr); + QByteArray r = js.toJson(); - sockAddr.sin_family = AF_INET; - sockAddr.sin_port = htons(atoi(trcSrvPortLine)); + sockAddr.sin_family = AF_INET; + sockAddr.sin_port = htons(atoi(trcSrvPortLine)); - if(msg != NULL) - { - delete []msg; - msg = 0; - }; + if (msg != NULL) + { + delete[]msg; + msg = 0; + }; - msg = new char[r.size() + 1024]; - ZeroMemory(msg, sizeof(*msg)); + msg = new char[r.size() + 1024]; + ZeroMemory(msg, sizeof(*msg)); - strcpy(msg, "POST /"); - strcat(msg, ndbScript); - strcat(msg, " HTTP/1.1\r\nHost: "); - strcat(msg, ndbServer); - strcat(msg, "\r\nContent-Type: application/json\r\nAccept-Encoding: application/json\r\nContent-Length: "); - strcat(msg, std::to_string(r.size()).c_str()); - strcat(msg, "\r\nConnection: close\r\n\r\n"); + strcpy(msg, "POST /"); + strcat(msg, ndbScript); + strcat(msg, " HTTP/1.1\r\nHost: "); + strcat(msg, ndbServer); + strcat(msg, "\r\nContent-Type: application/json\r\nAccept-Encoding: application/json\r\nContent-Length: "); + strcat(msg, std::to_string(r.size()).c_str()); + strcat(msg, "\r\nConnection: close\r\n\r\n"); - strcat(msg, r.data()); + strcat(msg, r.data()); - delete jsonArr; - jsonArr = new QJsonArray(); + delete jsonArr; + jsonArr = new QJsonArray(); #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) - if(inet_addr(ndbServer) != INADDR_NONE) sockAddr.sin_addr.S_un.S_addr = inet_addr(ndbServer); - else if(host=gethostbyname (ndbServer)) ((unsigned long*) &sockAddr.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0]; + if (inet_addr(ndbServer) != INADDR_NONE) sockAddr.sin_addr.S_un.S_addr = inet_addr(ndbServer); + else if (host = gethostbyname(ndbServer)) ((unsigned long*)&sockAddr.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0]; #else - if(inet_addr(ndbServer) != INADDR_NONE) sockAddr.sin_addr.s_addr = inet_addr(ndbServer); - else if(host=gethostbyname (ndbServer)) ((unsigned long*) &sockAddr.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0]; + if(inet_addr(ndbServer) != INADDR_NONE) sockAddr.sin_addr.s_addr = inet_addr(ndbServer); + else if(host=gethostbyname (ndbServer)) ((unsigned long*) &sockAddr.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0]; #endif - sock = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); + sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - if(gDebugMode) - { - stt->doEmitionDebugFoundData("Connecting to " + QString(ndbServer)); - }; + if (gDebugMode) + { + stt->doEmitionDebugFoundData("Connecting to " + QString(ndbServer)); + }; - if(connect(sock, (sockaddr*)&sockAddr, sizeof(sockAddr)) == -1) - { - CSSOCKET(sock); + if (connect(sock, (sockaddr*)&sockAddr, sizeof(sockAddr)) == -1) + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -connect() returned " + QString::number(WSAGetLastError()) + "."); + stt->doEmitionRedFoundData("[NS-Track] -connect() returned " + QString::number(WSAGetLastError()) + "."); - continue; - }; + continue; + }; - if(gDebugMode) - { - stt->doEmitionDebugFoundData("Sending!"); - stt->doEmitionDebugFoundData("Key: [" + QString(trcPersKey) + "]"); - stt->doEmitionDebugFoundData("MSG: [" + QString(msg) + "]"); - }; + if (gDebugMode) + { + stt->doEmitionDebugFoundData("Sending!"); + stt->doEmitionDebugFoundData("Key: [" + QString(trcPersKey) + "]"); + stt->doEmitionDebugFoundData("MSG: [" + QString(msg) + "]"); + }; - if(send(sock, msg, strlen(msg), 0) == -1) - { - CSSOCKET(sock); + if (send(sock, msg, strlen(msg), 0) == -1) + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -send() returned " + QString::number(WSAGetLastError()) + "."); + stt->doEmitionRedFoundData("[NS-Track] -send() returned " + QString::number(WSAGetLastError()) + "."); - SaveErrorLog("NS-Track", msg, ""); - continue; - }; + SaveErrorLog("NS-Track", msg, ""); + continue; + }; - ZeroMemory(rBuffT, sizeof(rBuffT)); - char msgR[32] = {0}; + ZeroMemory(rBuffT, sizeof(rBuffT)); + char msgR[32] = { 0 }; - if(gDebugMode) - { - stt->doEmitionDebugFoundData("Receiving..."); - }; + if (gDebugMode) + { + stt->doEmitionDebugFoundData("Receiving..."); + }; - test = recv(sock, rBuff, 512, 0); + test = recv(sock, rBuff, 512, 0); - if(gDebugMode) - { - stt->doEmitionDebugFoundData("Received: " + QString(rBuff)); - }; + if (gDebugMode) + { + stt->doEmitionDebugFoundData("Received: " + QString(rBuff)); + }; - strncpy(msgR, rBuff, 32); - strcpy(rBuffT, rBuff); - while(test > 0) - { - if(test <= 0) break; + strncpy(msgR, rBuff, 32); + strcpy(rBuffT, rBuff); + while (test > 0) + { + if (test <= 0) break; - if(strlen(rBuffT) > 200000) - { - stt->doEmitionRedFoundData("[NS-Track] (Inner) -Large error received from server (>200000b) " + QString::number(WSAGetLastError()) + "."); - SaveErrorLog("NS-Track", msg, rBuffT); - break; - }; - strcat(rBuffT, rBuff); - test = recv(sock, rBuff, 512, 0); - if(gDebugMode) - { - stt->doEmitionDebugFoundData("Received: " + QString(rBuff)); - }; - }; + if (strlen(rBuffT) > 200000) + { + stt->doEmitionRedFoundData("[NS-Track] (Inner) -Large error received from server (>200000b) " + QString::number(WSAGetLastError()) + "."); + SaveErrorLog("NS-Track", msg, rBuffT); + break; + }; + strcat(rBuffT, rBuff); + test = recv(sock, rBuff, 512, 0); + if (gDebugMode) + { + stt->doEmitionDebugFoundData("Received: " + QString(rBuff)); + }; + }; - if(test == -1) - { - CSSOCKET(sock); + if (test == -1) + { + CSSOCKET(sock); - stt->doEmitionRedFoundData("[NS-Track] -recv() returned " + QString::number(WSAGetLastError()) + "."); + stt->doEmitionRedFoundData("[NS-Track] -recv() returned " + QString::number(WSAGetLastError()) + "."); - SaveErrorLog("NS-Track", msg, ""); - continue; - }; + SaveErrorLog("NS-Track", msg, ""); + continue; + }; - if(strstr(rBuffT, "201 Created") != NULL) - { + if (strstr(rBuffT, "201 Created") != NULL) + { - if(gDebugMode) stt->doEmitionYellowFoundData("[NS-Track] -OK. Data saved!"); - stt->doEmitionDataSaved(true); - Sleep(1000); - stt->doEmitionDataSaved(false); + if (gDebugMode) stt->doEmitionYellowFoundData("[NS-Track] -OK. Data saved!"); + stt->doEmitionDataSaved(true); + Sleep(1000); + stt->doEmitionDataSaved(false); - } - else if(strstr(rBuffT, "400 Bad Request") != NULL) - { + } + else if (strstr(rBuffT, "400 Bad Request") != NULL) + { - QString errorDef = GetNSErrorDefinition(rBuffT, "notify"); - if(errorDef == "Invalid access key") stt->doEmitionYellowFoundData("[NS-Track] [Key is unauthorized] A valid key is required."); - else stt->doEmitionYellowFoundData("[NS-Track] -FAIL! [400 Bad Request : " + errorDef + "]"); + QString errorDef = GetNSErrorDefinition(rBuffT, "notify"); + if (errorDef == "Invalid access key") stt->doEmitionYellowFoundData("[NS-Track] [Key is unauthorized] A valid key is required."); + else stt->doEmitionYellowFoundData("[NS-Track] -FAIL! [400 Bad Request : " + errorDef + "]"); - SaveErrorLog("NS-Track", msg, rBuffT); - } - else - { - stt->doEmitionYellowFoundData("[NS-Track] -FAIL! An error occured [" + QString(msgR) + "]"); - SaveErrorLog("NS-Track", msg, rBuffT); - }; + SaveErrorLog("NS-Track", msg, rBuffT); + } + else + { + stt->doEmitionYellowFoundData("[NS-Track] -FAIL! An error occured [" + QString(msgR) + "]"); + SaveErrorLog("NS-Track", msg, rBuffT); + }; - ZeroMemory(msgR, sizeof(msgR)); - ZeroMemory(rBuffT, sizeof(rBuffT)); - ZeroMemory(msg, sizeof(*msg)); + ZeroMemory(msgR, sizeof(msgR)); + ZeroMemory(rBuffT, sizeof(rBuffT)); + ZeroMemory(msg, sizeof(*msg)); - if(msg != NULL) - { - delete msg; - msg = NULL; - }; + if (msg != NULL) + { + delete msg; + msg = NULL; + }; - CSSOCKET(sock); - }; - Sleep(10000); - }; - } - else - { - stt->doEmitionRedFoundData("[NS-Track] -Balancer replied with invalid string."); - SaveErrorLog("NS-Track", msg, rBuffT); - }; + CSSOCKET(sock); + }; + Sleep(10000); + }; + } + else + { + stt->doEmitionRedFoundData("[NS-Track] -Balancer replied with invalid string."); + SaveErrorLog("NS-Track", msg, rBuffT); + }; - CSSOCKET(sock); - } + CSSOCKET(sock); + } } unsigned long int numOfIps(int ipsstart[], int ipsend[]) { @@ -716,7 +717,7 @@ unsigned long int numOfIps(int ipsstart[], int ipsend[]) { gTargets += 65536 * (ipsend[1] - ipsstart[1]); gTargets += 256 * (ipsend[2] - ipsstart[2]); gTargets += (ipsend[3] - ipsstart[3]); - gTargetsOverall = gTargets - 1; + gTargetsOverall = gTargets; //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]; @@ -727,56 +728,56 @@ unsigned long int numOfIps(int ipsstart[], int ipsend[]) { void verboseProgress(unsigned long target) { - stt->doEmitionIPRANGE(QString(currentIP)); + stt->doEmitionIPRANGE(QString(currentIP)); - char targetNPers[128] = {0}; - float percent = (gTargetsOverall != 0 ? (100 - target/(double)gTargetsOverall * 100) : 0); + char targetNPers[128] = { 0 }; + float percent = (gTargetsOverall != 0 ? (100 - target / (double)gTargetsOverall * 100) : 0); - sprintf(targetNPers, "%Lu (%.1f%%)", target, percent); - stt->doEmitionTargetsLeft(QString(targetNPers)); + sprintf(targetNPers, "%Lu (%.1f%%)", target, percent); + stt->doEmitionTargetsLeft(QString(targetNPers)); - sprintf(metaTargets, "%Lu", target); - sprintf(metaPercent, "%.1f", - percent); + sprintf(metaTargets, "%Lu", target); + sprintf(metaPercent, "%.1f", + percent); } #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) -unsigned char* ASCIItoUNICODE (unsigned char ch) +unsigned char* ASCIItoUNICODE(unsigned char ch) { - unsigned char Val[2]; - if ((ch < 192)&&(ch != 168)&&(ch != 184)) {Val[0] = 0; Val[1] = ch; return Val;} - if (ch == 168) {Val[0] = 208; Val[1] = 129; return Val;} - if (ch == 184) {Val[0] = 209; Val[1] = 145; return Val;} - if (ch < 240) {Val[0] = 208; Val[1] = ch-48; return Val;} - if (ch < 249) {Val[0] = 209; Val[1] = ch-112; return Val;} + unsigned char Val[2]; + if ((ch < 192) && (ch != 168) && (ch != 184)) { Val[0] = 0; Val[1] = ch; return Val; } + if (ch == 168) { Val[0] = 208; Val[1] = 129; return Val; } + if (ch == 184) { Val[0] = 209; Val[1] = 145; return Val; } + if (ch < 240) { Val[0] = 208; Val[1] = ch - 48; return Val; } + if (ch < 249) { Val[0] = 209; Val[1] = ch - 112; return Val; } } #endif std::string xcode(LPCSTR src, UINT srcCodePage, UINT dstCodePage) { - std::string res; + std::string res; #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) - int wsize = MultiByteToWideChar(srcCodePage, 0, src, -1, 0, 0); - LPWSTR wbuf = (LPWSTR)new char[wsize * sizeof(WCHAR)]; - MultiByteToWideChar(srcCodePage, 0, src, -1, wbuf, wsize); - int size = WideCharToMultiByte(dstCodePage, 0, wbuf, -1, 0, 0, 0, 0); - char * buf = (char *)new char[size]; - WideCharToMultiByte(dstCodePage, 0, wbuf, -1, buf, size, 0, 0); - delete wbuf; + int wsize = MultiByteToWideChar(srcCodePage, 0, src, -1, 0, 0); + LPWSTR wbuf = (LPWSTR)new char[wsize * sizeof(WCHAR)]; + MultiByteToWideChar(srcCodePage, 0, src, -1, wbuf, wsize); + int size = WideCharToMultiByte(dstCodePage, 0, wbuf, -1, 0, 0, 0, 0); + char * buf = (char *)new char[size]; + WideCharToMultiByte(dstCodePage, 0, wbuf, -1, buf, size, 0, 0); + delete wbuf; res.append(buf); - delete buf; + delete buf; #else - unsigned int size = 0; - while (src[size++]!=0); - char * buf = (char *)new char[size]; - unsigned char uni[16] = {0}; + unsigned int size = 0; + while (src[size++]!=0); + char * buf = (char *)new char[size]; + unsigned char uni[16] = {0}; - size=0; - while (src[size]!=0) - { + size=0; + while (src[size]!=0) + { - }; - delete buf; + }; + delete buf; #endif return res; } @@ -787,10 +788,10 @@ void CheckMaskBits(char *res, int index) { int finalBit = 1; int bitCounter = 0; - if(bitsNum <= 32 && bitsNum > 24) //4 octet + if (bitsNum <= 32 && bitsNum > 24) //4 octet { bitCounter = 32 - bitsNum; - for(int i = 0; i < bitCounter; i++) finalBit *= 2; + for (int i = 0; i < bitCounter; i++) finalBit *= 2; ipsstartfl[index][0] = ipsendfl[index][0] = octet[0]; ipsstartfl[index][1] = ipsendfl[index][1] = octet[1]; ipsstartfl[index][2] = ipsendfl[index][2] = octet[2]; @@ -798,10 +799,10 @@ void CheckMaskBits(char *res, int index) { ipsendfl[index][3] = octet[3] + finalBit - 1; } - else if(bitsNum <= 24 && bitsNum > 16) //3 octet + else if (bitsNum <= 24 && bitsNum > 16) //3 octet { bitCounter = 24 - bitsNum; - for(int i = 0; i < bitCounter; i++) finalBit *= 2; + for (int i = 0; i < bitCounter; i++) finalBit *= 2; ipsstartfl[index][0] = ipsendfl[index][0] = octet[0]; ipsstartfl[index][1] = ipsendfl[index][1] = octet[1]; ipsstartfl[index][2] = octet[2]; @@ -809,45 +810,45 @@ void CheckMaskBits(char *res, int index) { ipsstartfl[index][3] = octet[3]; ipsendfl[index][3] = 255; } - else if(bitsNum <= 16 && bitsNum > 8) //2 octet + else if (bitsNum <= 16 && bitsNum > 8) //2 octet { bitCounter = 16 - bitsNum; - for(int i = 0; i < bitCounter; i++) finalBit *= 2; + for (int i = 0; i < bitCounter; i++) finalBit *= 2; ipsstartfl[index][0] = ipsendfl[index][0] = octet[0]; ipsstartfl[index][1] = octet[1]; ipsendfl[index][1] = octet[1] + finalBit - 1; ipsstartfl[index][2] = octet[2]; - ipsendfl[index][2] = 255; + ipsendfl[index][2] = 255; ipsstartfl[index][3] = octet[3]; ipsendfl[index][3] = 255; } - else if(bitsNum <= 8 && bitsNum > 0) //1 octet + else if (bitsNum <= 8 && bitsNum > 0) //1 octet { bitCounter = 8 - bitsNum; - for(int i = 0; i < bitCounter; i++) finalBit *= 2; + for (int i = 0; i < bitCounter; i++) finalBit *= 2; ipsstartfl[index][0] = octet[0]; ipsendfl[index][0] = octet[0] + finalBit - 1; ipsstartfl[index][1] = octet[1]; ipsendfl[index][1] = 255; ipsstartfl[index][2] = octet[2]; - ipsendfl[index][2] = 255; + ipsendfl[index][2] = 255; ipsstartfl[index][3] = octet[3]; ipsendfl[index][3] = 255; } else { - stt->doEmitionRedFoundData("[CheckMaskBits] Cannot parse IP list"); - stt->doEmitionKillSttThread(); + stt->doEmitionRedFoundData("[CheckMaskBits] Cannot parse IP list"); + stt->doEmitionKillSttThread(); }; } void GetOctets(char *curIP) { char *str1; char *str2; - char temp[8] = {0}; + char temp[8] = { 0 }; - if(strstr(curIP, ".") != NULL) + if (strstr(curIP, ".") != NULL) { str1 = strstr(curIP, "."); //1 strncpy(temp, curIP, str1 - curIP); @@ -867,7 +868,7 @@ void GetOctets(char *curIP) { return; }; - if(strstr(str1 + 1, ".") != NULL) + if (strstr(str1 + 1, ".") != NULL) { str2 = strstr(str1 + 1, "."); //2 strncpy(temp, str1 + 1, str2 - str1); @@ -876,7 +877,7 @@ void GetOctets(char *curIP) { ZeroMemory(temp, sizeof(temp)); } else - { + { str2 = strstr(str1 + 1, "/"); strncpy(temp, str1 + 1, str2 - str1); @@ -886,7 +887,7 @@ void GetOctets(char *curIP) { return; }; - if(strstr(str2 + 1, ".") != NULL) + if (strstr(str2 + 1, ".") != NULL) { str1 = strstr(str2 + 1, "."); //3 strncpy(temp, str2 + 1, str1 - str2); @@ -904,7 +905,7 @@ void GetOctets(char *curIP) { return; }; - if(strstr(str1 + 1, ".") != NULL) + if (strstr(str1 + 1, ".") != NULL) { str2 = strstr(str1 + 1, "."); //4 strncpy(temp, str1 + 1, str2 - str1); @@ -923,15 +924,15 @@ void GetOctets(char *curIP) { } void FileLoader(char *str) { - char curIP[256] = {0}, curIPCopy[256] = {0}; + char curIP[256] = { 0 }, curIPCopy[256] = { 0 }; unsigned int importFileSize = 0; FILE *fl = fopen(str, "r"); - if(fl != NULL) + if (fl != NULL) { - while(fgets((char*)curIP, sizeof(curIP), fl) != NULL) + while (fgets((char*)curIP, sizeof(curIP), fl) != NULL) { - if(curIP[0] != '#' && curIP[0] != ' ' && curIP[0] != '\n' && curIP[0] != '\r' && strcmp(curIP, "") != 0 && + 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) { @@ -946,12 +947,12 @@ void FileLoader(char *str) { ZeroMemory(ipsstartfl, importFileSize); ZeroMemory(ipsendfl, importFileSize); ZeroMemory(starterIP, importFileSize); - for(int i = 0; i < importFileSize; ++i) + 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); @@ -959,39 +960,39 @@ void FileLoader(char *str) { rewind(fl); - while(fgets(curIP, 256, fl) != NULL) + while (fgets(curIP, 256, fl) != NULL) { - if(curIP[0] != '#' && curIP[0] != ' ' && curIP[0] != '\n' && curIP[0] != '\r' && strcmp(curIP, "") != 0 && + 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); char *ptr1 = strstr(curIP, " "); - if(ptr1 != NULL) curIP[(int)(ptr1 - curIP)] = '\0'; + if (ptr1 != NULL) curIP[(int)(ptr1 - curIP)] = '\0'; ptr1 = strstr(curIP, " "); - if(ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0'; + if (ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0'; ptr1 = strstr(curIP, "#"); - if(ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0'; - if(strcmp(curIP, "") == 0 || strcmp(curIP, " ") == 0 || strcmp(curIP, "\r\n") == 0 || strcmp(curIP, "\n") == 0 || curIP[0] == ' ' || curIP[0] == '#') + if (ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0'; + if (strcmp(curIP, "") == 0 || strcmp(curIP, " ") == 0 || strcmp(curIP, "\r\n") == 0 || strcmp(curIP, "\n") == 0 || curIP[0] == ' ' || curIP[0] == '#') { ZeroMemory(curIPCopy, sizeof(curIPCopy)); ZeroMemory(curIP, sizeof(curIP)); continue; }; - if(strstr(curIP, "-") != NULL) + if (strstr(curIP, "-") != NULL) { bool firstPart = true; int offset = 0; int curNIndex = 0; char curS; - char curN[32] = {0}; - for(int i = 0; i < strlen(curIP); ++i) + char curN[32] = { 0 }; + for (int i = 0; i < strlen(curIP); ++i) { curS = curIP[i]; - if(curS == '.') + if (curS == '.') { - if(firstPart) + if (firstPart) { starterIP[flCounter][offset] = atoi(curN); ipsstartfl[flCounter][offset] = atoi(curN); @@ -1002,9 +1003,9 @@ void FileLoader(char *str) { ZeroMemory(curN, 32); continue; } - else if(curS == '-') + else if (curS == '-') { - if(firstPart) + if (firstPart) { starterIP[flCounter][offset] = atoi(curN); ipsstartfl[flCounter][offset] = atoi(curN); @@ -1017,28 +1018,28 @@ void FileLoader(char *str) { continue; }; curN[curNIndex++] = curS; - if(i == strlen(curIP) - 1) + if (i == strlen(curIP) - 1) { ipsendfl[flCounter][offset] = atoi(curN); }; }; - if(ipsstartfl[flCounter][0] > ipsendfl[flCounter][0] - || (ipsstartfl[flCounter][0] >= ipsendfl[flCounter][0] + if (ipsstartfl[flCounter][0] > ipsendfl[flCounter][0] + || (ipsstartfl[flCounter][0] >= ipsendfl[flCounter][0] && ipsstartfl[flCounter][1] > ipsendfl[flCounter][1] ) - || (ipsstartfl[flCounter][0] >= ipsendfl[flCounter][0] + || (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][0] >= ipsendfl[flCounter][0] && ipsstartfl[flCounter][1] >= ipsendfl[flCounter][1] && ipsstartfl[flCounter][2] >= ipsendfl[flCounter][2] && ipsstartfl[flCounter][3] > ipsendfl[flCounter][3] ) - ) + ) { - char tempMsg[256] = {0}; + char tempMsg[256] = { 0 }; strcpy(tempMsg, "[IP Loader]Wrong list format. Line-> ["); strcat(tempMsg, std::to_string(flCounter).c_str()); strcat(tempMsg, "] String-> ["); @@ -1048,14 +1049,14 @@ void FileLoader(char *str) { return; }; - gTargets += 256*256*256*(ipsendfl[flCounter][0] - ipsstartfl[flCounter][0]); - gTargets += 256*256*(ipsendfl[flCounter][1] - ipsstartfl[flCounter][1]); - gTargets += 256*(ipsendfl[flCounter][2] - ipsstartfl[flCounter][2]); + gTargets += 256 * 256 * 256 * (ipsendfl[flCounter][0] - ipsstartfl[flCounter][0]); + gTargets += 256 * 256 * (ipsendfl[flCounter][1] - ipsstartfl[flCounter][1]); + gTargets += 256 * (ipsendfl[flCounter][2] - ipsstartfl[flCounter][2]); gTargets += (ipsendfl[flCounter][3] - ipsstartfl[flCounter][3]); ++flCounter; } - else if(strstr(curIP, "/") != NULL) - { + else if (strstr(curIP, "/") != NULL) + { int mask = 0; char *ptr1 = strstr(curIP, "/"); GetOctets(curIP); @@ -1067,23 +1068,23 @@ void FileLoader(char *str) { mOctet[2] = 1; mOctet[3] = 1; - if(mask >= 24) + if (mask >= 24) { mOctet[0] = 255; mOctet[1] = 255; mOctet[2] = 255; - for(int i = 0; i < mask - 24 - 1; ++i) + for (int i = 0; i < mask - 24 - 1; ++i) { mOctet[3] = mOctet[3] << 1; mOctet[3] |= 1; }; mOctet[3] = mOctet[3] << 8 - (mask - 24); } - else if(mask >= 16) + else if (mask >= 16) { mOctet[0] = 255; mOctet[1] = 255; - for(int i = 0; i < mask - 16 - 1; ++i) + for (int i = 0; i < mask - 16 - 1; ++i) { mOctet[2] = mOctet[2] << 1; mOctet[2] |= 1; @@ -1091,10 +1092,10 @@ void FileLoader(char *str) { mOctet[2] = mOctet[2] << 8 - (mask - 16); mOctet[3] = 0; } - else if(mask >= 8) + else if (mask >= 8) { mOctet[0] = 255; - for(int i = 0; i < mask - 8 - 1; ++i) + for (int i = 0; i < mask - 8 - 1; ++i) { mOctet[1] = mOctet[1] << 1; mOctet[1] |= 1; @@ -1105,9 +1106,9 @@ void FileLoader(char *str) { } else { - for(int i = 0; i < mask - 1; ++i) + for (int i = 0; i < mask - 1; ++i) { - mOctet[0] = mOctet[0]<< 1; + mOctet[0] = mOctet[0] << 1; mOctet[0] |= 1; }; mOctet[0] = mOctet[0] << 8 - mask; @@ -1115,27 +1116,27 @@ void FileLoader(char *str) { mOctet[2] = 0; mOctet[3] = 0; }; - + unsigned char ocRes = 0; - for(int i = 0; i < 4; ++i) + for (int i = 0; i < 4; ++i) { - ocRes = octet[i]&mOctet[i]; + ocRes = octet[i] & mOctet[i]; starterIP[flCounter][i] = ocRes; ipsstartfl[flCounter][i] = ocRes; - if(mOctet[i] == 255) ipsendfl[flCounter][i] = octet[i]; - else ipsendfl[flCounter][i] = octet[i]|~mOctet[i]; + if (mOctet[i] == 255) ipsendfl[flCounter][i] = octet[i]; + else ipsendfl[flCounter][i] = octet[i] | ~mOctet[i]; }; gTargets += pow((float)2, (32 - mask)); ++flCounter; } - else if(strstr(curIP, "RESTORE_IMPORT_SESSION") != NULL) + else if (strstr(curIP, "RESTORE_IMPORT_SESSION") != NULL) { ///DUMMY/// } else { - char tempMsg[256] = {0}; + char tempMsg[256] = { 0 }; strcpy(tempMsg, "[IP Loader]Wrong list format. Line-> ["); strcat(tempMsg, std::to_string(flCounter).c_str()); strcat(tempMsg, "] String-> ["); @@ -1161,9 +1162,9 @@ void FileLoader(char *str) { } char *GetCIDRRangeStr(char *str) { - char result[128] = {0}; - char start[32] = {0}; - char end[32] = {0}; + char result[128] = { 0 }; + char start[32] = { 0 }; + char end[32] = { 0 }; int mask = 0; char *ptr1 = strstr(str, "/"); @@ -1176,23 +1177,23 @@ char *GetCIDRRangeStr(char *str) { mOctet[2] = 1; mOctet[3] = 1; - if(mask >= 24) + if (mask >= 24) { mOctet[0] = 255; mOctet[1] = 255; mOctet[2] = 255; - for(int i = 0; i < mask - 24 - 1; ++i) + for (int i = 0; i < mask - 24 - 1; ++i) { mOctet[3] = mOctet[3] << 1; mOctet[3] |= 1; }; mOctet[3] = mOctet[3] << 8 - (mask - 24); } - else if(mask >= 16) + else if (mask >= 16) { mOctet[0] = 255; mOctet[1] = 255; - for(int i = 0; i < mask - 16 - 1; ++i) + for (int i = 0; i < mask - 16 - 1; ++i) { mOctet[2] = mOctet[2] << 1; mOctet[2] |= 1; @@ -1200,10 +1201,10 @@ char *GetCIDRRangeStr(char *str) { mOctet[2] = mOctet[2] << 8 - (mask - 16); mOctet[3] = 0; } - else if(mask >= 8) + else if (mask >= 8) { mOctet[0] = 255; - for(int i = 0; i < mask - 8 - 1; ++i) + for (int i = 0; i < mask - 8 - 1; ++i) { mOctet[1] = mOctet[1] << 1; mOctet[1] |= 1; @@ -1214,9 +1215,9 @@ char *GetCIDRRangeStr(char *str) { } else { - for(int i = 0; i < mask - 1; ++i) + for (int i = 0; i < mask - 1; ++i) { - mOctet[0] = mOctet[0]<< 1; + mOctet[0] = mOctet[0] << 1; mOctet[0] |= 1; }; mOctet[0] = mOctet[0] << 8 - mask; @@ -1226,274 +1227,274 @@ char *GetCIDRRangeStr(char *str) { }; - sprintf(start, "%d.%d.%d.%d", octet[0]&mOctet[0], - octet[1]&mOctet[1], - octet[2]&mOctet[2], - octet[3]&mOctet[3]); + sprintf(start, "%d.%d.%d.%d", octet[0] & mOctet[0], + octet[1] & mOctet[1], + octet[2] & mOctet[2], + octet[3] & mOctet[3]); - unsigned char tempRes0 = 0; - unsigned char tempRes1 = 0; - unsigned char tempRes2 = 0; - unsigned char tempRes3 = 0; + unsigned char tempRes0 = 0; + unsigned char tempRes1 = 0; + unsigned char tempRes2 = 0; + unsigned char tempRes3 = 0; - if(mOctet[0] == 255) tempRes0 = octet[0]; - else tempRes0 = octet[0]|~mOctet[0]; - if(mOctet[1] == 255) tempRes1 = octet[1]; - else tempRes1 = octet[1]|~mOctet[1]; - if(mOctet[2] == 255) tempRes2 = octet[2]; - else tempRes2 = octet[2]|~mOctet[2]; - if(mOctet[3] == 255) tempRes3 = octet[3]; - else tempRes3 = octet[3]|~mOctet[3]; + if (mOctet[0] == 255) tempRes0 = octet[0]; + else tempRes0 = octet[0] | ~mOctet[0]; + if (mOctet[1] == 255) tempRes1 = octet[1]; + else tempRes1 = octet[1] | ~mOctet[1]; + if (mOctet[2] == 255) tempRes2 = octet[2]; + else tempRes2 = octet[2] | ~mOctet[2]; + if (mOctet[3] == 255) tempRes3 = octet[3]; + else tempRes3 = octet[3] | ~mOctet[3]; - sprintf(end, "%d.%d.%d.%d", tempRes0, - tempRes1, - tempRes2, - tempRes3); + sprintf(end, "%d.%d.%d.%d", tempRes0, + tempRes1, + tempRes2, + tempRes3); - sprintf(result, "%s-%s", start, end); + sprintf(result, "%s-%s", start, end); return result; } int fInit(int InitMode, char *gR) { - strcpy(metaRange, gR); - if (InitMode == 0) - { - if(strstr(gR, "/") != NULL) - { - ++flCounter; + strcpy(metaRange, gR); + if (InitMode == 0) + { + if (strstr(gR, "/") != NULL) + { + ++flCounter; - char *str1; - char *str2; - char res[8] = {0}; + char *str1; + char *str2; + char res[8] = { 0 }; - GetOctets(gR); + GetOctets(gR); - if(strstr(gR, ".") != NULL) - { - str1 = strstr(gR, "."); //1 byte - strncpy(res, gR, (int)((char*)str1 - gR)); - } - else strcpy(res, gR); + if (strstr(gR, ".") != NULL) + { + str1 = strstr(gR, "."); //1 byte + strncpy(res, gR, (int)((char*)str1 - gR)); + } + else strcpy(res, gR); - if(strstr(res, "/") != NULL) - { - CheckMaskBits(res, flCounter); - } - else - { - starterIP[flCounter][0] = atoi(res); - ipsstartfl[flCounter][0] = atoi(res); - ipsendfl[flCounter][0] = atoi(res); - }; - ZeroMemory(res, sizeof(res)); + if (strstr(res, "/") != NULL) + { + CheckMaskBits(res, flCounter); + } + else + { + starterIP[flCounter][0] = atoi(res); + ipsstartfl[flCounter][0] = atoi(res); + ipsendfl[flCounter][0] = atoi(res); + }; + ZeroMemory(res, sizeof(res)); - if(strstr(str1 + 1, ".") != NULL) - { - str2 = strstr(str1 + 1, "."); //2 byte - strncpy(res, str1 + 1, (int)((char*)str2 - str1) - 1); - } - else strcpy(res, str1 + 1); + if (strstr(str1 + 1, ".") != NULL) + { + str2 = strstr(str1 + 1, "."); //2 byte + strncpy(res, str1 + 1, (int)((char*)str2 - str1) - 1); + } + else strcpy(res, str1 + 1); - if(strstr(res, "/") != NULL) - { - CheckMaskBits(res, flCounter); - } - else - { - starterIP[flCounter][1] = atoi(res); - ipsstartfl[flCounter][1] = atoi(res); - ipsendfl[flCounter][1] = atoi(res); - }; + if (strstr(res, "/") != NULL) + { + CheckMaskBits(res, flCounter); + } + else + { + starterIP[flCounter][1] = atoi(res); + ipsstartfl[flCounter][1] = atoi(res); + ipsendfl[flCounter][1] = atoi(res); + }; - ZeroMemory(res, sizeof(res)); + ZeroMemory(res, sizeof(res)); - if(strstr(str2 + 1, ".") != NULL) - { - str1 = strstr(str2 + 1, "."); //3 byte - strncpy(res, str2 + 1, (int)((char*)str1 - str2) - 1); - } - else strcpy(res, str2 + 1); + if (strstr(str2 + 1, ".") != NULL) + { + str1 = strstr(str2 + 1, "."); //3 byte + strncpy(res, str2 + 1, (int)((char*)str1 - str2) - 1); + } + else strcpy(res, str2 + 1); - if(strstr(res, "/") != NULL) - { - CheckMaskBits(res, flCounter); - } - else - { - starterIP[flCounter][2] = atoi(res); - ipsstartfl[flCounter][2] = atoi(res); - ipsendfl[flCounter][2] = atoi(res); - }; - ZeroMemory(res, sizeof(res)); + if (strstr(res, "/") != NULL) + { + CheckMaskBits(res, flCounter); + } + else + { + starterIP[flCounter][2] = atoi(res); + ipsstartfl[flCounter][2] = atoi(res); + ipsendfl[flCounter][2] = atoi(res); + }; + ZeroMemory(res, sizeof(res)); - if(strstr(str1 + 1, ".") != NULL) - { - str2 = strstr(str1 + 1, "."); //4 byte - strncpy(res, str1 + 1, (int)((char*)str2 - str1) - 1); - } - else strcpy(res, str1 + 1); + if (strstr(str1 + 1, ".") != NULL) + { + str2 = strstr(str1 + 1, "."); //4 byte + strncpy(res, str1 + 1, (int)((char*)str2 - str1) - 1); + } + else strcpy(res, str1 + 1); - if(strstr(res, "/") != NULL) - { - CheckMaskBits(res, flCounter); - } - else - { - starterIP[flCounter][3] = atoi(res); - ipsstartfl[flCounter][3] = atoi(res); - ipsendfl[flCounter][3] = atoi(res); - }; + if (strstr(res, "/") != NULL) + { + CheckMaskBits(res, flCounter); + } + else + { + starterIP[flCounter][3] = atoi(res); + ipsstartfl[flCounter][3] = atoi(res); + ipsendfl[flCounter][3] = atoi(res); + }; - ipsstart[0] = ipsstartfl[flCounter][0]; - ipsstart[1] = ipsstartfl[flCounter][1]; - ipsstart[2] = ipsstartfl[flCounter][2]; - ipsstart[3] = ipsstartfl[flCounter][3]; + ipsstart[0] = ipsstartfl[flCounter][0]; + ipsstart[1] = ipsstartfl[flCounter][1]; + ipsstart[2] = ipsstartfl[flCounter][2]; + ipsstart[3] = ipsstartfl[flCounter][3]; - ipsend[0] = ipsendfl[flCounter][0]; - ipsend[1] = ipsendfl[flCounter][1]; - ipsend[2] = ipsendfl[flCounter][2]; - ipsend[3] = ipsendfl[flCounter][3]; - } - else - { - int x; - char des1[64] = {0}; + ipsend[0] = ipsendfl[flCounter][0]; + ipsend[1] = ipsendfl[flCounter][1]; + ipsend[2] = ipsendfl[flCounter][2]; + ipsend[3] = ipsendfl[flCounter][3]; + } + else + { + int x; + char des1[64] = { 0 }; - for(int i = 0; i < 3; i++) //Filling the range-starting ip mass. - { - x = strcspn(gR, "."); - memcpy(des1, gR, x*sizeof(int)); - memset(gR, ' ', x + 1); - ipsstart[i] = atoi(des1); - ZeroMemory(des1, sizeof(des1)); - if(ipsstart[i] > 255) - { - stt->doEmitionRedFoundData("[Error] Incorrect range."); - stt->doEmitionKillSttThread(); - return -1; - }; - }; + for (int i = 0; i < 3; i++) //Filling the range-starting ip mass. + { + x = strcspn(gR, "."); + memcpy(des1, gR, x*sizeof(int)); + memset(gR, ' ', x + 1); + ipsstart[i] = atoi(des1); + ZeroMemory(des1, sizeof(des1)); + if (ipsstart[i] > 255) + { + stt->doEmitionRedFoundData("[Error] Incorrect range."); + stt->doEmitionKillSttThread(); + return -1; + }; + }; - x = strcspn(gR, "-"); - if(strstr(gR, "-") == NULL) - { - stt->doEmitionRedFoundData("[Error] Incorrect range."); - stt->doEmitionKillSttThread(); - return -1; - }; + x = strcspn(gR, "-"); + if (strstr(gR, "-") == NULL) + { + stt->doEmitionRedFoundData("[Error] Incorrect range."); + stt->doEmitionKillSttThread(); + return -1; + }; - memcpy(des1, gR, x); - ipsstart[3] = atoi(des1); - memset(gR, ' ', x + 1); + memcpy(des1, gR, x); + ipsstart[3] = atoi(des1); + memset(gR, ' ', x + 1); - if(strstr(gR, ".") == NULL) - { - stt->doEmitionRedFoundData("[Error] Incorrect range."); - stt->doEmitionKillSttThread(); - return -1; - }; + if (strstr(gR, ".") == NULL) + { + stt->doEmitionRedFoundData("[Error] Incorrect range."); + stt->doEmitionKillSttThread(); + return -1; + }; - for(int i = 0; i < 4; i++) //Filling the range-closing ip mass. - { - x = strcspn(gR, "."); - memcpy(des1, gR, x); - memset(gR, ' ', x + 1); - ipsend[i] = atoi(des1); + for (int i = 0; i < 4; i++) //Filling the range-closing ip mass. + { + x = strcspn(gR, "."); + memcpy(des1, gR, x); + memset(gR, ' ', x + 1); + ipsend[i] = atoi(des1); - if(ipsend[i] > 255) - { - stt->doEmitionRedFoundData("[Error] Incorrect range."); - stt->doEmitionKillSttThread(); - return -1; - }; - }; + if (ipsend[i] > 255) + { + stt->doEmitionRedFoundData("[Error] Incorrect range."); + stt->doEmitionKillSttThread(); + return -1; + }; + }; - }; - if((ipsstart[0] > ipsend[0]) - || - ( - (ipsstart[0] >= ipsend[0]) && (ipsstart[1] > ipsend[1]) - ) || - ( - (ipsstart[0] >= ipsend[0]) && (ipsstart[1] >= ipsend[1]) && (ipsstart[2] > ipsend[2]) - ) || - ( - (ipsstart[0] >= ipsend[0]) && (ipsstart[1] >= ipsend[1]) && (ipsstart[2] >= ipsend[2]) && (ipsstart[3] > ipsend[3]) - ) - ) - { - stt->doEmitionRedFoundData("[Error] Incorrect range."); - stt->doEmitionKillSttThread(); - return -1; - }; + }; + if ((ipsstart[0] > ipsend[0]) + || + ( + (ipsstart[0] >= ipsend[0]) && (ipsstart[1] > ipsend[1]) + ) || + ( + (ipsstart[0] >= ipsend[0]) && (ipsstart[1] >= ipsend[1]) && (ipsstart[2] > ipsend[2]) + ) || + ( + (ipsstart[0] >= ipsend[0]) && (ipsstart[1] >= ipsend[1]) && (ipsstart[2] >= ipsend[2]) && (ipsstart[3] > ipsend[3]) + ) + ) + { + stt->doEmitionRedFoundData("[Error] Incorrect range."); + stt->doEmitionKillSttThread(); + return -1; + }; - targets = numOfIps(ipsstart, ipsend); - }; + targets = numOfIps(ipsstart, ipsend); + }; } int ParseArgs(int argc, char *argv[]) { int s = 0; int indexPorts = 0; - - if(strstr(argv[1], "-f") != NULL) - { - FileLoader(argv[2]); - } - if(gMode == 0) + if (strstr(argv[1], "-f") != NULL) { - if(strstr(argv[2], "-") != NULL) - { - strcpy(gRange, argv[2]); - } - else if(strstr(argv[2], "/") != NULL) - { - strcpy(gRange, GetCIDRRangeStr(argv[2])); - } - else - { - strcpy(gRange, argv[2]); - strcat(gRange, "-"); - strcat(gRange, argv[2]); - }; - - strcpy(saveEndIP, gRange); - strcpy(finalIP, strstr(gRange, "-") + 1); + FileLoader(argv[2]); } - else if(gMode == 1) + + if (gMode == 0) { - if(strstr(argv[2], "/") != NULL) + if (strstr(argv[2], "-") != NULL) { strcpy(gRange, argv[2]); - strcpy(saveEndIP, argv[2]); + } + else if (strstr(argv[2], "/") != NULL) + { + strcpy(gRange, GetCIDRRangeStr(argv[2])); } else { strcpy(gRange, argv[2]); - strcpy(saveEndIP, gRange); + strcat(gRange, "-"); + strcat(gRange, argv[2]); + }; + + strcpy(saveEndIP, gRange); + strcpy(finalIP, strstr(gRange, "-") + 1); + } + else if (gMode == 1) + { + if (strstr(argv[2], "/") != NULL) + { + strcpy(gRange, argv[2]); + strcpy(saveEndIP, argv[2]); + } + else + { + strcpy(gRange, argv[2]); + strcpy(saveEndIP, gRange); }; }; - for(int i = 1; i <= argc - 1; i++) + for (int i = 1; i <= argc - 1; i++) { s += strlen(argv[i]) + 2; }; - char *argString = new char [s + 1]; - ZeroMemory(argString, sizeof(*argString)); + char *argString = new char[s + 1]; + ZeroMemory(argString, sizeof(*argString)); - for(int i = 1; i <= argc - 1; i++) + for (int i = 1; i <= argc - 1; i++) { strcat(argString, argv[i]); - if(i != argc - 1) strcat(argString, "::"); + if (i != argc - 1) strcat(argString, "::"); }; - if(strstr(argString, "-p") != NULL) + if (strstr(argString, "-p") != NULL) { char *portString = strstr(argString, "-p"); - char p[4096] = {0}; - if(strstr(portString, "::") != NULL) + char p[4096] = { 0 }; + if (strstr(portString, "::") != NULL) { strncpy(gPorts, portString, (int)(strstr(portString, "::") - portString)); strncpy(p, strstr(argString, "-p") + 2, (int)(strstr(portString, "::") - portString)); @@ -1505,32 +1506,32 @@ int ParseArgs(int argc, char *argv[]) { }; char *lex; - if(strstr(p, ",") != NULL) + if (strstr(p, ",") != NULL) { - - lex = strtok(p, ","); - portArr[indexPorts++] = atoi(lex); - while ((lex = strtok(NULL, ",")) != NULL) - { + lex = strtok(p, ","); + portArr[indexPorts++] = atoi(lex); + + while ((lex = strtok(NULL, ",")) != NULL) + { portArr[indexPorts++] = atoi(lex); overallPorts++; }; } - else if(strstr(p, "-") != NULL) + else if (strstr(p, "-") != NULL) { char *startp; char *endp; - char buffForPorts[16] = {0}; - + char buffForPorts[16] = { 0 }; + lex = strtok(p, "-p"); startp = lex; lex = strtok(NULL, "-"); endp = lex; - for(int i = atoi(startp); i <= atoi(endp); i++ ) + for (int i = atoi(startp); i <= atoi(endp); i++) { - portArr[indexPorts++] = i; + portArr[indexPorts++] = i; overallPorts++; }; @@ -1538,7 +1539,7 @@ int ParseArgs(int argc, char *argv[]) { } else { - + lex = strtok(p, "-p"); portArr[indexPorts++] = atoi(lex); }; @@ -1568,21 +1569,21 @@ int ParseArgs(int argc, char *argv[]) { strcpy(gPorts, "--DEFAULT"); }; - ZeroMemory(argString, sizeof(*argString)); + ZeroMemory(argString, sizeof(*argString)); delete[] argString; -return 0; + return 0; } - -char charAll[38] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '_', '-', - 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', - 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}; + +char charAll[38] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '_', '-', +'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', +'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' }; int _getPos(char l) { - for(int i = 0; i < 38; ++i) + for (int i = 0; i < 38; ++i) { - if(l == charAll[i]) return i; + if (l == charAll[i]) return i; }; return -1; } @@ -1597,94 +1598,94 @@ int _getChunkCount(char *data) { void ConInc() { #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) -__asm - { - lock inc cons; - }; + __asm + { + lock inc cons; + }; #else - asm("lock; incl cons"); + asm("lock; incl cons"); #endif - stt->doEmitionThreads(QString::number(cons) + "/" + - QString::number(gThreads)); + stt->doEmitionThreads(QString::number(cons) + "/" + + QString::number(gThreads)); } void ConDec() { - if(cons > 0) - { + if (cons > 0) + { #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) - __asm - { - lock dec cons; - }; + __asm + { + lock dec cons; + }; #else - asm("lock; decl cons"); + asm("lock; decl cons"); #endif - }; - stt->doEmitionThreads(QString::number(cons) + "/" + - QString::number(gThreads)); + }; + stt->doEmitionThreads(QString::number(cons) + "/" + + QString::number(gThreads)); } void _connect() { - std::string ip = ""; - while (globalScanFlag) { - std::unique_lock lk(Threader::m); - Threader::cv.wait(lk, []{return Threader::ready; }); + std::string ip = ""; + while (globalScanFlag) { + std::unique_lock lk(Threader::m); + Threader::cv.wait(lk, []{return Threader::ready; }); - if (Threader::threadId > gThreads || !globalScanFlag) { - --Threader::threadId; - Threader::ready = false; - lk.unlock(); - Threader::cv.notify_one(); - return; - } + if (Threader::threadId > gThreads || !globalScanFlag) { + --Threader::threadId; + Threader::ready = false; + lk.unlock(); + Threader::cv.notify_one(); + return; + } - if (!Threader::ipQueue.empty()) { - ip = Threader::ipQueue.front(); - Threader::ipQueue.pop(); - Threader::ready = false; - lk.unlock(); - Threader::cv.notify_one(); + if (!Threader::ipQueue.empty()) { + ip = Threader::ipQueue.front(); + Threader::ipQueue.pop(); + Threader::ready = false; + lk.unlock(); + Threader::cv.notify_one(); - ++ipCounter; - ConInc(); - for (int i = 0; i <= overallPorts; ++i) - { - if (!globalScanFlag) break; - if (Connector::_ConnectToPort((char*)ip.c_str(), portArr[i]) == -2) break; - }; - ConDec(); - } - } + ++ipCounter; + ConInc(); + for (int i = 0; i <= overallPorts; ++i) + { + if (!globalScanFlag) break; + if (Connector::_ConnectToPort((char*)ip.c_str(), portArr[i]) == -2) break; + }; + ConDec(); + } + } } int _GetDNSFromMask(char *mask, char *saveMask, char *saveMaskEnder) { - if(strstr(mask, "[") != NULL) - { - char maskEnd[1024] = {0}; - char maskRes[1024] = {0}; + if (strstr(mask, "[") != NULL) + { + char maskEnd[1024] = { 0 }; + char maskRes[1024] = { 0 }; char *ptr1 = strstr(mask, "["); char *ptr2 = strstr(ptr1, "]"); int sz = ptr2 - ptr1; - char chunk[8] = {0}; + char chunk[8] = { 0 }; strncpy(chunk, ptr1, sz + 1); int firstPos = _getPos(chunk[1]); int secondPos = _getPos(chunk[2]); - if(firstPos > secondPos) + if (firstPos > secondPos) { stt->doEmitionRedFoundData("Error at mask (Wrong letter sequence)"); return -1; }; - char maskStart[1024] = {0}; + char maskStart[1024] = { 0 }; int startPosition = strstr(mask, "[") - mask; strncpy(maskStart, mask, startPosition); - char maskEntry[1024] = {0}; - if(saveMaskEnder != NULL) + char maskEntry[1024] = { 0 }; + if (saveMaskEnder != NULL) { int startSavePosition = strstr(saveMaskEnder, "[") - saveMaskEnder; strncpy(maskEntry, saveMaskEnder, startSavePosition); @@ -1692,15 +1693,15 @@ int _GetDNSFromMask(char *mask, char *saveMask, char *saveMaskEnder) { int szMask = strlen(mask); int szOffset = startPosition + 2; - if(szMask != szOffset) strcpy(maskEnd, strstr(mask, "]") + 1); - else ZeroMemory(maskEnd, sizeof(maskEnd));; + if (szMask != szOffset) strcpy(maskEnd, strstr(mask, "]") + 1); + else ZeroMemory(maskEnd, sizeof(maskEnd));; - char maskSaver[128] = {0}; - if(firstPos != -1 && secondPos != -1) + char maskSaver[128] = { 0 }; + if (firstPos != -1 && secondPos != -1) { - for(int i = firstPos; i <= secondPos; ++i) + for (int i = firstPos; i <= secondPos; ++i) { - if(!globalScanFlag) break; + if (!globalScanFlag) break; strcpy(maskSaver, saveMask); strcat(maskSaver, maskEntry); @@ -1710,40 +1711,40 @@ int _GetDNSFromMask(char *mask, char *saveMask, char *saveMaskEnder) { maskRes[startPosition] = charAll[i]; strcat(maskRes, maskEnd); - if(_GetDNSFromMask(maskRes, maskSaver, maskEnd) == -1) return -1; + if (_GetDNSFromMask(maskRes, maskSaver, maskEnd) == -1) return -1; - ZeroMemory(maskSaver, sizeof(maskSaver)); - ZeroMemory(maskRes, sizeof(maskRes)); + ZeroMemory(maskSaver, sizeof(maskSaver)); + ZeroMemory(maskRes, sizeof(maskRes)); }; }; } else - { - strcpy(currentMask, saveMask); - while(cons >= gThreads && globalScanFlag) Sleep(300); - if(!globalScanFlag) return 0; + { + strcpy(currentMask, saveMask); + while (cons >= gThreads && globalScanFlag) Sleep(300); + if (!globalScanFlag) return 0; - ++indexIP; - sprintf(currentIP, "%s%s", mask, gTLD); - verboseProgress(--gTargets); + ++indexIP; + sprintf(currentIP, "%s%s", mask, gTLD); + verboseProgress(gTargets--); - Threader::fireThread(currentIP, (void*(*)(void))_connect); + Threader::fireThread(currentIP, (void*(*)(void))_connect); }; } void runAuxiliaryThreads() { - FileUpdater::loadOnce(); + FileUpdater::loadOnce(); if (!FileUpdater::running) { std::thread lpThread(FileUpdater::updateLists); - lpThread.detach(); - } + lpThread.detach(); + } std::thread trackerThread(_tracker); - trackerThread.detach(); - std::thread timerThread(_timer); - timerThread.detach(); - std::thread saverThread(_saver); - saverThread.detach(); + trackerThread.detach(); + std::thread timerThread(_timer); + timerThread.detach(); + std::thread saverThread(_saver); + saverThread.detach(); } @@ -1766,7 +1767,7 @@ int startScan(char* args) { ZeroMemory(octet, sizeof(octet)); ZeroMemory(ipsstart, sizeof(ipsstart)); ZeroMemory(ipsend, sizeof(ipsend)); - + #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) CreateDirectoryA(RESULT_DIR_NAME, NULL); #else @@ -1800,10 +1801,10 @@ int startScan(char* args) { stt->doEmitionIPRANGE(QString("--")); stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads)); - runAuxiliaryThreads(); + runAuxiliaryThreads(); if (gMode == 0) - { + { 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]; @@ -1814,11 +1815,11 @@ int startScan(char* args) { for (unsigned long i = ip1; i <= ip2; ++i) { - if (!globalScanFlag) break; + if (!globalScanFlag) break; unsigned long offset = ip2 - i; tAddr.s_addr = ntohl(i); - ipVec.push_back(inet_ntoa(tAddr)); + ipVec.push_back(inet_ntoa(tAddr)); if (ipVec.size() >= (offset < 1000 ? offset : 1000)) { @@ -1826,15 +1827,15 @@ int startScan(char* args) { while (ipVec.size() != 0) { while (cons >= gThreads && globalScanFlag) Sleep(500); - if (!globalScanFlag) goto haters_gonna_hate_IPM; + if (!globalScanFlag) goto haters_gonna_hate_IPM; - ++indexIP; - strcpy(currentIP, ipVec[0].c_str()); + ++indexIP; + strcpy(currentIP, ipVec[0].c_str()); ipVec.erase(ipVec.begin()); - verboseProgress(--gTargets); + verboseProgress(gTargets--); - Threader::fireThread(currentIP, (void*(*)(void))_connect); + Threader::fireThread(currentIP, (void*(*)(void))_connect); } } } @@ -1847,22 +1848,22 @@ int startScan(char* args) { for (unsigned long i = ip1; i <= ip2; ++i) { while (cons >= gThreads && globalScanFlag) Sleep(500); - if (!globalScanFlag) break; + if (!globalScanFlag) break; ++indexIP; tAddr.s_addr = ntohl(i); - strcpy(currentIP, inet_ntoa(tAddr)); - verboseProgress(--gTargets); + strcpy(currentIP, inet_ntoa(tAddr)); + verboseProgress(gTargets--); - Threader::fireThread(currentIP, (void*(*)(void))_connect); + Threader::fireThread(currentIP, (void*(*)(void))_connect); } break; } } } else if (gMode == 1) - { + { char dataEntry[1024] = { 0 }; int innerCounter = 0; int sz = strlen(saveEndIP); @@ -1913,8 +1914,8 @@ int startScan(char* args) { }; }; - memset(dataEntry + innerCounter + 1, '\0', 1); - strcpy(currentMask, dataEntry); + memset(dataEntry + innerCounter + 1, '\0', 1); + strcpy(currentMask, dataEntry); for (int i = 0; i < sz; ++i) { @@ -1972,7 +1973,7 @@ int startScan(char* args) { stt->doEmitionYellowFoundData("Starting DNS-scan..."); stt->doEmitionChangeStatus("Scanning..."); - int y = _GetDNSFromMask(dataEntry, "", dataEntry); + int y = _GetDNSFromMask(dataEntry, "", dataEntry); if (y == -1) { stt->doEmitionRedFoundData("DNS-Mode error"); @@ -2018,11 +2019,11 @@ int startScan(char* args) { for (unsigned long i = ip1; i <= ip2; ++i) { - if (!globalScanFlag) break; + if (!globalScanFlag) break; unsigned long offset = ip2 - i; tAddr.s_addr = ntohl(i); - ipVec.push_back(inet_ntoa(tAddr)); + ipVec.push_back(inet_ntoa(tAddr)); if (ipVec.size() >= (offset < 1000 ? offset : 1000)) { @@ -2030,14 +2031,14 @@ int startScan(char* args) { while (ipVec.size() != 0) { while (cons >= gThreads && globalScanFlag) Sleep(500); - if (!globalScanFlag) goto haters_gonna_hate_IM; + if (!globalScanFlag) goto haters_gonna_hate_IM; - ++indexIP; - strcpy(currentIP, ipVec[0].c_str()); - ipVec.erase(ipVec.begin()); - verboseProgress(--gTargets); + ++indexIP; + strcpy(currentIP, ipVec[0].c_str()); + ipVec.erase(ipVec.begin()); + verboseProgress(gTargets--); - Threader::fireThread(currentIP, (void*(*)(void))_connect); + Threader::fireThread(currentIP, (void*(*)(void))_connect); } } } @@ -2049,14 +2050,14 @@ int startScan(char* args) { for (unsigned long i = ip1; i <= ip2; ++i) { while (cons >= gThreads && globalScanFlag) Sleep(500); - if (!globalScanFlag) break; + if (!globalScanFlag) break; ++indexIP; - tAddr.s_addr = ntohl(i); - strcpy(currentIP, inet_ntoa(tAddr)); - verboseProgress(--gTargets); - Threader::fireThread(currentIP, (void*(*)(void))_connect); + tAddr.s_addr = ntohl(i); + strcpy(currentIP, inet_ntoa(tAddr)); + verboseProgress(gTargets--); + Threader::fireThread(currentIP, (void*(*)(void))_connect); } break; }; @@ -2069,79 +2070,79 @@ int startScan(char* args) { }; Sleep(gTimeOut + 1); - + stt->doEmitionYellowFoundData("Stopping threads..."); stt->doEmitionChangeStatus("Stopping..."); - - while(cons > 0 || jsonArr->size() > 0) { - Sleep(2000); - }; - + + while (cons > 0 || jsonArr->size() > 0) { + Sleep(2000); + }; + stt->doEmitionGreenFoundData("Done. Saved: " + QString::number(saved) + "; Alive: " + QString::number(found) + "."); stt->doEmitionChangeParsed(QString::number(saved) + "/" + QString::number(found)); stt->doEmitionChangeStatus("Idle"); Sleep(1000); //Wait for lock release - stt->doEmitionKillSttThread(); + stt->doEmitionKillSttThread(); } void nCleanup(){ - FileUpdater::FUClear(); - Threader::cleanUp(); - curl_global_cleanup(); + FileUpdater::FUClear(); + Threader::cleanUp(); + curl_global_cleanup(); - if(loginLst != NULL) + if (loginLst != NULL) { - for(int i = 0; i < MaxLogin; ++i) delete []loginLst[i]; - delete []loginLst; + for (int i = 0; i < MaxLogin; ++i) delete[]loginLst[i]; + delete[]loginLst; loginLst = NULL; }; - if(passLst != NULL) + if (passLst != NULL) { - for(int i = 0; i < MaxPass; ++i) delete []passLst[i]; - delete []passLst; + for (int i = 0; i < MaxPass; ++i) delete[]passLst[i]; + delete[]passLst; passLst = NULL; }; - if(GlobalNegatives != NULL) - { - for(int i = 0; i < GlobalNegativeSize; ++i) delete []GlobalNegatives[i]; - delete []GlobalNegatives; + if (GlobalNegatives != NULL) + { + for (int i = 0; i < GlobalNegativeSize; ++i) delete[]GlobalNegatives[i]; + delete[]GlobalNegatives; GlobalNegatives = NULL; }; - if(wfPassLst != NULL) + if (wfPassLst != NULL) { - for(int i = 0; i < MaxWFPass; ++i) delete []wfPassLst[i]; - delete []wfPassLst; + for (int i = 0; i < MaxWFPass; ++i) delete[]wfPassLst[i]; + delete[]wfPassLst; wfPassLst = NULL; }; - if(wfLoginLst != NULL) + if (wfLoginLst != NULL) { - for(int i = 0; i < MaxWFLogin; ++i) delete []wfLoginLst[i]; - delete []wfLoginLst; + for (int i = 0; i < MaxWFLogin; ++i) delete[]wfLoginLst[i]; + delete[]wfLoginLst; wfLoginLst = NULL; }; - if(sshlpLst != NULL) + if (sshlpLst != NULL) { - for(int i = 0; i < MaxSSHPass; ++i) delete []sshlpLst[i]; - delete []sshlpLst; + for (int i = 0; i < MaxSSHPass; ++i) delete[]sshlpLst[i]; + delete[]sshlpLst; sshlpLst = NULL; }; - if(ipsstartfl != NULL) + if (ipsstartfl != NULL) { - for(int i = 0; i < flCounter; ++i) delete []ipsstartfl[i]; - delete []ipsstartfl; + for (int i = 0; i < flCounter; ++i) delete[]ipsstartfl[i]; + delete[]ipsstartfl; ipsstartfl = NULL; }; - if(ipsendfl != NULL) + if (ipsendfl != NULL) { - for(int i = 0; i < flCounter; ++i) delete []ipsendfl[i]; - delete []ipsendfl; + for (int i = 0; i < flCounter; ++i) delete[]ipsendfl[i]; + delete[]ipsendfl; ipsendfl = NULL; }; - if(starterIP != NULL) + if (starterIP != NULL) { - for(int i = 0; i < flCounter; ++i) delete []starterIP[i]; - delete []starterIP; + for (int i = 0; i < flCounter; ++i) delete[]starterIP[i]; + delete[]starterIP; starterIP = NULL; }; } diff --git a/small_font.ttf b/small_font.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6edcd3e9c48794cb3a6126d17f3bbdd26255a4ac GIT binary patch literal 41744 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 Tvf0y@K!E-9H_e_g$Tj~Lv3eZn literal 0 HcmV?d00001 diff --git a/version b/version index 47019cb..f7ffd3d 100644 --- a/version +++ b/version @@ -1 +1 @@ -24B82-836 \ No newline at end of file +24B82-89C \ No newline at end of file