Суббота, 18.05.2024, 21:07
Добро пожаловать! ГлавнаяРегистрацияВход
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Cтатьи [23]
}I{ack [13]
Мои статьи [1]
MASM [14]
Наш опрос
Какой материал добавить ?
Всего ответов: 10
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
 Каталог статей 
Главная » Статьи » MASM

Изменение собственного кода

Изменение собственного кода


Изменение собственного кода является очень сильным инструментом для борьбы с антивирусами и отладчиками. Изменение кода может происходить либо в уже запущенной программе,что является противодействием для отладчиков, либо в файле на диске, что сбивает с толку антивирусы. Известным приемом является так называемый "трюк с конвейером". Процессоры считывают команды из памяти не по одной, а блоками по нескольку штук. При выполнении команды перехода происходит обновление блока. Например, посмотрим на такой код :

jmp $+2

mov word ptr OFFS,9090h
OFFS:
mov AL,FFh

В AL будет помещено FFh, несмотря на то что эти инструкции, казалось бы заменяются на 9090h, то есть NOP;NOP. С появлением Pentium'а это не прокатывает. Известно, что конвейер в процессоре Pentium все-таки есть, но трюк не срабатывает.

     Гораздо шире применяется модификация файла программы. Придумано много различных способов шифрации. Это и перестановка местами частей вируса, и элементарное A:=A+B, A:=A xor B и т.д., и добавление ничего не значащих комманд (мусора), и "раскидывание" свое кода пятнами по файлу и т.п. Выбор достаточно велик, особенно если учесть, что все эти методы можно комбинировать.



Категория: MASM | Добавил: TERMINATOR (11.06.2011)
Просмотров: 783 | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024Конструктор сайтов - uCoz