![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Здравствуйте.
Столкнулся со следуюшей проблемой: При написании IRC-клиента с использованием библиотеки wxWidgets (Cpp) , антивирус нод32 выдает сообшение, что exe файл определен как возможно новый NewHeur_PE вирус и удаляет его. Поэксперементировав, обнаружил что достаточно 5ти строчек кода добавить к новому проекту (шаблон с окном) и получается эта история.
То есть, если в проге и определен сокет-объект (даже неиспользуемый ) и где нибудь в коде есть три строчки (также если они стоят вразброс) с командами от IRC-протокола, то такую прогу нод32 считает вирусом. :( Поискав по инету я нашел, что есть Backdoor-вирус который использует IRC комманды(написан на VISUALBASIC) , с которым скорей всего и путает нод32 мою прогу. Но от этого легче мне не стало . Не использовать wxWidget я не могу.. так как IRC-клиент только часть проекта уже написаного на этой библиотеке.. Может кто то встречался с таким, знает методы борьбы ? Заранее спасибо за любой совет. |
|||
|
||||
Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 7 Всего: 18 |
Сталкивался с таким... Правда в MFC, тоже при работе с сокетами. Просто вырубал нод и инет (чтоб какашка не залезла) и работал дальше
![]() -------------------- Подпись больше не нужна |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Когда напишешь программу, свяжись с их лабораторией и опиши проблему. Обычно они решают подобные случаи. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
но ведь не будут все кто пользуются нод32 отключать его ради того чтоб попользооваться моей прогой ![]()
планировал..сделаю..мало верю в успех..но другого выхода и не видно ![]() Я вот тут задумался.. связано ли это именно с wxWidgets или нод32 реагирует на любую прогу с сокетами и строками?? пробовал заменить wxString на другое.. Результат тот же...но без wxWidgets попробовать не могу (нет других библиотек) у кого есть возможность попробуйте, пожалуйста, откомпилить аналог кода первого поста. (только не забудьте, что неиспользуемые char[] отсекаются - а то у результат будет не точный. ) ![]() |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Эвристический анализ этого антивируса основан на наборе некоторых характерных для вирусов правил исполнения, каждое правило имеет свой вес, при достижении определённого порога(по весовой сумме всех правил встретившихся в приложении) программа становится потенциальным вирусом с т.з. АВ. Видимо какое-то поколение вирусов использовало похожую сигнатуру(да в общем-то любой троян использует сокеты) и её сделали одним из правил. Хотя, конечно, очевидно, что правилу присужден слишком большой вес. Но тут ещё может быть кое-что. Ещё видимо сыграло свою роль и то, что компилятор инклудит библиотеку с множеством сетевых функций. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 2 Всего: 16 |
Помню у меня при использовании wininet + ping DrWeb определял "возможный" вирус.
Есди без строк тех АВ не определяет как вирус, попробуй зашифровать строки. -------------------- Разочарованный в .NET |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Я примерно так и сделал, к строкам храняшимся в коде программы добавил префикс, чтоб АВ ничего "плохого" в коде не нашел.. с такой строки считываю нужный кусок в константную переменную и работаю уже с ней. привожу один иэ вариантов как пример, вдруг кто то столкнется с такой же проблемой
Огромное спасибо за поддержку и советы |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
может лучше так:
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
имхо, ничем.
только если тебе хочется обмануть нод ![]() а в следующей версии он будет на _USER ругаться.... понятно, что проблемы то ихние, но программу же это не спасет... лучше что-то более уникальное |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Иммено для этого объявляю переменные через #define-макрос, чтоб одним махом можно было поменять префикс а если вдруг что, то и суффикс добавить ![]() предлагай какой нравится, поставлю ![]() |
|||
|
||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
к примеру <рабочее название проги>_USER и т.п.
а вообще, имхо, тут нужно бы ID писать вместо строк |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
нельзя чтоб в теле проги были строки (даже нигде не используемые) команд IRC. ID отпадает так как, как я по ID расспознаю строку пришедшую по сети? а толку от рабочего названия если перед командой тот же штрих стоит ![]() P.S. Наверно ты невнимательно прочитал: префикс (_) нужен только для того чтоб в теле проги не хранилась команда похожая на ирк-команду. А использую в работе все равно только "чистую" команаду (без префикса), |
|||
|
||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
угу, и правда ![]()
если эти строки "отсекаются" сразу по прибытии и нужны только по работе IRC, то да... мне почему-то показалось, что они фигурируют и в самом "ядре" программы, которое должно быть отделено от сети бетонной стенкой |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Да используются только для расшифровки команд от ирка(и соответственно обратного преобразования). В "ядро" посылается уже отранслированная комманда "внутреннего" протокола. Это сообщение отредактировал(а) mes - 22.11.2007, 16:09 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |