listingu 7.1 deszyfrującego wirusa CascadeSP (wskaźnik stosu) Anti-debug Sztuczka - x86
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
Zauważ, że ten deszyfrującego ma możliwości antidebug ponieważ SP (wskaźnik stosu) rejestr jest używany jako jeden z klucze odszyfrowywania.
Czy ktoś może wyjaśnić, dlaczego używanie rejestru SP działa jak funkcja anty-debugowania? Popraw mnie jeśli się mylę, ale nie sądzę, mający działa debugger zmienia układ stosu ...
góry dzięki
Brzmi podejrzanie jak zadanie domowe ... –
Świetne pytanie! –