Listato 7.1 La Decryptor del virus CascadeSP (Stack Pointer) Anti-debug trucco - 86
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
Si noti che questo decryptor ha caratteristiche AntiDebug perché la SP (stack pointer) registro viene utilizzato come uno dei le chiavi di decodifica.
Qualcuno può spiegare perché l'utilizzo del registro SP si comporta come una funzione anti-debug? Correggetemi se sbaglio, ma non credo che avere un debugger in esecuzione cambia il layout pila ...
Grazie in anticipo
Suoni sospettosamente come i compiti ... –
Ottima domanda! –