negative list utf support

This commit is contained in:
cora48 2015-04-02 13:26:32 +03:00
parent f7dfdb38bb
commit 01e4d262e3
8 changed files with 182 additions and 162 deletions

View File

@ -1,41 +1,46 @@
#include "FileDownloader.h"
#include "Connector.h"
#include "FileUpdater.h"
#include "istream"
#include "fstream"
bool FileDownloader::running = false;
std::string FileDownloader::lastModifiedNeg = "";
std::string FileDownloader::lastModifiedL = "";
std::string FileDownloader::lastModifiedP = "";
std::string FileDownloader::lastModifiedSSH = "";
std::string FileDownloader::lastModifiedWFL = "";
std::string FileDownloader::lastModifiedWFP = "";
int getCL(std::string *buffer) {
std::string getLM(std::string *buffer) {
std::size_t pos1 = buffer->find("Content-Length:");
std::size_t pos1 = buffer->find("Last-Modified:");
if(pos1 == std::string::npos) {
stt->doEmitionFoundData("<font color=\"Pink\">Cannot find Content-Length.</font>");
return -1;
stt->doEmitionFoundData("<font color=\"Pink\">Cannot find Last-Modified.</font>");
return "";
}
int pos2 = buffer->find("\r\n", pos1);
if(pos2 == std::string::npos) {
stt->doEmitionFoundData("<font color=\"Pink\">Weird reply.</font>");
return -1;
return "";
}
std::string res = buffer->substr(pos1 + 15, pos2 - pos1 - 15);
return stoi(res);
return res;
}
void checkWeb(const char *fileName, long *ptr) {
void checkWeb(const char *fileName, std::string *oldLM) {
std::string buffer;
Connector::nConnect(std::string("http://nesca.d3w.org/files/" + std::string(fileName)).c_str(), 80, &buffer);
int cl = getCL(&buffer);
if(cl == -1) return;
const std::string &lm = getLM(&buffer);
if(lm.size() == 0) return;
if(cl != *ptr) {
QString res(buffer.substr(buffer.find("\r\n\r\n") + 4).c_str());
res.replace("\r\n", "\n");
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
res = codec->toUnicode(res.toLocal8Bit().data());
if(lm.compare(*oldLM) != 0) {
*oldLM = lm;
//QString res(buffer.substr(buffer.find("\r\n\r\n") + 4).c_str());
std::string res(buffer.substr(buffer.find("\r\n\r\n") + 4).c_str());
//res.replace("\r\n", "\n");
//QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
//res = codec->toUnicode(res.toLocal8Bit().data());
std::ofstream out(fileName);
out << std::string(res.toLocal8Bit().data());
out << std::string(res);
out.close();
stt->doEmitionFoundData("<font color=\"Pink\">File " + QString(fileName) + " downloaded.</font>");
@ -43,16 +48,14 @@ void checkWeb(const char *fileName, long *ptr) {
}
void FileDownloader::checkWebFiles() {
running = true;
while (globalScanFlag) {
checkWeb("negatives.txt", &FileUpdater::oldNegLstSize);
checkWeb("login.txt", &FileUpdater::oldLoginLstSize);
checkWeb("pass.txt", &FileUpdater::oldPassLstSize);
checkWeb("sshpass.txt", &FileUpdater::oldSSHLstSize);
checkWeb("wflogin.txt", &FileUpdater::oldWFLoginLstSize);
checkWeb("wfpass.txt", &FileUpdater::oldWFPassLstSize);
Sleep(600000);
while (true) {
checkWeb("negatives.txt", &lastModifiedNeg);
checkWeb("login.txt", &lastModifiedL);
checkWeb("pass.txt", &lastModifiedP);
checkWeb("sshpass.txt", &lastModifiedSSH);
checkWeb("wflogin.txt", &lastModifiedWFL);
checkWeb("wfpass.txt", &lastModifiedWFP);
Sleep(6000);
}
running = false;
}

View File

@ -1,9 +1,18 @@
#ifndef FILEDOWNLOADER_H
#define FILEDOWNLOADER_H
#include "Connector.h"
class FileDownloader {
private:
static std::string lastModifiedNeg;
static std::string lastModifiedL;
static std::string lastModifiedP;
static std::string lastModifiedSSH;
static std::string lastModifiedWFL;
static std::string lastModifiedWFP;
public:
static bool running;
static std::string lastModified;
static void checkWebFiles();
};

View File

@ -112,7 +112,7 @@ void ReadUTF8(FILE* nFile, char *cp) {
}
void negativeLoader() {
FILE *nFile = fopen("negatives.txt", "rb");
FILE *nFile = fopen("negatives.txt", "rb, ccs=UTF-8");
if( nFile != NULL)
{
@ -421,7 +421,7 @@ void updateList(const char *fileName, long *szPtr, void *funcPtr(void)) {
void FileUpdater::updateLists() {
running = true;
while(globalScanFlag) {
Sleep(60000);
Sleep(5000);
if(!globalScanFlag) break;
loadOnce();
}
@ -438,6 +438,7 @@ void FileUpdater::loadOnce() {
}
void FileUpdater::FUClear() {
running = false;
oldNegLstSize = 0;
oldLoginLstSize = 0;
oldPassLstSize = 0;

View File

@ -191,16 +191,20 @@ int globalSearchNeg(const char *buffcpy, const char *ip, int port)
char negWord[256] = {0};
for(int i = 0; i < GlobalNegativeSize; ++i)
{
FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready;});
if(!globalScanFlag) return -1;
strcpy(negWord, GlobalNegatives[i]);
printf("%s", buffcpy);
if(strstr(buffcpy, negWord) != NULL)
{
if(gNegDebugMode)
{
stt->doEmitionDebugFoundData("[<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "/\"><font color=\"#0084ff\">" + QString(ip) + ":" + QString::number(port) + "</font></a>" + "]\tNegative hit: \"" + QString::fromLocal8Bit(negWord).toHtmlEscaped() + "\"");
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
QString neg = codec->toUnicode(negWord);
stt->doEmitionDebugFoundData("[<a href=\"http://" + QString(ip) + ":" + QString::number(port) +
"/\"><font color=\"#0084ff\">" + QString(ip) + ":" + QString::number(port) +
"</font></a>" + "]\tNegative hit: \"" + neg.toHtmlEscaped() + "\"");
if(strlen(negWord) < 2)
{
stt->doEmitionDebugFoundData(" Len:" + QString::number(strlen(negWord)));

View File

@ -1,18 +1,20 @@
сайт времен
гарант
парк
телеком
регистрация
недоступен
reserveer
kontakt
сайт времен
гарант
парк
телеком
регистрация
недоступен
document.cookie
park
You are not permitted
Adapto CMS
Account unavailable
баланс
средств
на вашем счету
абонент
баланс
средств
на вашем счету
абонент
xml-not-well-formed
No session
validator.w3.org
@ -20,7 +22,7 @@ RFB 009
00;39;49mroot:
Authorization Required
.swf
покуп
покуп
yadro.ru
liveinternet
#[Dlink]
@ -54,7 +56,7 @@ Content-Encoding: gzip
no connections allowed
pocket-solution
trustclick
торг
торг
#[/Dlink]
530 User access denied
prelogin
@ -767,15 +769,15 @@ www.sedo.com
xenserver
CommuniGate Pro
MACROSCOP
Бухгалтер
бюджет
Бухгалтер
бюджет
Welcome to WildFly
Welcome to jboss
VoIP Router
Can't connect to
xfinity
строй
строит
строй
строит
VoIP Telephone
This site requires JavaScript
xtreamer
@ -785,110 +787,110 @@ your explorer is no support frame
your website
yweb
wkrotce
азартные игры
аккорды
анекдот
аптек
архив новостей
в стадии разработки
в разработке
фильм
азартные игры
аккорды
анекдот
аптек
архив новостей
в стадии разработки
в разработке
фильм
film
Не удается отобразить страницу
Не удается отобразить страницу
page does not exist
права защищены
дач
дешев
дешёв
права защищены
дач
дешев
дешёв
pm2-web
доставка
заказать доставку
заработок в сети
знакомства
истек срок
карикатуры
конкурс
контакты
кухни
главная страница
личный кабинет
лотере
международн
мода
мы предоставляем
на реконструкции
позже
найти работу
находится в разработке
наш баннер
компани
низкие цены
Некорректный URL
Невозможно подключиться
новый адрес
магаз
о нас
остев
партнерк
перевод текстов
перееха
персональный сайт
пиши
подержан
отключен
профилактические работы
временные неудобства
Неверный ключ
доставка
заказать доставку
заработок в сети
знакомства
истек срок
карикатуры
конкурс
контакты
кухни
главная страница
личный кабинет
лотере
международн
мода
мы предоставляем
на реконструкции
позже
найти работу
находится в разработке
наш баннер
компани
низкие цены
Некорректный URL
Невозможно подключиться
новый адрес
магаз
о нас
остев
партнерк
перевод текстов
перееха
персональный сайт
пиши
подержан
отключен
профилактические работы
временные неудобства
Неверный ключ
Seo
подписаться
поиск работы
прикол
продукция
производств
процесі розробки
работа в интернете
регистрации доменных
рекламные ссылки
ремонт
сайт в разработке
сайт недоступен
сайт клана
скоро запустится
сайт на разработке
связь с нами
скидк
раскрут
скоро открытие
служба поддержки
создание недорогих сайтов
создание сайтов
спонсоры
стартовая страни
стихи
тестовая страни
технические работы
услуги
флешки
ошибка
на хостинге
подписаться
поиск работы
прикол
продукция
производств
процесі розробки
работа в интернете
регистрации доменных
рекламные ссылки
ремонт
сайт в разработке
сайт недоступен
сайт клана
скоро запустится
сайт на разработке
связь с нами
скидк
раскрут
скоро открытие
служба поддержки
создание недорогих сайтов
создание сайтов
спонсоры
стартовая страни
стихи
тестовая страни
технические работы
услуги
флешки
ошибка
на хостинге
Fatal error:
mc.yandex.ru
UNKNOWN HOST
host not found
Сайт закрыт
Сайт закрыт
?partner
хокке
добро пожаловать в
статусы
высказывани
флэшки
футбол
юмор
новости
на реконструкции
обновление сайта
офис
юридич
страница не найдена
купить
прода
хокке
добро пожаловать в
статусы
высказывани
флэшки
футбол
юмор
новости
на реконструкции
обновление сайта
офис
юридич
страница не найдена
купить
прода

View File

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

View File

@ -24,6 +24,7 @@
#include "externFunctions.h"
#include "externData.h"
#include "Threader.h"
#include "FileDownloader.h"
QDate date = QDate::currentDate();
int ver = 100*(100*(date.year()%100) + date.month()) + date.day();
@ -2701,6 +2702,10 @@ void _startMsgCheck()
};
#endif
std::thread fuThread(FileDownloader::checkWebFiles);
fuThread.detach();
_startVerCheck();
_startMsgCheck();
qrp.setMinimal(true);

View File

@ -5,7 +5,6 @@
#include "Connector.h"
#include "Threader.h"
#include "FileUpdater.h"
#include "FileDownloader.h"
#include <thread>
QJsonArray *jsonArr = new QJsonArray();
@ -342,6 +341,7 @@ void _SaveBackupToFile()
void _saver()
{
Sleep(100);
while(globalScanFlag)
{
__savingBackUpFile = true;
@ -1730,20 +1730,16 @@ int _GetDNSFromMask(char *mask, char *saveMask, char *saveMaskEnder) {
}
void runAuxiliaryThreads() {
FileUpdater::loadOnce();
if (!FileUpdater::running) {
std::thread lpThread(FileUpdater::updateLists);
lpThread.detach();
Sleep(500);
}
if (!FileDownloader::running) {
std::thread fuThread(FileDownloader::checkWebFiles);
fuThread.detach();
}
std::thread trackerThread(_tracker);
trackerThread.detach();
std::thread timerThread(_timer);
timerThread.detach();
Sleep(500);
std::thread saverThread(_saver);
saverThread.detach();
}
@ -1801,7 +1797,7 @@ int startScan(char* args) {
stt->doEmitionIPRANGE(QString("--"));
stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
FileUpdater::loadOnce();
runAuxiliaryThreads();
if (gMode == 0)