Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Строго говоря, пакер — это программа, которая упаковывает файлы, то есть уменьшает их размер. В свою очередь, протекторы заточены под создание сложностей в реверсе программы: они могут препятствовать снятию дампа, встраивать в программы антиотладочные приемы, функции определения работы внутри виртуальных машин и в целом всячески затруднять восстановление оригинального потока управления в приложении.
Надо сказать, что использование пакеров и протекторов не всегда свидетельствует о том, что перед нами вирус или другое вредоносное ПО: навесные защиты используют вполне легитимные программы для того, чтобы защитить свои алгоритмы от любопытных глаз реверсеров или спрятать механизмы регистрации, затруднив создание кряка или кейгена.
В конце 2017 года антивирусные сети зафиксировали распространение ботнетом Necurs новой версии GlobeImposter — шифровальщика, требующего выкуп за зашифрованные им файлы. Образец этого вредоносного ПО несколько отличается от остальных, и он сам немного поможет нам его победить. Как именно, расскажу дальше, а сейчас просто загрузим семпл в дизассемблер IDA.
Все описанные в статье действия выполнялись внутри виртуальной машины, которая была изолирована от Сети. Если повторять их на основном компьютере, вирус-вымогатель GlobeImposter может заразить его и зашифровать твои данные.
Мы видим, что кода совсем мало, — IDA не разобрала львиную долю файла. Это похоже на какую-то упаковку, поэтому смотрим, что нам покажет Detect It Easy — популярный детектор пакеров и протекторов.
DIE не показывает нам ничего, параметры энтропии и секции тоже как будто в норме. Теперь загрузим наш семпл в программу pestudio, она дает много информации о структуре файла и проверяет образец на VirusTotal.
Разумеется, VirusTotal дает массу срабатываний, так как перед нами известный образец малвари. Но вирусные индикаторы не приносят нам практически никакой интересной информации, разве что сообщают о некоторых подозрительных WinAPI. В любом случае мы понимаем, что наш семпл упакован и нам его придется распаковывать. Для дальнейшей работы с образцом нужно включать виртуальную машину и загружать вирус в отладчик. Мы будем пользоваться отладчиком x64dbg, точнее его тридцатидвухбитной версией.
Итак, семпл загружен в отладчик, и перед нами некоторое количество вызовов и переходов. Переключаемся в представление кода в виде графа, нажав горячую клавишу G. Визуальное представление кода изменилось, и стало немного проще. Как это всегда бывает при распаковке, нам нужно найти OEP (Original Entry Point — оригинальная точка входа), чтобы, встав на нее, снять дамп с процесса. Если опуститься на пару экранов вниз, можно увидеть код, напоминающий работу с базовым адресом загрузки модуля. Конструкция стандартная и простая, передача параметров через стек и вызов функции.
|
|