Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Nod32 определяет прогу на wxWidgets как вирус, NewHeur_PE если используются IRC-команды 
V
    Опции темы
mes
Дата 19.11.2007, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Здравствуйте. 
Столкнулся со следуюшей проблемой: 
 При написании IRC-клиента с использованием библиотеки wxWidgets (Cpp) , антивирус нод32  выдает сообшение, что  exe файл определен как возможно новый NewHeur_PE вирус и удаляет его.  Поэксперементировав, обнаружил что достаточно 5ти строчек кода добавить к новому проекту (шаблон с окном) и получается эта история.

Код

...
#include "wx/socket.h"
...
wxString str1 = "NICK";
wxString str2 = "USER";
wxString str3 = "JOIN";
...
wxSocketClient sock;

То есть, если в проге и определен сокет-объект (даже неиспользуемый ) и где нибудь в коде есть три строчки (также если они стоят вразброс) с командами от IRC-протокола, то такую прогу нод32 считает вирусом. :(

Поискав по инету я нашел, что есть Backdoor-вирус который использует IRC комманды(написан на VISUALBASIC) , с которым скорей всего и путает нод32 мою прогу. Но от этого легче мне не стало .

Не использовать wxWidget я не могу.. так как IRC-клиент только часть проекта уже написаного на этой библиотеке..

Может кто то встречался с таким, знает методы борьбы ?  Заранее спасибо за любой совет.





--------------------
PM MAIL WWW   Вверх
Greeen
Дата 19.11.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 7
Всего: 18



Сталкивался с таким... Правда в MFC, тоже при работе с сокетами. Просто вырубал нод и инет (чтоб какашка не залезла) и работал дальше  smile 


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
W4FhLF
Дата 19.11.2007, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Цитата(mes @  19.11.2007,  13:08 Найти цитируемый пост)
Может кто то встречался с таким, знает методы борьбы ?


Когда напишешь программу, свяжись с их лабораторией и опиши проблему. Обычно они решают подобные случаи. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
mes
Дата 19.11.2007, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Greeen @  19.11.2007,  13:16 Найти цитируемый пост)
. Просто вырубал нод

но ведь не будут все кто пользуются  нод32 отключать его ради того чтоб попользооваться моей прогой smile

Цитата(W4FhLF @  19.11.2007,  13:20 Найти цитируемый пост)
 свяжись с их лабораторией и опиши проблему. Обычно они решают подобные случаи

 планировал..сделаю..мало верю в успех..но другого выхода и не видно  smile

Я вот тут задумался.. связано ли это именно с wxWidgets или нод32 реагирует на любую прогу с сокетами и строками??
 пробовал заменить wxString на другое.. Результат тот же...но без wxWidgets попробовать не могу (нет других библиотек)
у кого есть возможность попробуйте, пожалуйста, откомпилить аналог кода первого поста. (только не забудьте, что неиспользуемые char[] отсекаются - а то у результат будет не точный. ) smile


--------------------
PM MAIL WWW   Вверх
W4FhLF
Дата 19.11.2007, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Цитата(mes @  19.11.2007,  13:54 Найти цитируемый пост)
Я вот тут задумался.. связано ли это именно с wxWidgets или нод32 реагирует на любую прогу с сокетами и строками?? пробовал заменить wxString на другое.. Результат тот же...но без wxWidgets попробовать не могу (нет других библиотек)


Эвристический анализ этого антивируса основан на наборе некоторых характерных для вирусов правил исполнения, каждое правило имеет свой вес, при достижении определённого порога(по весовой сумме всех правил встретившихся в приложении) программа становится потенциальным вирусом с т.з. АВ. 
Видимо какое-то поколение вирусов использовало похожую сигнатуру(да в общем-то любой троян использует сокеты) и её сделали одним из правил. Хотя, конечно, очевидно, что правилу присужден слишком большой вес. Но тут ещё может быть кое-что. Ещё видимо сыграло свою роль и то, что компилятор инклудит библиотеку с множеством сетевых функций. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Softaz
Дата 19.11.2007, 14:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 2
Всего: 16



Помню у меня при использовании wininet + ping DrWeb определял "возможный" вирус.
Есди без строк тех АВ не определяет как вирус, попробуй зашифровать строки.


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
mes
Дата 20.11.2007, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Softaz @  19.11.2007,  14:46 Найти цитируемый пост)
Есди без строк тех АВ не определяет как вирус, попробуй зашифровать строки.

 Я примерно так и сделал, к строкам храняшимся в коде программы добавил префикс, чтоб АВ ничего "плохого" в коде не нашел..
 с такой строки считываю нужный кусок  в константную переменную и работаю уже с ней.

 привожу один иэ вариантов как пример, вдруг кто то столкнется с такой же проблемой 
Код

#define DECLARE_IRC_COMMAND(name,code) const wxString name =  wxString("_"#code).Mid(1);

DECLARE_IRC_COMMAND(IRC_PING,               PING)
DECLARE_IRC_COMMAND(IRC_NICK,               NICK)
...



Огромное спасибо за поддержку и советы


--------------------
PM MAIL WWW   Вверх
bsa
Дата 20.11.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



может лучше так:
Код

static const char text_irc_ping[] = "_PING";
static const char text_irc_nick[] = "_NICK";
static const char text_irc_user[] = "_USER";
...
const wxString IRC_PING = text_irc_ping + 1;
const wxString IRC_NICK = text_irc_nick + 1;
const wxString IRC_USER = text_irc_user + 1;

PM   Вверх
mes
Дата 20.11.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(bsa @  20.11.2007,  12:27 Найти цитируемый пост)
может лучше так:

 а чем лучше ?


--------------------
PM MAIL WWW   Вверх
Alek86
Дата 20.11.2007, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



имхо, ничем.
только если тебе хочется обмануть нод smile

а в следующей версии он будет на _USER ругаться.... понятно, что проблемы то ихние, но программу же это не спасет...

лучше что-то более уникальное


--------------------
user posted image    user posted image
PM MAIL   Вверх
mes
Дата 20.11.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Alek86 @  20.11.2007,  19:43 Найти цитируемый пост)
а в следующей версии он будет на _USER ругаться


Иммено для этого объявляю переменные  через  #define-макрос,  чтоб одним махом можно было поменять префикс
а если вдруг что, то и суффикс добавить smile

Цитата(Alek86 @  20.11.2007,  19:43 Найти цитируемый пост)
лучше что-то более уникальное 

предлагай какой нравится, поставлю smile



--------------------
PM MAIL WWW   Вверх
Alek86
Дата 20.11.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



к примеру <рабочее название проги>_USER и т.п.

а вообще, имхо, тут нужно бы ID писать вместо строк


--------------------
user posted image    user posted image
PM MAIL   Вверх
mes
Дата 20.11.2007, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Alek86 @  20.11.2007,  22:04 Найти цитируемый пост)

а вообще, имхо, тут нужно бы ID писать вместо строк 


 нельзя чтоб в теле проги были строки (даже нигде не используемые) команд IRC. ID отпадает так как, как я по ID расспознаю строку пришедшую по сети? 

Цитата(Alek86 @  20.11.2007,  22:04 Найти цитируемый пост)
к примеру <рабочее название проги>_USER и т.п. 

а толку от рабочего названия если перед командой тот же штрих стоит smile тогда уж<рабочее название проги>USER.

P.S. Наверно ты невнимательно прочитал: префикс (_) нужен только для того чтоб в теле проги не хранилась команда похожая на ирк-команду. А использую в работе все равно только "чистую" команаду (без префикса), 


--------------------
PM MAIL WWW   Вверх
Alek86
Дата 21.11.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



Цитата(mes @  20.11.2007,  23:26 Найти цитируемый пост)
 Наверно ты невнимательно прочитал:

угу, и правда smile


Цитата(mes @  20.11.2007,  23:26 Найти цитируемый пост)
ID отпадает так как, как я по ID расспознаю строку пришедшую по сети? 


если эти строки "отсекаются" сразу по прибытии и нужны только по работе IRC, то да...
мне почему-то показалось, что они фигурируют и в самом "ядре" программы, которое должно быть отделено от сети бетонной стенкой


--------------------
user posted image    user posted image
PM MAIL   Вверх
mes
Дата 21.11.2007, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Alek86 @  21.11.2007,  15:38 Найти цитируемый пост)
 показалось, что они фигурируют и в самом "ядре" программы, которое должно быть отделено от сети бетонной стенкой


Да используются только для расшифровки команд от ирка(и соответственно обратного преобразования).   В "ядро" посылается уже отранслированная комманда "внутреннего" протокола.

Это сообщение отредактировал(а) mes - 22.11.2007, 16:09


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1251 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.