Изменение собственного кодаИзменение собственного кода является очень сильным инструментом для борьбы с антивирусами и отладчиками. Изменение кода может происходить либо в уже запущенной программе,что является противодействием для отладчиков, либо в файле на диске, что сбивает с толку антивирусы. Известным приемом является так называемый "трюк с конвейером". Процессоры считывают команды из памяти не по одной, а блоками по нескольку штук. При выполнении команды перехода происходит обновление блока. Например, посмотрим на такой код : jmp $+2 mov word ptr OFFS,9090h Гораздо шире применяется модификация файла программы. Придумано много различных способов шифрации. Это и перестановка местами частей вируса, и элементарное A:=A+B, A:=A xor B и т.д., и добавление ничего не значащих команд (мусора), и "раскидывание" свое кода пятнами по файлу и т.п. Выбор достаточно велик, особенно если учесть, что все эти методы можно комбинировать. |