diff --git a/connector.cpp b/connector.cpp index f95f56e..6ec524b 100644 --- a/connector.cpp +++ b/connector.cpp @@ -28,10 +28,13 @@ void BConInc() }; void BConDec() { - __asm + if(BrutingThrds > 0) { - lock dec BrutingThrds; - }; + __asm + { + lock dec BrutingThrds; + }; + } #pragma region QTGUI_Area stt->doEmitionChangeBA(QString::number(BrutingThrds)); #pragma endregion diff --git a/finder.cpp b/finder.cpp index 17c045a..8857517 100644 --- a/finder.cpp +++ b/finder.cpp @@ -295,7 +295,7 @@ int _mainFinderFirst(char *buffcpy, int f, int port, char *ip) if(strstr(buffcpy, "camera web server") != NULL || strstr(buffcpy, "webcamxp 5") != NULL || strstr(buffcpy, "ip box camera") != NULL || strstr(buffcpy, "snaff") != NULL || strstr(buffcpy, "hfs /") != NULL || strstr(buffcpy, "httpfileserver") != NULL - || strstr(buffcpy, "network camera server") != NULL + || strstr(buffcpy, "network camera") != NULL || strstr(buffcpy, "$lock extended") != NULL || strstr(buffcpy, "ip camera") != NULL || strstr(buffcpy, "/viewer/video.jpg") != NULL || strstr(buffcpy, "smart ip device") != NULL || strstr(buffcpy, "sanpshot_icon") != NULL || strstr(buffcpy, "snapshot_icon") != NULL @@ -373,7 +373,7 @@ int _mainFinderSecond(char *buffcpy, int port, char *ip) if(strstr(buffcpy, "camera web server") != NULL || strstr(buffcpy, "webcamxp 5") != NULL || strstr(buffcpy, "ip box camera") != NULL || strstr(buffcpy, "snaff") != NULL || strstr(buffcpy, "hfs /") != NULL || strstr(buffcpy, "httpfileserver") != NULL - || strstr(buffcpy, "network camera server") != NULL + || strstr(buffcpy, "network camera") != NULL || strstr(buffcpy, "$lock extended") != NULL || strstr(buffcpy, "ip camera") != NULL || strstr(buffcpy, "/viewer/video.jpg") != NULL || strstr(buffcpy, "smart ip device") != NULL || strstr(buffcpy, "sanpshot_icon") != NULL || strstr(buffcpy, "snapshot_icon") != NULL @@ -2346,28 +2346,38 @@ void _getLinkFromJSLocation(char *dataBuff, char *str, char *tag, char *ip, int char *ptrQuote1 = _findFirst(ptr2, "\"'"); if(ptrQuote1 != NULL) { + char *ptrQuoteTemp = _findFirst(ptrQuote1 + 1, ";\n}"); + if(ptrQuoteTemp != NULL) + { + sz = ptrQuoteTemp - ptrQuote1 + 1; + }; + char *tempBuff = new char[sz + 1]; + ZeroMemory(tempBuff, sizeof(tempBuff)); + strncpy(tempBuff, ptrQuote1 + 1, sz); + memset(tempBuff + sz, 0, 1); char delim[2] = {0}; ZeroMemory(delim, 1); delim[0] = ptrQuote1[0]; delim[1] = '\0'; - char *ptrQuote2 = _findLast(ptrQuote1 + 1, delim); + char *ptrQuote2 = _findLast(tempBuff + 1, delim); if(ptrQuote2 != NULL) { - int lsz = ptrQuote2 - ptrQuote1 - 1; + sz = ptrQuote2 - tempBuff; char link[512] = {0}; - if(lsz < 511) + if(sz < 511) { - if(ptrQuote1[1] != '/' - && strstri(ptrQuote1, "http://") == NULL - && strstri(ptrQuote1, "https://") == NULL + if(tempBuff[1] != '/' + && strstri(tempBuff, "http://") == NULL + && strstri(tempBuff, "https://") == NULL ) { strcpy(dataBuff, "/"); - strncat(dataBuff, ptrQuote1 + 1, lsz); + strncat(dataBuff, tempBuff, sz); } - else strncpy(dataBuff, ptrQuote1 + 1, lsz); + else strncpy(dataBuff, tempBuff, sz); }; }; + delete tempBuff; } else { diff --git a/nesca_startModule.cpp b/nesca_startModule.cpp index 6c73b74..1ba1401 100644 --- a/nesca_startModule.cpp +++ b/nesca_startModule.cpp @@ -147,9 +147,12 @@ void ConInc() }; void ConDec() { - __asm + if(cons > 0) { - lock dec cons; + __asm + { + lock dec cons; + }; }; #pragma region QTGUI_Area stt->doEmitionThreads(QString::number(cons) + "/" + QString::number(gThreads)); @@ -2705,19 +2708,19 @@ void nCleanup(){ }; if(ipsstartfl != NULL) { - for(int i = 0; i < MaxSSHPass; ++i) delete []ipsstartfl[i]; + for(int i = 0; i < flCounter; ++i) delete []ipsstartfl[i]; delete []ipsstartfl; ipsstartfl = NULL; }; if(ipsendfl != NULL) { - for(int i = 0; i < MaxSSHPass; ++i) delete []ipsendfl[i]; + for(int i = 0; i < flCounter; ++i) delete []ipsendfl[i]; delete []ipsendfl; ipsendfl = NULL; }; if(starterIP != NULL) { - for(int i = 0; i < MaxSSHPass; ++i) delete []starterIP[i]; + for(int i = 0; i < flCounter; ++i) delete []starterIP[i]; delete []starterIP; starterIP = NULL; };