Мусорные команды

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Мусорные команды — машинные команды, результаты исполнения которых в программе не используются; могут, например, вставляться при генерации процедуры расшифровщика (декриптора) полиморфного вируса для затруднения обнаружения вируса и анализа его тела.

Пример (fasm)[править | править код]

Декриптор:

   mov  esi, start_of_virus_body
   mov  ebx, decryption_key
   mov  ecx, virus_size
 decryption_loop:
   xor  [esi], ebx
   inc  esi
   loop decryption_loop

Декриптор, делающий то же самое, но содержащий «мусорные» команды:

   mov  esi, start_of_virus_body
   nop                              ; мусор
   mov  ebx, decryption_key
   add  edx, 105                    ; мусор
   mov  ecx, virus_size
   xchg ebp, edx                    ; мусор
   jc   decryption_loop             ; мусор
 decryption_loop:
   xor  [esi], ebx
   push ebx                         ; мусор
   pop  eax                         ; мусор
   inc  esi
   dec  eax                         ; мусор
   loop decryption_loop
   jcxz next                        ; мусор
 next:

См. также[править | править код]