This document discusses techniques for attacking and reversing Java applications. It begins by introducing Java archive (JAR) files, which contain compiled Java classes and can be easily extracted. It then outlines some common difficulties in reversing Java applications, such as many classes and libraries, non-clean decompilation, and obfuscated code. The document presents methods for defeating Java application signing and modifying classes. It also introduces newer attack techniques using tools like Burp and JavaSnoop that target serialized objects without requiring reversing. In the end, it claims that both traditional reversing and newer attack methodologies can enable attacking Java applications.