how can malicious code do damage