Листинг 7.1. Декриптор каскадного вируса
lea si, Start ; position to decrypt (dynamically set)
mov sp, 0682 ; length of encrypted body (1666 bytes)
Decrypt:
xor [si],si ; decryption key/counter 1
xor [si],sp ; decryption key/counter 2
inc si ; increment one counter
dec sp ; decrement the other
jnz Decrypt ; loop until all bytes are decrypted
Start: ; Encrypted/Decrypted Virus Body
Обратите внимание, что этот расшифровщик обладает функциями антиотладки, поскольку регистр SP (указатель стека) используется в качестве одного из ключей дешифрования.
Может кто-нибудь объяснить, почему использование регистра SP действует как анти-отладочная функция?Поправьте меня, если я ошибаюсь, но я не думаю, что запуск отладчика меняет структуру стека ...
Заранее спасибо