Hacking, ingeniería inversa y desarrollo de malware