Сміттєвий код
Перейти до навігації
Перейти до пошуку
Ця стаття не містить посилань на джерела. (червень 2024) |
Сміттєві команди, сміттєвий код (Superfluous Code) — машинні команди, результат виконання яких в програмі не використовується. Додавання сміттєвого коду є однією з головних технік обфускації машиного коду. Головним чином використовується крипторами та іншим зловмисним ПЗ для обходу сигнатурного детекту і пакерами для ускладення зворотньої розробки (аналіз алгоритму роботи програми).
Декриптор без сміттєвих команд:
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: