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

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

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

Пример (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:

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