An overview of the endless battle between virus writers and detectors: How compilers can be used as an evasion technique