Программа ИБ Эвристик батников на .bat


Иван Грозный

Пользователь
Форумчанин
Регистрация
22.10.2016
Сообщения
59
Репутация
10
Однажды вечером, я решил написать небольшой сигнатурно-ориентированный эвристический анализатор для батников(на бат естественно:))), и у меня это получилось.
Создание программы заняло один вечер, и где-то треть или даже половина времени на разработку заняла отладка(глупая недокументированная синтаксическая ошибка, которая никак себя не проявляла).
Язык программы: английский, для солидности что-ли (вдруг на зарубежные залью, хз). Если вы знаете английский на уровне прикладных программ, то сможете увидеть пару фичей и приколов.

heur.png

Ссылка на скачку архива с тестовыми файлами:

Возможно будут ещё версии, так что всех скачавших прошу оставить отзыв о программе, чтобы я мог её улучшить(нужно ИИ создавать как никак, и виртуализировать среду....а хотя, хрена с два я это на бат то сделаю:))).
 

virt

Уважаемый пользователь
Форумчанин
Регистрация
24.11.2016
Сообщения
704
Репутация
228
Это не эвристика, программа проверяет файлы:
Код:
if "%~x1" == ".bat" goto scan
if "%~x1" == ".txt" goto scan
if "%~x1" == ".cmd" goto scan

На наличие в коде подозрительных фраз, что-то типо такого:
"rm rmdir"
"reg regedit"

И т.д. Далее выводит сообщения, типо "echo This script format disk" или " echo This script modify system registry".

Забавно конечно.

В целом скрипты от не доверенных источников проверить можно, я-бы ещё добавил номер строк в коде, где эти подозрительные строки были найдены.
 

Иван Грозный

Пользователь
Форумчанин
Регистрация
22.10.2016
Сообщения
59
Репутация
10
Это не эвристика...
Ну тут я бы поспорил) потому что это уже не сигнатурщик хотя используется похожая технология(даёт вердикт опасности в % соотношении, а не однозначно + нету исходников вирусов. Если бы были с возможностью удаления - был бы сигнатурным антивирусом) но ещё не эмулятор команд. Что то среднее, но под описание попадает:

Эвристический алгоритм (эвристика) — решения задачи, включающий практический метод, не являющийся гарантированно точным или оптимальным, но достаточный для решения поставленной задачи. В действительности может быть даже известно (то есть доказано) то, что эвристический алгоритм формально неверен.
Эвристика, в отличие от корректного алгоритма решения задачи, обладает следующими особенностями:
  • Она не гарантирует нахождение лучшего решения.
  • Она не гарантирует нахождение решения, даже если оно заведомо существует (возможен «пропуск цели»).
  • Она может дать неверное решение в некоторых случаях.
Возможно добавлю нумерацию строк в будущем(планируется также расшифрование примитивных мутаторов), но сначала надо поработать над более точным нахождением команд, потому что строка "msg * Version of this programm not registred, please, format PC memory to crack it." скорее всего будет вирусной.
Но зато по такой "технологии" можно автоматически комментировать исходники.
 
Верх Низ