This article presents some techniques that Java malicious programs might use to prevent or delay the analysis of their own code. These protections can operate at different levels, from the distribution and encapsulation of the code to the lowest-level bytecode obfuscation. Each time, workarounds will be proposed in order to build a Java viral analysis methodology.