Когда-то давно такие тулзы были популярны, возможно и сейчас будет находкой, кто занимается чисткой крипторов и т.д.
Речь идет о сбитии сигнатурного детекта.
Часто необходимо понять на что ругается антивирус:
- На сигнатуру в коде.
- На импорт.
- Реакция эмулятора.
- На секции.
Вообще всё это делать вручную долго, поэтому раньше, возможно-что и сейчас умельцы делились тулзами, которые автоматизируют процессы выше...)
Вот на старом форуме нашел относительно свежую такую тулзу.
SignFinder 2.0! Первая версия навела шороху, NOD32 выпустил специальный патч мешающий чистке. Чтобы отвечать на все козни антивирусов, потребовалась расширяемая архитектура. Появилась интерактивная консоль, команды, добавляемые плагинами, алиасы, проекция виртуальных адресов, поддержка ELF, и многое другое, что нужно для комфортной чистки.
Софт работает на Python3.8+ и поддерживает Windows, Linux и Mac.
Глянуть софт можно здесь, там также есть видео как пользоваться:GitHub - d3ranged/sf2: Antivirus Signature Search Toolkit
Предлагаю дальше небольшую инструкцию по этой программе:
Fast mode
Быстрый режим призван определить какого толка сигнатура нас беспокоит:
- Эмулятора
- Импорта
- Секций
- ALL_SECTION - стёрты все секции
- ALL_SECTION_NOT[0].text - стёрты все секции кроме первой, под именем .text
- SECTION[2].data - стёрта только третья секция, под именем .data
- EMUL - на точку входа эмулятора поставлен выход. Он прекратит свою работу и детект эмулятора исчезнет.
- IMPORT - весь импорт перезатёрт - если сигнатура стояла на импорте - она пропадёт.
python SF.py path_to_exe fast
Header mode
Методом исключения, если затирание секций оставляет детект - сигнатура стоит на оставшихся заголовках pe32.
Данный режим затирает каждое поле по отдельности, создавая файлы типа:
- IMAGE_DOS_HEADER-e_cblp
- IMAGE_OPTIONAL_HEADER-AddressOfEntryPoint
python SF.py path_to_exe head
Section mode
Это режим работы с конкретной секцией, она делится на N участков одинакового размера и в каждом файле стёрт свой участок.
Указывается порядковый номер секции.
Опциональный аргумент -p задаёт количество частей, по умолчанию 100.
python SF.py path_to_exe sect section_number
python SF.py path_to_exe sect section_number -p 10
Manual mode
Режим ручного управления. Заданный в параметрах участок, делится на заданное количество частей, каждая перезатирается по очереди.
Длина шагаравна размеру одной части.
Например, было:
FF FF FF FF FF FF
Стало:
00 00 FF FF FF FF
FF FF 00 00 FF FF
FF FF FF FF 00 00
Вызов:
python SF.py path_to_exe man offset size part_num
Manual2 mode
Второй ручной режим, отличается от первого длиной шага, который равен одному байту.
Например, было:
FF FF FF FF FF FF
Стало:
00 00 FF FF FF FF
FF 00 00 FF FF FF
FF FF 00 00 FF FF
Вызов:
SF.py path_to_exe man2 offset size window_size
Видяха как работать:
Также посмотрите видео в гите:GitHub - d3ranged/sf2: Antivirus Signature Search Toolkit