Я уже писал что антивирусы убили один мой продукт, но он был из категории украшательств и особо денег не приносил.
За ним последовал второй, из области презентаций, где генерился исполняемый модуль.
И вот третий раз на те же грабли.
Общая картина все та же — чтобы просматривать результаты работы на другой машине без установки софта сделал отдельный просмотровщик своего формата файлов.
Потом добавил возможность закинуть все файлы в ресурсы просмотровщика и просто таскать один exe-файл.
Антивирусы моментально возбудились и основные детекты были Trojan/Delph и Trojan/Dropper, хотя никаких файлов программа не создавала, в сеть не лезла.
Потом досталось и отдельному просмотровщику — он тоже стал страшным трояном.
Сперва лечилось просто косметическими изменениями — другая иконка, изменение текста, номера версии. (да, антивирусы настолько тупые)
Сейчас пошли уже ковровые бомбардировки на Virustotal — куча детектов, которые мелкие шарашки копируют друг у друга.
Пробовал решать проблему напрямую, но антивирусы только конкретный файл могут внести в список исключений. Через пару дней детекты возвращаются.
Пробовал все подозрительное убрать, дошел практически до пустого проекта — похоже код на Delphi уже сам по себе вызывает подозрения.
В качестве бонуса имею рандомные детекты AI/ML/Malicious/Suspicious практически для всего софта.
1. Есть ли протектор на EXE файлах?
Я давно отказался от них, т.к. увеличилось число false positive.
2. Есть ли codesign на всех EXE продукта? Попробуйте подписать, может помочь со временем.
3. В продукте есть куча ресурсов, которые распаковываются при запуске и скидываются в temp папку, например DLL'ки. Но правда, есть нюанс, у меня все они зашифрованы типа ксором, может это помогает избежать сканирования.
Если все выше неактуально, то остается только посылать жалобы на false positive каждому разработчику антивируса.
У меня последние несколько лет сильно убавилось число false positive, после жалоб в предыдущие годы. может в white list внесли, не знаю.
Просто в копилку идей: скачивать требуемые ресурсы динамически с вашего сервера, возможно сразу загружать в память на лету, не сохраняя как файлы. Тогда можно жить с одним whitelist-бинарником довольно долго. Не знаю, можно ли DLL загрузить в память по URL'у, тогда можно вообще всю логику туда вынести, и обновлять чисто DLL.
Здравствуйте, icezone, Вы писали: I>Пробовал все подозрительное убрать, дошел практически до пустого проекта — похоже код на Delphi уже сам по себе вызывает подозрения.
Некоторое время назад замечал, что код сгенеренный современными версиями Дельфи 10.х и выше вызывает false positive на вирустотал (не у всех, лишь у нескольких антивиров). Например, те же инсталляхи генерируемые InnoSetup 6.x детектятся (оно на Дельфи 10.x), а если сделать инсталляху на 5.6 (там юзается какая-то древняя Дельфя, типа ХЕ2), то она зелененькая. Интересно, у тебя какая версия Дельфи?
Недавно закончился сертификат на подпись и обнаружил, что если сейчас exe-файл не имеет цифровой подписи, то его антивирусы сразу считают трояном. Попробовал без цифровой подписи закачать на сервер свою программу-продукт, которая не оращается к интернет, не используется протектор, написана на MS Visual Studio С++. И антивирусы её называют трояном. Был шокирован.
Здравствуйте, PeterOne, Вы писали:
PO>1. Есть ли протектор на EXE файлах?
нет
PO>2. Есть ли codesign на всех EXE продукта? Попробуйте подписать, может помочь со временем.
я не могу подписать exe, который формируется у пользователя
PO>3. В продукте есть куча ресурсов, которые распаковываются при запуске и скидываются в temp папку, например DLL'ки. Но правда, есть нюанс, у меня все они зашифрованы типа ксором, может это помогает избежать сканирования.
ничего нет, standalone exe, никаких временных файлов и библиотек
PO>Если все выше неактуально, то остается только посылать жалобы на false positive каждому разработчику антивируса. PO>У меня последние несколько лет сильно убавилось число false positive, после жалоб в предыдущие годы. может в white list внесли, не знаю.
я не могу пожаловаться на файл, который есть только у клиента
Здравствуйте, wantus, Вы писали:
W>Здравствуйте, icezone, Вы писали:
I>>Пробовал решать проблему напрямую, но антивирусы только конкретный файл могут внести в список исключений.
W>Пару раз помогало попросить этих клоунов за-whitelist-ать сертификат, которым подписываются бинарники.
Здравствуйте, sharez, Вы писали:
S>Здравствуйте, icezone, Вы писали:
S>Просто в копилку идей: скачивать требуемые ресурсы динамически с вашего сервера, возможно сразу загружать в память на лету, не сохраняя как файлы. Тогда можно жить с одним whitelist-бинарником довольно долго. Не знаю, можно ли DLL загрузить в память по URL'у, тогда можно вообще всю логику туда вынести, и обновлять чисто DLL.
да нет никаких ресурсов
есть бинарник для просмотра моего очета в xml
на стороне пользователя можно xml закинуть в RC_DATA бинарника чтобы можно было показать отчет на любом компе
Здравствуйте, mauzer_tim, Вы писали:
_>Некоторое время назад замечал, что код сгенеренный современными версиями Дельфи 10.х и выше вызывает false positive на вирустотал (не у всех, лишь у нескольких антивиров). Например, те же инсталляхи генерируемые InnoSetup 6.x детектятся (оно на Дельфи 10.x), а если сделать инсталляху на 5.6 (там юзается какая-то древняя Дельфя, типа ХЕ2), то она зелененькая. Интересно, у тебя какая версия Дельфи?
Здравствуйте, Retter, Вы писали:
R>Здравствуйте, icezone,
R>Недавно закончился сертификат на подпись и обнаружил, что если сейчас exe-файл не имеет цифровой подписи, то его антивирусы сразу считают трояном. Попробовал без цифровой подписи закачать на сервер свою программу-продукт, которая не оращается к интернет, не используется протектор, написана на MS Visual Studio С++. И антивирусы её называют трояном. Был шокирован.
у меня либа на C++ тупо считает FFT — десяток детектов
несколько купленных популярных либ тоже детекты вызывают
AI/Machine Learning — новая мулька антивирусов, раньше называли просто эвристикой
Здравствуйте, TailWind, Вы писали:
I>>на стороне пользователя можно xml закинуть в RC_DATA бинарника чтобы можно было показать отчет на любом компе
TW>Так почему вы не хотите сделать два файла?
TW>Отдельно exe viewer ваших отчётов TW>И отдельно отчёт
TW>Или вообще выгружать отчёт в pdf
оно так и было, но таскать отдельно просмотровщик для разных версий софта проблематично
просили сделать все-в-одном
В копилку безумных идей: генерить файл на сервере, там же и подписывать своим сертификатом (можно отдельный получить для этого дела, на всякий случай).
Кстати, как так получается, что инсталляторы, собранные Inno Setup, не получают сразу кучу false positives? Ведь, как я понимаю, там интерпретируется скрипт, причем при этом еще и файлы копируются, в реестр пишется всякое. Наверное, в этом случае производители антивирусов действительно получили бы большие проблемы, если бы такие инсталляторы детектились. Могут, когда хотят?
Так и вас никто не наказывал по суду. Тем не менее проблема имеется, её надо решать.
I>оно так и было, но таскать отдельно просмотровщик для разных версий софта проблематично
Не очень понятно, почему нельзя сделать просмотрщик сразу для всех версий ваших отчетов.
А ещё лучше, чтобы можно было визуализировать через веб-сервис или исполняемый файл, который один и навсегда, но шлет запрос на обновляемый рендер-сервер.
Здравствуйте, icezone, Вы писали:
I>За ним последовал второй, из области презентаций, где генерился исполняемый модуль.
И еще одна идея. Просмотрщик написать на .NET (Metro, WinForms, WPF etc.), использовать его код, как шаблон. При генерации брать этот шаблон и вставлять прямо в код те данные, которые должны отображаться. Я заметил, что к .NET антивирусы более толерантны: может потому что его проще проверять.
I>оно так и было, но таскать отдельно просмотровщик для разных версий софта проблематично I>просили сделать все-в-одном
Ваши проблемы понятны
I>что в этом криминального?
Но реальность такова, что новый exe файл это всегда угроза с точки зрения антивирусов, windows defender'ов, скачивания через Chrome
Вы даже по почте не сможете такой exe отправить
Думайте над решением, а не страдайте над проблемой ))
Напрашивается очевидный вариант. Это viewer, который может открывать все версии ваших отчётов. Если встретил более новую версию, чем он сам, то просить обновиться. Стандартизировать отчёт, чтобы не надо было обновляться часто
! Можно пытаться перенести всю логику в файл отчёта
! Например, сделать там мини java code. А в exe интерпретатор. Или типа того
Здравствуйте, icezone, Вы писали:
I>Общая картина все та же — чтобы просматривать результаты работы на другой машине без установки софта сделал отдельный просмотровщик своего формата файлов. I>Потом добавил возможность закинуть все файлы в ресурсы просмотровщика и просто таскать один exe-файл. I>Антивирусы моментально возбудились и основные детекты были Trojan/Delph и Trojan/Dropper, хотя никаких файлов программа не создавала, в сеть не лезла.
Есть предположение, что аверы начинают фолсить при больших размерах RCDATA в ресурсах, думая что это дроппер. Я бы попробовал переделать размещение самих данных, например в конец файла, а в ресурсах бы сохранял файловое смещение на эти данные.
Здравствуйте, icezone, Вы писали:
I>а — похоже код на Delphi уже сам по себе вызывает подозрения.
Твоя программа весит меньше 100 килобайт? Тогда всякое говно типа Авиры будет постоянно лепить фолс позитивы. Как бороться с погаными быдлокодерами, пишущими говняные недоантивирусы — не знаю.
Здравствуйте, drVanо, Вы писали:
V> Есть предположение, что аверы начинают фолсить при больших размерах RCDATA в ресурсах, думая что это дроппер. Я бы попробовал переделать размещение самих данных, например в конец файла, а в ресурсах бы сохранял файловое смещение на эти данные.
TrustViewer таскает в ресурсах непосредственно само приложение в виде dll, а exe только ее распаковывает и запускает. И всего два фолса. Экзешник, правда, подписан.