The object of Software Reverse Engineering is to provide students with the understanding and practice to perform analysis on malware, deduce their and determine how malware works, and aid the analysis via disassembly. Students can use tools (IDAPro, Ollydbg) to safely perform static and dynamic malware analysis, including encoded, packed, and obfuscated ones. In particular, the course will have extensive hands-on labs/assignments on each knowledge unit.