Автоапдейтер волатилы начал детектироваться Касперским как вирус
Первый вопрос (риторический): почему продукция Касперского - говно наиговённейшее, говнявое, преговённое?
Второй вопрос (практический): как переписать код, чтобы он снова мог работать у людей без возни с добавлением в исключения?
Программа очень простая. Получает на входе папку игры, папку с временными файлами и pid процесса. Ждёт окончания процесса, потом перезаписывает файлы и самоудаляется. Используется для обновления системных дллок и ехешника, т.е. тех файлов, которые нельзя переписать во время работы движка.
Касперскому не нравятся две вещи: 1) рекурсивный вызов AU_MoveDirectoryContents; 2) вызов MoveFileEx.
Охренеть просто. Программа оперирует только с параметрами, переданными ей в командной строке. Какого чёрта она распознаётся как потенциально опасная? Можно подумать, она в системные папки лезет.
Кто-нибудь знает почтовый адрес?
На форуме такой специфической ветки не нашёл, там всё больше вопросы юзерского уровня.
Цитата:
tolerance писал: А лучше забить. ТРУЪ юзер не юзает онтивирус.
Угу, забить, как же. Каспер берёт и молча удаляет этот ехешник. А т.к. он вшивается в ресурсы движкового ехешника - удалит и его.
Причём старые версии касперского ничего такого не находили, а новая - начала. Причём, возможно, начиная с какого-то апдейта, я не следил.
Касперскому вашему не нравится ровно тот факт, что программка совершает операции с файлами. Для нее любая программа, которая совершает операции с файлами = вирус. Ну кроме винды, конечно.
Добавлено 27-03-2014 в 21:56:
А еще скажу: у тебя там рекурсивное удаление. С точки зрения любого антивируса это подозрительно. Т.е. порядочная программа должна срать в темп и никогда за собой не подчищать.
Против рекурсивного удаления касперский ничего не имеет.
Ему не нравится рекурсивное перемещение файлов. И вообще рекурсивный вызов AU_MoveDirectoryContents (ругается на вирус даже при закомментированном MoveFileEx).
В общем, чудеса какие-то. Скорее всего, баг в эвристике или в сигнатурах. Ну не может быть тут ничего подозрительного, тысячи программ файлы мувают.
Правда, есть нюанс, эта программка весит всего 8 кб. Может, это ему не нравится? Ну тогда надо статически с Qt слинковать, наверное.
Добавлено 28-03-2014 в 01:08:
Твою жеж мать! Слинковал статически с CRT, размер увеличился до 55 кб, касперский перестал ругаться!
Охренеть эвристика! Ну просто достойна Бабушкина. Интересно, а гусей он.. не тово?
XaeroX писал: Твою жеж мать! Слинковал статически с CRT, размер увеличился до 55 кб, касперский перестал ругаться!
В утекших сорцах Касперского есть довольно любопытная документация - эдакий черновик диздока. Так вот там для эвристики среди прочего списка "подозрительных признаков" указан "размер меньше N кб"
На самом деле имеет смысл, потому как создатели вирусов известны своим задротством в отношении размеров их программ.
Government-Man
Слушай, ну допустим, вероятность оказаться вирусом 95%.
Остальные 5% - это миниатюрные программы-автоапдейтеры, хранящиеся в ресурсах больших программ и извлекаемые по мере надобности.
Эвристике касперского, выходит, глубоко плевать на эти 5% честных программ?
Представим себе камеру осуждённых на смертную казнь, в ней 100 человек, но известно, что пятерым заменили казнь на пожизненное. И тут приходит указание сверху - казнить всех, кого положено. Касперский в этом случае казнит всех - зачем ему разбираться, кто на что осуждён? Всего-то 5 человек из 100, ну мелочь же?
Вот так работает его эвристика.
Добавлено 29-03-2014 в 13:13:
А как должна работать нормальная эвристика: анализировать, откуда приходят входные данные в программу. Если в программу вшиты какие-то пути, или она юзает GetSystemDirectory/SHGetSpecialFolderPath, и оперирует с файлами по этим путям - да, подозрительно. Если программа копирует или удаляет файлы, переданные ей в аргументах - это самая обычная утилита.
Я понимаю, когда Бабушкин вычисляет контрольную сумму cp/xcopy и любую другую программу, копирующую файлы, с другой суммой, записывает в "вирусы". Но это, блин, лаборатория Касперского, а не алтайский школьник...